找回密码
 立即注册

QQ登录

只需一步,快速开始

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

如果要做到从99-0的显示应该如何修改单片机程序?用的是edsim仿真

[复制链接]
跳转到指定楼层
楼主
ID:708783 发表于 2020-3-15 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG 0100H
TABLE:        DB 0C0h,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H        ;表:共阳数码管 0-9
                ORG 0000H
                LJMP MAIN
                ORG 0200H
MAIN:        MOV DPTR,#TABLE
M0:                MOV R2,#0                       
M1:                CLR P3.4
                SETB P3.3                    
                MOV A,R2                    
                MOV B,#10               
                DIV AB                              
                MOVC A,@A+DPTR      
                MOV P1,A
                LCALL DELAY                       
                MOV P1,#0FFH               
                CLR P3.3                              
                MOV A,B                              
                MOVC A,@A+DPTR
                MOV P1,A
                    LCALL DELAY                       
                    MOV P1,#0FFH               
                MOV A,R2
                CJNE A,#99,M2               
                LJMP M0
M2:                INC R2
                LJMP M1      
DELAY:        MOV R5,#10                       
                DJNZ R5,$
                RET
                END
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-3-16 01:06 | 只看该作者
按下面方法改就行了
ORG 0100H
TABLE:        DB 0C0h,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H        ;表:共阳数码管 0-9
                ORG 0000H
                LJMP MAIN
                ORG 0200H
MAIN:        MOV DPTR,#TABLE
M0:                MOV R2,#99                       
M1:                CLR P3.4
                SETB P3.3                    
                MOV A,R2                    
                MOV B,#10               
                DIV AB                              
                MOVC A,@A+DPTR      
                MOV P1,A
                LCALL DELAY                       
                MOV P1,#0FFH               
                CLR P3.3                              
                MOV A,B                              
                MOVC A,@A+DPTR
                MOV P1,A
                    LCALL DELAY                       
                    MOV P1,#0FFH               
                MOV A,R2
                CJNE A,#0,M2               
                LJMP M0
M2:             MOV A,R2
                ADD A,#0FFH
                                MOV R2,A
                LJMP M1      
DELAY:        MOV R5,#10                       
                DJNZ R5,$
                RET
                END
回复

使用道具 举报

板凳
ID:401564 发表于 2020-3-16 10:15 | 只看该作者
;99-0倒计时程序
;单片机型号:STC8a4k32s2,如果使用其它型号单片机,延时要调节一下
;功能:上电之后自动显示99-0的倒计时程序
;COM1,COM2和OUT可以在EQU中修改
;因为我手头上没有共阳的数码管,所以,这是一个共阴的程序,
;仿真的时候自己做一些修改就可以了,这是一个已经在开发板上验证过的程序,代码复制就可以运行的
;===================================================
COM1        EQU        P2.0
COM2        EQU        P2.1
OUT                EQU        P0
P2M0                        EQU                096H        ;
P2M1                        EQU                095H        ;控制P2端口输出模式的寄存器
;===================================================
                ORG 0000H
                LJMP         MAIN
                ORG         0100H
MAIN:                MOV                R7,#100
                                CLR                COM1
                                CLR                COM2
                                MOV                P2M1,#0H                ;
                                MOV                P2M0,#0FFH                ;
LOOP_0:         MOV         R2,#99
LOOP_1:                        CALL        DISPLAY
                                DEC                R2
                                MOV                A,R2
                                CJNE        A,#0,LOOP_1
                                JMP                $
;======================================                                                       
DISPLAY:        MOV         DPTR,#TABLE
                                MOV         A,R2                    
                MOV         B,#10               
                DIV         AB
                                MOVC         A,@A+DPTR      
                MOV         OUT,A
                                SETB        COM1
                LCALL         DELAY               
                CLR         COM1
                                MOV                OUT,#00H
                                MOV         A,B                              
                MOVC         A,@A+DPTR
                MOV         OUT,A
                                SETB        COM2
                CALL        DELAY
                                CLR                COM2
                                MOV                OUT,#00H
                                DJNZ         R7,DISPLAY
RET
;===================================================
;这个是10mS的延时程序,在STC下载器中可以用软件自动计算
;如果是仿真,可以相应的减少延时的时长                                       
DELAY:                MOV         R5,#156
                MOV         R6,#106      
DELAY_1:        DJNZ         R5,DELAY_1      
                DJNZ         R6,DELAY_1
RET
;===================================================
;TABLE:                DB                 00000011B,10011111B,00100101B,00001101B,10011001B,01001001B,01000001B,00011111B,00000001B,00001001B        ;表:共阳数码管 0-9
TABLE:                DB                 11111100B,01100000B,11011010B,11110010B,01100110B,10110110B,10111110B,11100000B,11111110B,11110110B        ;表:共阴数码管 0-9
END

回复

使用道具 举报

地板
ID:708783 发表于 2020-3-17 19:04 | 只看该作者
可以把数据表颠倒过来9-0
回复

使用道具 举报

5#
ID:708783 发表于 2020-3-17 19:09 | 只看该作者
csmyldl 发表于 2020-3-16 01:06
按下面方法改就行了
ORG 0100H
TABLE:        DB 0C0h,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H         ...

哇,谢谢,这个代码看懂了
回复

使用道具 举报

6#
ID:708783 发表于 2020-3-17 19:10 | 只看该作者
Y_G_G 发表于 2020-3-16 10:15
;99-0倒计时程序
;单片机型号:STC8a4k32s2,如果使用其它型号单片机,延时要调节一下
;功能:上电之后自动显 ...

哇,大佬
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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