找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2110|回复: 2
收起左侧

求大佬帮忙把2个1位共阳数码管秒表汇编语言程序改成共阴极的汇编语言程序,实在不...

[复制链接]
回帖奖励 50 黑币 回复本帖可获得 50 黑币奖励! 每人限 1 次
ID:535873 发表于 2019-5-15 00:05 | 显示全部楼层 |阅读模式
本帖最后由 yulexuan2019 于 2019-5-15 00:43 编辑

求个大佬帮忙指点一下怎么把2个一位共阳极数码管秒表汇编语言程序,改成共阴极的汇编语言程序,实在不会改,仿真图如下,功能是实现00-99秒表,K1控制开始暂停,K2控制清零,求告知怎么把程序改成共阴极的,急求!求详细更改地方!
ORG  0000H
        AJMP MAIN
        ORG  0003H
        AJMP X0_INT
        ORG  000BH
        AJMP T0_INT
        ORG  0013H
        AJMP X1_INT
MAIN:
        MOV  TMOD,#01H            ;T0定时方式1
        MOV  TH0, #(65536-50000) / 256    ;50ms@12MHz
        MOV  TL0, #(65536-50000) MOD 256;
        SETB TR0
        SETB ET0                 ;开启定时中断
        SETB EX0
        SETB EX1
        SETB EA                  ;定时器初始化结束,下面循环显示即可
        MOV  R1, #99H            ;0~99计数.
        MOV  R7, #1              ;50ms计数.
        MOV  P0, #0C0H
        MOV  P2, #0C0H
LOOP:
        SJMP LOOP
;-----------------------------------------------------------
DELAY:                           ;延时子程序.
AA4:    MOV  R4,  #0
        DJNZ R4,  $
        DJNZ R4,  $
        RET
;-----------------------------------------------------------
X0_INT:                          ;启动/停止
        CPL  F0
        RETI
;-----------------------------------------------------------
X1_INT:                          ;清零
        MOV  R1, #0
        MOV  P0, #0C0H
        MOV  P2, #0C0H
        RETI
;-----------------------------------------------------------
T0_INT:                          ;50ms中断执行一次.
        MOV TL0, #(65536-50000) MOD 256;
        MOV TH0, #(65536-50000) / 256    ;50ms@12MHz
        DJNZ R7, T0_END          ;中断不到20次.
        MOV  R7, #20
        JNB  F0, T0_END
        MOV  A,  R1
        ADD  A,  #1
        DA   A
        MOV  R1, A
        ANL  A,  #0FH
        MOV  DPTR, #TAB
        MOVC A, @A+DPTR          ;查出段码
        MOV  P2, A
        MOV  A,  R1
        SWAP A
        ANL  A,  #0FH
        MOVC A, @A+DPTR          ;查出段码
        MOV  P0, A               ;显示十位数.
T0_END:
        RETI
;-----------------------------------------------------------
TAB:
        DB   0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H, 90H
        END

急求
WH`_G0G_~VC6M7T9SE$VFWR.png
回复

使用道具 举报

ID:687418 发表于 2020-2-12 15:59 | 显示全部楼层
1、MOV P0,#0C0H和MOV P2,#0C0H的地方改成:MOV P0,#3FH和MOV P2,3FH
2、最后的TAB部分改成以下数值:
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
这样就可以了。
回复

使用道具 举报

ID:876573 发表于 2021-5-5 14:55 | 显示全部楼层
共阴极和共阳极的转换是比较简单的,可以仔细研究一下段码表
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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