找回密码
 立即注册

QQ登录

只需一步,快速开始

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

80c51时钟汇编程序

[复制链接]
跳转到指定楼层
楼主
本帖最后由 hanfenyang 于 2019-5-9 10:02 编辑

        ORG     0000H            AJMP    MAIN
        ORG     000BH
        AJMP    TIME
        ORG     0030H
     ;============
MAIN:MOV     SP,#60H
        MOV     TMOD,#01H
        MOV     IE,#82H
        SETB    TR0
        MOV     TH0,#3CH
        MOV     TL0,#0B0H
        MOV     R0,#00
        MOV     31H,#00
        MOV     32H,#00
        MOV     33H,#00
     ;================
   LOOP:LCALL   XSCX      ;显示
        LCALL   TZCX      ;按键
        AJMP    LOOP

TIME:PUSH    ACC
        PUSH    PSW
        CLR     EA

        INC     R0
        CJNE    R0,#20,OUT
        MOV     R0,#00
        INC     31H
        MOV     A,31H
        CJNE    A,#60,OUT
        MOV     31H,#00

        INC     32H
        MOV     A,32H
        CJNE    A,#60,OUT
        MOV     32H,#00
        INC     33H
        MOV     A,33H
        CJNE    A,#24,OUT
        MOV     33H,#00

   OUT: POP     PSW
        POP     ACC
        SETB    EA
        MOV     TH0,#3CH
        MOV     TL0,#0B0H
        RETI
     ;=============
XSCX:MOV     A,31H            ; 显示
        MOV     B,#10
        DIV      AB
        MOV     40H,A
        MOV     41H,B
  X1: MOV     A,41H
        LCALL   TIM2
        CLR     P2.0             ;秒个位
        LCALL   TIM1
        SETB    P2.0
  X2: MOV     A,40H
        LCALL   TIM2
        CLR     P2.1
        LCALL   TIM1
        SETB    P2.1             ;秒十位
  X3: MOV     A,#40H
        MOV     P0,A
        CLR     P2.2
        LCALL   TIM1
        SETB    P2.2             ;横杠
        MOV     A,32H
        MOV     B,#10
        DIV     AB
        MOV     42H,A
        MOV     43H,B
  X4: MOV     A,43H
        LCALL   TIM2
        CLR     P2.3             ;分个位
        LCALL   TIM1
        SETB    P2.3
  X5: MOV     A,42H
        LCALL   TIM2
        CLR     P2.4
        LCALL   TIM1             ;分十位
        SETB    P2.4
  X6: MOV     A,#40H
        MOV     P0,A
        CLR     P2.5             ;横杠
        LCALL   TIM1
        SETB    P2.5
  X7: MOV     A,33H
        MOV     B,#10
        DIV     AB
        MOV     44H,A      
        MOV     45H,B
  X8: MOV     A,45H
        LCALL   TIM2
        CLR     P2.6
        LCALL   TIM1             ; 时个位
        SETB    P2.6
  X9: MOV     A,44H
        LCALL   TIM2
        CLR     P2.7
        LCALL   TIM1             ;时十位
        SETB    P2.7
        RET
    ;============
TZCX:JNB     P3.0,W1          ;按键
        JNB     P3.1,W2
        JNB     P3.2,W3
        AJMP    OUT1        
  W1: LCALL   TIM3     
        JB      P3.0,OUT1
    Q1:LCALL   XSCX             ;秒
        JNB     P3.0,Q1
        INC     31H
        MOV     A,31H
        CJNE    A,#60,OUT1
        MOV     31H,#00
        SJMP    OUT1
  W2: LCALL   TIM3
        JB      P3.1,OUT1
    Q2:LCALL   XSCX             ;分
        JNB     P3.1,Q2
        INC     32H
        MOV     A,32H
        CJNE    A,#60,OUT1
        MOV     32H,#00
        SJMP    OUT1
  W3: LCALL   TIM3
        JB      P3.2,OUT1
     Q3:LCALL   XSCX             ;时
        JNB     P3.2,Q3
        INC     33H
        MOV     A,33H
        CJNE    A,#24,OUT1
        MOV     33H,#00
        SJMP    OUT1
OUT1:RET  
     ;=============
  TIM1:MOV     34H,#10
     Z1:MOV     35H,#250
        DJNZ    35H,$
        DJNZ    34H,Z1
        RET
TIM2:MOV     DPTR,#TAB
        MOVC    A,@A+DPTR
        MOV     P0,A
        RET
TIM3:MOV     34H,#1
     Z2:MOV     35H,#5
        DJNZ    35H,$
        DJNZ    34H,Z2
        RET   
      ;===============
       ;查表
      ;==============
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
        END

        


评分

参与人数 2黑币 +56 收起 理由
龙哥哥牛逼 + 6 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:616962 发表于 2019-11-28 23:19 | 只看该作者
我自己写的程序总是无法进入中断,作者给了我很大启发,必须点赞
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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