标题:
单片机+74ls164显示的是数码管乱码,哪出问题了?汇编
[打印本页]
作者:
shlandwind
时间:
2020-7-5 18:21
标题:
单片机+74ls164显示的是数码管乱码,哪出问题了?汇编
ORG 00H ;程序从程序存储器的0单元开始存放
AJMP MAIN ;跳转到主程序
ORG 20H ;主程序从程序存储器的30H单元开始存放
MAIN:
MOV 30H, #0 ;给30H单元赋初始值0
DISPLAY: MOV R2, #8
MOV R0,#30H ;将显示数据的存放首单元赋值给R0,以便调用循环将数值赋值给A
MOV DPTR,#TABLE ;将显示码的首地址赋值给DPTR
DISLOP:
MOV A,@R0 ;将以R0内的数30H内的数值赋值给A
MOVC A,@A+DPTR ;查表语句,将显示码赋值给A
DP2: RLC A ;带进位标志的左移操作
MOV P2.0,C ;串行输出一位段码数据
CLR P2.1 ;
SETB P2.1 ;来个上升沿以产生移位时钟, 每次来这个脉冲,移位寄存器上的数往后面移动一位,原来A=1,
DJNZ R2,DP2
JMP $
L2025: MOV R6,#28H ; 延时子程序
L2027: MOV R7,#0F9H
L2029: DJNZ R7,$
DJNZ R6,L2027
DJNZ R5,L2025
RET
TABLE:
DB 40H,79H,24H,30H,19H ;0,1,2,3,4
DB 12H,02H,78H,00H,10H ;5,6,7,8,9
END
164显示.png
(80.51 KB, 下载次数: 38)
下载附件
2020-7-5 18:18 上传
作者:
Y_G_G
时间:
2020-7-6 08:58
74ls164没有用过,就不好说
汇编还是会的,最好是不要用这个IC,没有必要
使用RLC指令之前,最好是在前面加一条CLR C指令
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1