找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1420|回复: 1
收起左侧

单片机+74ls164显示的是数码管乱码,哪出问题了?汇编

[复制链接]
ID:797217 发表于 2020-7-5 18:21 | 显示全部楼层 |阅读模式
                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
回复

使用道具 举报

ID:401564 发表于 2020-7-6 08:58 | 显示全部楼层
74ls164没有用过,就不好说
汇编还是会的,最好是不要用这个IC,没有必要
使用RLC指令之前,最好是在前面加一条CLR C指令
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表