您当前的位置:五五电子网电子知识单片机-工控设备51单片机51单片机电子钟程序 正文
51单片机电子钟程序

51单片机电子钟程序

点击数:7219 次   录入时间:03-04 11:47:25   整理:http://www.55dianzi.com   51单片机

来源: 单片机 应用与实践    作者:佚名


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  定时器T0、T1溢出周期为50MS,T0为秒计数用,T1为调整时闪烁用,
;  P3.5为调整按钮,P0口 为字符输出口,P2口为位选端,采用共阳显示管。
;  时间调整方法:按P3.5未超过1s进入省电模式,数码管不亮,内部时钟计时
;  按P3.5超过1s进入调整模式,要调整的时间会闪动,此时,按下P3.5超过0.5S,
;  进入下位调整,按下P3.5未超过0.5S,当前位加一
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;           中断入口程序              ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
              ORG 0000H        ;程序执行开始地址
              LJMP START       ;跳到标号START执行
              ORG 0003H        ;外中断0中断程序入口
              RETI             ;外中断0中断返回
              ORG 000BH        ;定时器T0中断程序入口
              LJMP INTT0       ;跳至INTTO执行
              ORG 0013H        ;外中断1中断程序入口
              RETI             ;外中断1中断返回
              ORG 001BH        ;定时器T1中断程序入口
              LJMP INTT1       ;跳至INTT1执行
              ORG 0023H        ;串行中断程序入口地址
              RETI             ;串行中断程序返回
;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;           主 程 序                 ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
            START: MOV   R0,#70H        ;清70H-7AH共11个内存单元
                   MOV   R7,#0BH        ;
       CLEARDISP:  MOV   @R0,#00H       ;
                   INC   R0             ;
                   DJNZ  R7,CLEARDISP   ;
                   MOV   20H,#00H       ;清20H(标志用)
                   MOV   7AH,#0AH       ;放入"熄灭符"数据
                   MOV   TMOD,#11H      ;设T0、T1为16位定时器
                   MOV   TL0,#0B0H      ;50MS定时初值(T0计时用)
                   MOV   TH0,#3CH       ;50MS定时初值
                   MOV   TL1,#0B0H      ;50MS定时初值(T1闪烁定时用)
                   MOV   TH1,#3CH       ;50MS定时初值
                   SETB  EA             ;总中断开放
                   SETB  ET0            ;允许T0中断
                   SETB  TR0            ;开启T0定时器
                   MOV   R4,#14H        ;1秒定时用初值(50MS×20)
           START1: LCALL DISPLAY        ;调用显示子程序
                   JNB   P3.5,SETMM1    ;P3.5口为0时转时间调整程序
                   SJMP  START1         ;P3.5口为1时跳回START1
           SETMM1: LJMP  SETMM          ;转到时间调整程序SETMM
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;           1秒计时程序              ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;T0中断服务程序
            INTT0: PUSH  ACC           ;累加器入栈保护
                   PUSH  PSW           ;状态字入栈保护
                   CLR   ET0           ;关T0中断允许
                   CLR   TR0           ;关闭定时器T0
                   MOV   A,#0B7H       ;中断响应时间同步修正

[1] [2] [3] [4] [5] [6]  下一页


本文关键字:单片机  程序  电子钟  51单片机单片机-工控设备 - 51单片机