帮忙看一下CH372测试程序

帮忙看一下CH372测试程序,读出来的不正确。昨天我用USB口供电,不知什么原因, 看见芯片冒烟了两次(焊接的时候我在芯片上面涂有松香),我立即断电了, 也可能是芯片烧了,现在就搞不懂到底是什么原因了,怎样看芯片还是不是好的? 顺便看看我的测试程序有没有问题。(P1 口接D0~D7) ;************************************************************ ;函数: void CH372_Test() ;功能:CH372测试子程序 ;说明:Check_Exist测试命令 ;************************************************************ CH372_Test: CLR CH372_WR ;WR#写引脚选通,低电平有效 MOV A,#Check_Exist LCALL CH372_WrCmd MOV A,#55H ;测试数据,如果正确,读回来应该是0AAH LCALL CH372_WrDat MOV P1,#0FFH ;P1口由输出转为输入,所以对其置#0FFH CLR CH372_RD ;RD#读引脚选通,低电平有效 NOP NOP MOV A,P1

;************************************************************ ;函数: void CH372_WrCmd(byte dat) ;功能:向CH372写一个命令 ;说明:dat是要写入CH372的命令,周期不小于4uS ;************************************************************ CH372_WrCmd: SETB A0 ;A0=1,写命令 MOV P1,A NOP NOP NOP RET

;************************************************************ ;函数: void CH372_WrDat(byte dat) ;功能:向CH372写一个数据 ;说明:dat(R5)是要写入CH372的数据,周期不小于1.5uS ;************************************************************ CH372_WrDat: CLR A0 ;A0=0,可以读写数据 MOV P1,A NOP RET

怎么没有人给看一下呢。


帮你修改了一下: ;************************************************************ ;函数: void CH372_Test() ;功能:CH372测试子程序 ;说明:Check_Exist测试命令 ;************************************************************ CH372_Test: MOV A,#Check_Exist LCALL CH372_WrCmd MOV A,#55H 测试数据,如果正确,读回来应该是0AAH LCALL CH372_WrDat MOV P1,#0FFH; 对于准双向I/O,请在此设置输出全高电平,便于输入 CLR CS; CLR RD; MOV A,P1; /*取出数据*/ SETB CS; SETB RD; MOV P1,#0FFH;

;************************************************************ ;函数: void CH372_WrCmd(byte dat) ;功能:向CH372写一个命令 ;说明:dat是要写入CH372的命令,周期不小于4uS ;************************************************************ CH372_WrCmd: CLR CH372_WR ; WR#写引脚选通,低电平有效 SETB A0; A0=1,写命令 SETB RD; 如果I/O默认电平是高电平,那么这是可选操作 CLR CS; 片选要拉低 MOV P1,A SETB CS; SETB WR; CLR A0; MOV P1,#0FFH; 对于准双向I/O,请在此设置输出全高电平 NOP NOP RET ;************************************************************ ;函数: void CH372_WrDat(byte dat) ;功能:向CH372写一个数据 ;说明:dat(R5)是要写入CH372的数据,周期不小于1.5uS ;************************************************************ CH372_WrDat: CLR CH372_WR ; WR#写引脚选通,低电平有效 CLR CS; 片选要拉低 MOV P1,A SETB CS; SETB WR; MOV P1,#0FFH; 对于准双向I/O,请在此设置输出全高电平 NOP RET


谢谢,我再好好看看。


只有登录才能回复,可以选择微信账号登录