您当前的位置:五五电子网电子知识电子制作自动控制-单片机采用实时时钟芯片DS1302+AT89C2051的红外遥控LED电子钟 正文
采用实时时钟芯片DS1302+AT89C2051的红外遥控LED电子钟

采用实时时钟芯片DS1302+AT89C2051的红外遥控LED电子钟

点击数:7484 次   录入时间:03-04 12:03:21   整理:http://www.55dianzi.com   自动控制-单片机

         MOV   B,#10
         DIV   AB
         SWAP  A
         ADD   A,B

         CJNE  A,61H,PP_OUT
         SETB  08H               ;定时到标志
         MOV   C,07H
         cpl   c
         MOV   K_ON,C

P_OUT:   POP   PSW
         POP   ACC
         RETI
PP_OUT:  SETB  K_ON
         CLR   08H
         POP   PSW
         POP   ACC
         RETI
;************************有接收到遥控器信号*******
S_INT:CLR EA
      PUSH   ACC
      PUSH   PSW
      PUSH   DPH
      PUSH   DPL
      PUSH   02H
      PUSH   03H
      MOV    R6,#10D   ;
SB:   ACALL  YS1
      JB     P3.2,EXIT
      DJNZ   R6, SB
      JNB    P3.2, $   ;
      ACALL  YS2       ;
      JB     P3.2,EXIT
      MOV    R1,#1AH   ;
      MOV    R2,#4D
PP:   MOV    R3,#8D
JJJJ: JNB    P3.2,$
      ACALL  YS1
      MOV    C,P3.2
      JNC    UUU
      JB     P3.2,$
UUU:  MOV    A,@R1
      RRC    A
      MOV    @R1,A
      DJNZ   R3,JJJJ
      INC    R1
      DJNZ   R2,PP
;-------------------------------------
      MOV  A,1AH      ;
      XRL  A,#40h     ;判断1AH的值是否等于遥控器低8位地址(40h)
      JNZ  EXIT       ;
      MOV  A,1bH
      XRL  A,#0bfh    ;再判断高8位地址是否正确(0bfh)
      JNZ  EXIT
      MOV  A,1CH
      CPL  A
      XRL  A,1DH      ;将1CH的值取反后和1DH比较 不同则无效丢弃(核对数据是否准确)
      JNZ  EXIT
      ACALL DO        ;相应按键的处理
EXIT: SETB EA
      POP  03H
      POP  02H
      POP  DPL
      POP  DPH
      POP  PSW
      POP  ACC
      RETI
;--------------------delay-----------------------
YS1:  MOV    70H,#16D   ;延时1
D1:   MOV    71H,#21D
      DJNZ   71H,$
      DJNZ   70H,D1
      RET
YS2:  MOV    70H,#09D   ;延时2
D2:   MOV    71H,#220D
      DJNZ   71H,$
      DJNZ   70H,D2
      RET
;---------------------------------------------------------
TAB:   DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H      ;TAB1  LED数码管显示表 TAB遥控器键值表(未用)
;TAB1:  DB 3FH,11H,5EH,5BH,71H,6BH,6FH,19H,7FH,7bH,77H,7CH,39H,5EH,79H,71H
tab1:  DB  0C0H,0F9H,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0a7h,0a1h,86h,8EH
TAB2:  DB  0c0H,0f9H,64H,70H,59H,52H,42H  ;倒装LED段码表
;0CH 为设置标志,0DH为全显示标志,0EH为显示设置小时标志,0FH为显示设置分标志
;10H 为显示设置闹时标志,11H为显示设置闹分标志
;增加闹时静音功能
;mute-10h,timer-0eh,left-46h,right-47h,up-19h,down-1dh

DO:     MOV     A,1CH
        CJNE    A,#TIMERT,REDO  ;代码不是设置/退出键
        JNB     0CH,SET1        ;是,则进入
        CLR     0CH             ;是,已经进入,则退出
        SETB    0DH             ;恢复正常显示
        CLR     0EH
        CLR     0FH
        CLR     10H
        CLR     11H
        RET

SET1:   SETB    0CH
        SETB    0EH
        CLR     0DH
        CLR     0FH
        CLR     10H
        CLR     11H
        RET

REDO:   CJNE    A,#MUTEM,REDO1  ;不是设置键的处理REDO1,2,3,4...
        LJMP    MUTE            ;MUTE?
REDO1:  CJNE    A,#D_OFF,DO_SET2
        LJMP    DIS_OFF         ;关闭显示
DO_SET2:JB      0CH,SET2        ;时间设置的处理
        RET

SET2:   CJNE    A,#UPU,SET2A
        LJMP    INC1            ;+加(^)
SET2A:  CJNE    A,#DOWND,SET2B
        LJMP    DEC2            ;- 减

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


本文关键字:电子钟  自动控制-单片机电子制作 - 自动控制-单片机

《采用实时时钟芯片DS1302+AT89C2051的红外遥控LED电子钟》相关文章>>>