找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机数码管99循环仿真和汇编语言源程序

[复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
  1. SECOND        EQU                30H
  2. TCOUNT        EQU                31H
  3. KCOUNT        EQU                32H
  4. KEY                BIT                P3.7
  5.                 ORG                00H
  6.                 SJMP        START
  7.                 ORG                0BH
  8.                 LJMP        INT_T0
  9. START:        MOV                DPTR,#TABLE
  10.                 MOV                P0,#3FH
  11.                 MOV                P2,#3FH                   ;开始,数码管显示"00"
  12.                 MOV                SECOND,#00H
  13.                 MOV                TCOUNT,#00H
  14.                 MOV                KCOUNT,#00H
  15.                 MOV                TMOD,#01H           ;定时器0工作在方式1
  16.                 MOV                TL0,#(65536-50000)/256
  17.                 MOV                TH0,#(65536-50000) MOD        256
  18.         K1:        JB                KEY,[        DISCUZ_CODE_1        ]nbsp;                  ;等待按键
  19.                 LCALL        DELAY
  20.                 JB                KEY,$
  21.                 MOV                A,KCOUNT
  22.                 CJNE        A,#00H,K2           ;判断按键次数
  23.                 SETB        TR0                           ;第1次按键,启动定时器
  24.                 MOV                IE,#82H
  25.                 JNB                KEY,$
  26.                 INC                KCOUNT                   ;按键抬起,按键次数值加1
  27.                 LJMP        K1
  28.         K2:        CJNE        A,#01H,K3
  29.                 CLR                TR0                           ;第2次按键,关闭定时器
  30.                 MOV                IE,#00H
  31.                 JNB                KEY,$
  32.                 INC                KCOUNT                   ;按键抬起,按键次数值加1
  33.                 LJMP        K1
  34.         K3:        CJNE        A,#02H,K1           ;第3次按键,返回初始状态
  35.                 JNB                KEY,$
  36.                 LJMP        START
  37. INT_T0:        MOV         TH0,#(65536-50000)/256
  38.                 MOV         TL0,#(65536-50000) MOD 256
  39.                 INC                TCOUNT
  40.                 MOV                A,TCOUNT
  41.                 CJNE        A,#2,I2                   ;是否计够0.1秒
  42.                 MOV                TCOUNT,#00H        
  43.                 INC                SECOND
  44.                 MOV                A,SECOND
  45.                 CJNE        A,#100,I1           ;是否计够10秒
  46.                 MOV                SECOND,#00H
  47.         I1:        MOV                A,SECOND
  48.                 MOV                B,#10
  49.                 DIV                AB
  50.                 MOVC        A,@A+DPTR           ;显示时间
  51.                 MOV                P0,A
  52.                 MOV                A,B
  53.                 MOVC        A,@A+DPTR
  54.                 MOV                P2,A
  55.         I2:        RETI                                
  56. TABLE:         DB                 3FH,06H,5BH,4FH,66H
  57.                 DB                6DH,7DH,07H,7FH,6FH
  58. DELAY:        MOV                R6,#20
  59. D1:                MOV                R7,#250
  60.                 DJNZ        R7,$
  61.                 DJNZ        R6,D1
  62.                 RET
  63.                 END        
复制代码

所有资料51hei提供下载:
39 99s Clock.rar (26.18 KB, 下载次数: 13)


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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