找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8690|回复: 0
打印 上一主题 下一主题
收起左侧

关于7SEG-BCD的问题

[复制链接]
跳转到指定楼层
楼主
简易计分器 ,proteus仿真数码管用的是7SEG-BCD,实物中没有这个现在想换成7SEG-MPX2,但是不知该如何修改程序,希望有大神帮忙看看








ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:  MOV 50H, #00H ;BCD分值存储单元
       MOV 51H, #00H ;HEX分值存储单元(减1操作处理单元)
       MOV P3, #00H ;显示初始状态清零
LOOP:  MOV P2, #0FFH
       MOV A, P2 ;   
       JNB ACC.3, ADD3
       JNB ACC.2, ADD2 ;判断是什么操作
       JNB ACC.1, ADD1 ;
       JNB ACC.0, SUBB1         








       SJMP LOOP
       ORG 0050H
ADD3:  MOV A, 51H
       ADD A, #03H ;为减1做准备
       MOV 51H, A
       MOV A, 50H ;加2程序处理
       ADD A, #03H
       DA A
       MOV P3, A
       MOV 50H, A
       LCALL DELAY
       SJMP LOOP

ADD2:  MOV A, 51H
       ADD A, #02H ;为减1做准备
       MOV 51H, A
       MOV A, 50H ;加2程序处理
       ADD A, #02H
       DA A
       MOV P3, A
       MOV 50H, A
       LCALL DELAY
       SJMP LOOP   ;加1分分支程序
ADD1:  MOV A, 51H
       ADD A, #01H ;为减1做准备
       MOV 51H, A
       MOV A, 50H ;加1程序处理
       ADD A, #01H
       DA A
       MOV P3, A
       MOV 50H, A
       LCALL DELAY
       SJMP LOOP
SUBB1: MOV A, 51H
       CJNE A, #00H, DEC1 ;如果减到0,将不再减1
       AJMP LOOP
DEC1:  DEC A
       MOV 51H, A
       MOV B, #10
       DIV AB
       SWAP A
       ORL A, B
       MOV P3, A

       MOV 50H, A
       LCALL DELAY
       AJMP LOOP
       ORG 0200H
       DELAY:  MOV  R5, #10 ;0.2S延时
D1:    MOV  R6, #40
D2:    MOV  R7, #248
       DJNZ  R7, $
       DJNZ  R6, D2
       DJNZ  R5, D1
       RET
       END

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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