51单片机开发中的小问题

1. 问题:ACC 和A 有什么区别?例如:ADD A,ACC

问题分析处理:在这里A和ACC值得都是累加器ACC(E0H),只不过A为寄存器寻址,而ACC为直接寻址代表E0H,因为汇编指令里没有ADD A,A;而有ADD A,dir,所以就会有MOV A,ACC !于2008年9月28日星期日解决

寄存器寻址与直接寻址的区别:

直接寻址是操作数所在的字节地址(占用一个字节)出现在指令码中,寄存器寻址是寄存器编码出现在指令码中。由于使用寄存器寻址的寄存器少,编码位数少(少于三位二进制数),通常操作码和寄存器编码合用一个字节,因此寄存器寻址的指令机器码短,执行快。通用寄存器包括:A,B,DPTR,R0~R7。其中B寄存器仅在乘,除法指令中为寄存器寻址,其他指令中为直接寻址。MOV A,B;MOV B,A;ADD A,B;中B均为直接寻址。

除上面所指出的几个寄存器外,其他特殊功能寄存器一律为直接寻址。

 

2. 问题:公司新买的MCU AT89s52 在用TOP851 烧录过程中总是出现问题,描述如下:

(1)检查空为No Blank ,无法写入代码,读取后缓存中有代码存在

(2)检查空为 Blank,烧写完后,Verify 出错,再次擦除,在检查空为 No Blank ,无法写入代码,读取后缓存中有代码存在。

问题分析:查资料《8051单片机彻底研究基础篇》人民邮电出版,林申茂编著 P301

刻录中出现任何问题,只有以下两种情况:

(1)非空白芯片(The chip is NOT blank)代表刻录器的刻录电压不足,或是芯片损毁

(2)数据查证错误(Verify FAIL)代表芯片本身是锁码芯片,在Erase过程中因为刻录电压不足,导致无法清除锁码数据,到了数据查证时便发生错误信息;另一个可能就是损毁的芯片本身就是空白的,但是损毁的地址无法将数据写入,造成查证错误。

     分析处理:经尝试择日在烧录即发现有的IC又可以写入,再用ISP方式写入代码,剩下的所谓不良IC全部写入成功,说明异常原因为我的TOP851烧录器擦除电压不够以及烧录电压不够造成部分地址无法写入,和擦除不干净。之后用ISP方式即可解决此问题!



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值