断码地址为8004H,位码地址为8002H,只要让一个数码管显示即可程序中输入的数字即可:
ORG 0
MOV R0,#0
LOOP:MOV DPTR,#8002H
MOV A,#1
MOVX @DPTR,A
MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#8004H
MOVX @DPTR,A
LJMP LOOP
TAB:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
程序很简单,却是完整的。
希望有大侠帮忙解释下,这程序指令的功能,最好每个指令都解释下(最后的表格我看懂了)。它数据传来传去,怎么的就将RO里的数字,显示在LED数码管上了?
看了4个解释,总算是有点头绪了。好在4个解释虽有不足,但都互补,才看得懂了些。
谢谢你们了。
根据你们说的,我再做一道习题,你们看看哈。
SER:MOV DPTR,#TAB
MOV A,R7
MOVC A,@A+DPTR
MOV R7,A
RET
TAB:DB 21,12,64,39,66,85,56,76,62,18
(1)请写出本程序的功能。
(2)当(R7)=3,程序结束时,R7中的数值是多少?
答:(1)程序是将R7中指定的偏移地址,以TAB为首地址,查表后送回到R7中。
(2)R7=39
不知道做得可对?
有谁在线指导俺下呗?
俺QQ616121483
单片机查表指令相关问题
MOVC A,@A+DPTR:A是偏移量,加上首地址DPTR后就是你想要的了 比如说10个人排成一对 DPTR就是第一个人战的地方 再往后数几个就可以找到相应的人了
求单片机大神解释这个查表程序!!
这个查表程序很好理解,MOVC A,@A+DPTR和MOVC A,@A+PC的区别就在于,前者DPTR是表的首地址,比较好理解;后者PC是当前行的地址(PC值)。这里当前行与表首地址之间隔开了一个RET,占用一个地址空间,所以A要加1.
单片机50个字节的无序表查找一个关键字,程序如下,有些问题不懂,求帮忙...
就是 读取数据表 第一个字节数据,需要 A = #14H 再执行 MOVC A,@A+PC 指令。
MSC-51单片机指令中的查表问题
1、如果数据区的长度不超过256个字节(累加器A的容量之内),且数据是单字节的,则不需要另外处理;2、因为如果数据区的长度不超过256个字节,但数据是双字节的,需要将偏移量乘2,第一次读出一个字节保存,将地址加1后再读第二字节(类推:一个数据是n字节,则偏移量乘n,每次读出一个字节保存,...
单片机的矩阵键盘检测,扫描程序已经写出来了,怎么显示呢
MOV A,R1 ;R1中是要显示的十进制 MOV DPTR,#TABEL ;使DPTR 指向TABEL(TABEL 中 是10进制对应的16进制表格)MOVC A,@A+DPTR;查表 MOV P2,A ;此时A中即是 16进制 ;---LED的 共阴码表--- TABEL:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0123456789 DB 77H,7CH...
单片机 用proteus仿真 “电子秒表显示器”时无法复位,就是图中红色圈...
这个可能是你程序的问题 不防检查检查程序 看中断对不 在一个复位按键完全可以用最小系统里的复位 可以节省一个按键
单片机查表程序编写 急!
;查表法求平方的程序如下。SQRT:MOV R0, #30H MOV R1, #40H MOV R2, #10 LOOP:MOV A, @R0 ADD A, #S_TAB - ($ + 4)MOVC A, @A + PC MOV @R1, A INC R0 INC R1 DJNZ R2, LOOP RET S_TAB:DB 1, 4, 9, 16, 25, 36, ...
51单片机的查表法的原理是什么?
查表法,就是将你的一些固定的数据存储到程序存储器中,当你的程序中需要这些数据时,movc指令读取这些数据。举例假设你的系统要用数码管显示0-9这10个数字,而假设这10个数字各自的断码(点亮时io口相应的电平)分别为 0xC0, \/\/"0"0xF9, \/\/"1"0xA4, \/\/"2"0xB0, \/\/"3"0x99, ...
51单片机一直显示真在检查单片机,是程序问题吗?不是的话是什么问题,型...
检查:1.单片机最小系统供电是否正常。2.检查晶振连接是否正常,可以用万用表测量、正常情况下其他引脚都是高电平而晶振引脚约为1\/2Vcc。3.检查串口连接线缆是否正常,RXD、TXD是否错接,USB转串口下载线要求交叉连接。4.spi下载软件中选择使用外部晶振,核实串口号是否匹配。5.最小系统断电状态点击下载...
c51单片机 做表不准
①那得看做什么表,如果是 秒表,精度达到0.001s,那有些偏差可以理解。(理解原因见后)②如果是做时钟,在几天后,出现 1~5秒的误差,也可以理解。(理解原因也见后)③如果是做时钟,1天内出现几秒 甚至 十几秒的误差,那就是程序问题了。这个不能理解。理解原因:晶体本身有参数差异,也会...