AT89C51时钟程序
;; AT89C51时钟程序        ;;
          DISPFIRST  EQU  30H    ;显示首址存放单元
          BELL      EQU  P1.7    ;小喇叭
          CONBS      EQU  2FH    ;存放报时次数;
;;          中断入口程序              ;;;
              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            ;关于田园风光的古诗串行中断程序返回
;; 以下程序开始    ;整点报时用
QQQQ          :  LCALL DI    ;发音200ms
                  LCALL NO_DI  ;静音200ms
                  LCALL DI
                  CLR  08H          ;清整点报时标志
                  AJMP  START1
;;          主程序开始                ;;
          START:  MOV  R0,#00H          ;00H-7FH内存单元
                  MOV  R7,#80H          ;
      CLEARDISP:  MOV  @R0,#00H          ;
                  INC  R0            ;
                  DJNZ  R7,CLEARDISP  ;
                  MOV  20H,#00H        ;20H(标志用)
                  MOV  7AH,#0AH      ;放入"熄灭符"数据
                  MOV      TMOD,#11H      ;T0T116位定时器
                  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
                  MOV  DISPFIRST,#70H ;显示单元为70-75H
;以下主程序循环
          START1: LCALL DISPLAY        ;调用显示子程序
                  JNB      P1.0,SETMM1    ;P1.0口为0时转时间调整程序
                  JNB  P1.1,FUNSS    ;秒表功能,P1.1按键调时时作减1加能
                  JNB  P1.2,FUNPT    ;秒表STOP,PUSE,CLR
                  JNB  P1.3,TSFUN    ;定时闹铃设定
                  JB  08H,  QQQQ
                  AJMP  START1        ;P1.0口为1时跳回START1
;
中国军犬          FUNPT:  LJMP  FUNPTT
;以下闹铃时间设定程序,P1.3进入设定
            TSFUN: LCALL DS20MS
                  JB    P1.3,START1    ;
        WAIT113:  JNB  P1.3,WAIT113    ;等待键释放
                  JB  05H,CLOSESP      ;闹铃已开的话,关闹铃
                  MOV  DISPFIRST,#50H  ;进入闹铃设定程序,显示50-55H闹钟定时单元
                  MOV  50H,#0CH        ;"-"  闹铃设定时显示格式00:00: -
                  MOV  51H,#0AH        ;""
;
        DSWAIT:  SETB  EA
                  LCALL DISPLAY
                  JNB  P1.2,DSFINC      ;分加1
                  JNB  P1.3,DSSFU        ;进入时调整
                  AJMP DSWAIT
;
          CLOSESP: CLR  05H              ;关闹铃标志
                  CLR  BELL
                  AJMP  START1
          DSSFU:  LCALL DS20MS        ;消抖
                  JB  P1.3, DSWAIT
                  LJMP  DSSFUNN        ;进入时调整
;
          SETMM1:      LJMP SETMM    ;转到时间调整程序SETMM
;
        DSFINC :  LCALL DS20MS        ;消抖
                  JB  P1.2, DSWAIT
        DSWAIT12: LCALL DISPLAY        ;等键 释放
                  JNB  P1.2, DSWAIT12
                  CLR  EA
                  MOV  R0,#53H            ;
                  LCALL ADD1              ;闹铃设定分加1
蔡国权简介                  MOV      A,R3              ;分数据放入A
                  CLR  C                ;台版原来是美男演员表清进位标志
                  CJNE  A,#60H,ADDHH22      ;
            ADDHH22: JC    DSWAIT            ;小于60分时返回
                  ACALL CLR0              ;大于或等于60分时分计时单元清0
                  AJMP  DSWAIT
        DSDEC :  LCALL DS20MS        ;消抖
                  JB  P1.0, DSWAIT
        DSWAITEE: LCALL DISPLAY        ;等键 释放
                  JNB  P1.0, DSWAITEE液晶电视上网
                  CLR  EA
                  MOV  R0,#53H            ;
                  LJMP DSWAIT
;以下秒表功能/时钟转换程序 ;按下P1.1 可进行功能转换
            FUNSS: LCALL DS20MS
                  JB    P1.1,START11
        WAIT11:  JNB  P1.1,WAIT11
                  CPL  03H
                  JNB  03H,TIMFUN
                  MOV  DISPFIRST,#60H  ;显示秒表数据单元
                  MOV  60H,#00H
                  MOV  61H,#00H

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。