关于单片机DA指令
我没有看到给R3自动加1的程序
在MOV A, R3后加入
ADD A, #01H
DA A
MOV R3, A
两个功能
1. 自动加1
2. 将十六位转换为10进制,比如,09H转换一下,还是09
0AH转换一下,就成了10了,这主要就是为了显示,
但你的是发光二极管显示,并不是数码管显示的,它显示出来的肯定是乱码,
如果你不转换,也就是不加DA的话,那么二极管显示的就是2进制数据,这样还可以看出来到底按了多少次,但搞成这个样子,就得重新算了,
显示的数据是两个8进制,高四位显示十位,低四位显示个位,是十进制数,得仔细看了
DPTR是一个数据指针,PC是程序计数器指令MOVC
A,@A+DPTR的意思是:将DPTR的值加上ACC的值,并将该结果所指的程序存储器地址的数据送入ACC。该指令和当前的PC(程序计数器)值无关,例:若执行前,DPTR=0300H(该值是自己赋予的),ACC=18H,[0318H]=0ABH,则执行后,ACC=0ABH,DPTR不变,MOVC
A,@A+PC的意思是:将PC(程序计数器)的值加上ACC的值,并将该结果所指的程序存储器地址的数据送入ACC,该指令和DPTR无关,PC(程序计数器)值则因为该条指令的位置不同而不同,故该条指令在程序的不同位置,其执行结果是不同的。其余的同上一条指令
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!