公司要求做个高速信号采集设备,打算用CH732进行USB数据传输。预实验用AT89C52和CH732做个最简单的电路,见附件。
电路搭建好后,在Keil中编写程序如下:
#include #include
//CH37X的命令 #define GET_IC_VER 0x01 //获取芯片及固件版本
//命令使能地址 1 命令 0 数据 #define A0_CMD 0x01 #define A0_DATA 0x00
//数据地址 #define DATA_ADD P1
//命令端口 sbit A0 = P3^3;
void main (void){ unsigned char val;
//发送检查版本号命令 DATA_ADD = GET_IC_VER; A0 = A0_CMD; RD = 0x01; WR = 0x00;
//读取数据 A0 = A0_DATA; WR = 0x01; RD = 0x00; val = DATA_ADD & 0x3F;
while(1){ } }
用仿真器跟踪,发现每次读取P1都是0x00,不知道原因,换了其他命令(如CHECK_EXIST)也是如此。
请大侠们帮我看看,十分感谢!