wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7765|回復(fù): 2
收起左側(cè)

LED數(shù)碼管顯示的電子表制作

[復(fù)制鏈接]
ID:105323 發(fā)表于 2016-3-4 01:02 | 顯示全部樓層 |閱讀模式
一、硬件電路:

硬件電路原理圖如下,這是我15年前設(shè)計的一個LED數(shù)碼管電子表,它是由一片51單片機(jī),3片ULN2803,一個7805集成穩(wěn)壓器、SD2001A時鐘模塊及8只9014npn三極管和8只8550pnp三極管,紅外線接收頭組成,51單片機(jī)完成讀寫時鐘,接收紅外遙控指令,驅(qū)動數(shù)碼管顯示等任務(wù)。由于要驅(qū)動2.3寸的數(shù)碼管,單片機(jī)的驅(qū)動能力不足,采用了NPN,PNP三極管組成的位驅(qū)動,用ULN2803組成段驅(qū)動,可以驅(qū)動24個數(shù)碼管,可以顯示日、月、年、星期、安全生產(chǎn)天數(shù)等。

二、51匯編程序
;電子表程序(源文件dzbc512.asm)
       YEAR    EQU    20H            ;
       MONTH  EQU    21H            ;
       DAY     EQU    22H            ;
       WEEK   EQU    23H            ;星期
       HOUR   EQU    24H            ;小時3031
       MINUTE EQU    25H            ;分鐘3233
       SECOND EQU    26H            ;3435
       FLAG    EQU    27H            ;通用標(biāo)志寄存器
                                       ;BIT0=1, ACK ERR
                                       ;BIT0=0,ACK OK
                                       ;BIT1=1,TEST MODE
                                       ;BIT1=0,NORMAL MODE
       TIMETEMP       EQU    28H    ;時間數(shù)據(jù)緩存器
       TIMETX         EQU    52H    ;時間數(shù)據(jù)發(fā)送寄存器
       TIMERX         EQU    51H    ;時間數(shù)據(jù)接收寄存器
       SDA            EQU    0b1h   ;IICSDA口線
       SCL            EQU    0b0h   ;IICSCL口線

            ORG 0000
            AJMP  L0
            ORG   000BH
         AJMP  CT
            ORG   001BH
            RETI
            ORG 0023H
            AJMP SI
            ORG 0030H
   L0:        ;初始化程序
       MOV    SP,#60H                ;定義堆棧
       CLR    A                      ;開始初始化各寄存器
       MOV    IE,A                   ;關(guān)中斷
       MOV    P1,A
       MOV    P2,A                   ;PORT1,PORT20
       MOV    TMOD,#91H              ;定時器016位定時器,
        MOV 8CH, #3CH
         MOV 8AH, #0B0H
       CLR    FLAG
       LCALL  LONGDELAY              ;延時300ms
       LCALL  LONGDELAY              ;延時300ms
       LCALL  TIMESTATUS_INT12       ;24小時制
;-----------------------------------------------------------------
GET_TIME:
       CLR    ET0                       ;關(guān)閉AT89C51TIME0中斷
       LCALL  READ_TIME              ;SD2000內(nèi)的實(shí)時時鐘數(shù)據(jù)
       JNB    SECOND.7,NO_TESTMODE
       LCALL  TIME_TESTMODE          ;測試模式結(jié)束
;      CLR    SECOND.7               ;秒的最高位屏蔽為0
NO_TESTMODE:
     MOV R2,#3         ;讀預(yù)置數(shù)據(jù)時分秒到30-35H內(nèi)存單元
      MOV R0, #30H
      MOV R1,#24H
L1: MOV     A,@R1
      SWAP A
      ANL      A,#0FH
      MOV @R0,A
      INC R0
      MOV     A,@R1
      ANL      A,#0FH
      MOV @R0,A
      INC R1
      INC R0
      DJNZ R2,L1

      MOV     A,WEEK      ;星期數(shù)據(jù)
      ANL      A,#0FH
      MOV 37H,A

     MOV R2,#3         ;讀預(yù)置數(shù)據(jù)年月日20H,21H,22H--42,43,44,45,46,47
      MOV R0, #42H
      MOV R1,#20H
L2: MOV     A,@R1
      SWAP A
      ANL      A,#0FH
      MOV @R0,A
      INC R0
      MOV     A,@R1
      ANL      A,#0FH
      MOV @R0,A
      INC R1
      INC R0
      DJNZ R2,L2
      MOV     A,#2             ;2003年表示成0003所以把2加上
      MOV 40H,A
      MOV R3, #30H
     CLRA
     MOV R7,A
      MOV 29H, A
     MOV 2AH,A
     MOV 2BH,A
      MOV 2CH, A
      MOV 2DH, A
    MOV 2EH, A
      MOV 2FH,A
      MOV 50H,#01H
   SETB   EA                     ;AT89C51中斷
   SETB   ET0                    ;允許AT89C51TIME0中斷
   SETB   TR0                    ;T0開始計數(shù)

   DIS:MOV   DPTR,#0700H              ;顯示子程序
         MOV   R2, #01H
         MOV   R1, #30H
  DIS1:MOV   A, @R1
            MOVC  A,@A+DPTR
;     CPL A
            MOV   B,A
           MOV   P0,A
          MOV   A, R1
          MOV   R4, A
          MOV   A, #08H
           ADD   A, R1
          MOV   R1, A
          MOV   A, @R1
          MOVC  A, @A+DPTR
;     CPL A
            MOV   B,A
          MOV   P2,A
          MOV   A, #08H
           ADD   A, R1
          MOV   R1, A
            MOV   A, @R1
          MOVC  A, @A+DPTR
;     CPL A
            MOV   B,A
           MOV   P3,A
         MOV   A, R4
          MOV   R1, A
           MOV   A, R2
           MOV   P1, A
            ACALL DELAY
           AJMP  JPCL

AN:     MOV   A, #01H;置閃動標(biāo)志
     MOV   R7, A
      MOV   A,2CH   ;
     XRL   A,#0AH   ;鍵值=A”顯示地址加1
     JZ   JIA
     MOV   A, 2CH
     XRL   A, #0BH;鍵值=B”顯示地址減1
     JZ   JIAN1
     MOV   A, 2CH
     XRL   A, #0CH;鍵值=C”復(fù)位
     JNZ   BJ
      AJMP  L0
BJ:MOV   A, 2CH
      AJMP  J5
SS: MOV   A, R3
     MOV   R0, A
     MOV   A, b;2CH
      MOV   @R0, A
     CLR   A
     MOV   R7, A
     AJMP  J6;SHAN

JIA:MOV   A, R3
     XRL   A, #47H
     JZ   QCHU
;   MOV   A,#01H   ;置閃動標(biāo)志
;   MOV   R7, A
      MOV A,50H
      JNZ SHAN
      ACALL JIA1
     INC   R3
     MOV 50H,#01H
QCHU:  MOV   A, R3
     MOV   R0, A
     MOV   2CH, @R0
     AJMP  SHAN
JIAN1:MOV  A, R3
     XRL   A, #30H
     JZ   QCHU1
;   MOV   A, #01H
;   MOV   R7, A
      MOV A,50H
      JNZ SHAN
      ACALL JIAN
      DEC   R3
      MOV 50H,#01H
QCHU1:MOV  A, R3
     MOV   R0, A
      MOV   2CH, @R0

SHAN: MOV   A,R7            ;字符閃動用R7識別
      SETB  TR0
     JNZ   G
     AJMP  J5
  G:    MOV   A, 2FH
     CJNE  A, #05H, J4
     MOV   A, R3
     MOV   R0, A
     MOV   A,#11H         ;熄滅顯示
     MOV   @R0, A
     AJMP  J5
J4:     MOV   A, R3
     MOV   R0, A
     MOV   A, 2CH
     MOV   @R0,A         ;顯示字符
J5:     MOV   A,R2            ;移位
     RL   A
     MOV   R2, A
     INC   R1
    MOV   A, R2
     JB   0E0H, J6
     AJMP  DIS1
J6: AJMP DIS
      ORG0200H                ;定時器子程序
CT: MOV   8CH, #3CH
     MOV   8AH, #0BEH
     PUSH  0D0H
     PUSH  0E0H
     PUSH  82H
     PUSH  83H
     MOV   A, 2FH
      INC   A
     MOV   2FH, A
     CJNE  A, #0AH, DONE;1/10
     MOV   2FH, #00H
     MOV  A,36H           ;1
     CPL   A
     MOV   36H,A
     MOV   A,35H          ;1
     INC   A
     MOV   35H, A
     CJNE  A, #0AH, DONE
     MOV   35H, #00H
     MOV   A,34H          ;10
     INC   A
     MOV   34H, A
     CJNE  A, #06H, done
     MOV   34H, #00H
     MOV   A,33H          ;
     INC   A
     MOV   33H, A
     CJNE  A, #0AH,DONE
     MOV   33H, #00H
     MOV   A,32H          ;十分
     INC   A
      MOV   32H, A
     CJNE  A, #06H, DONE
     MOV   32H, #00H
     MOV   R0, #31H;
     ACALL GIA1
     MOV   R0, #30H;10
     MOV   A, @R0
     INC   R0
     SWAP  A
     ADD   A, @R0
     MOV   2DH, A
     CJNE  A, #24H, DONE
     CLR   A
     MOV   30H, A
     MOV   31H, A
QC:;      CLR   P3.0
DONE: NOP
     POP   83H
     POP   82H
     POP   0E0H
     POP   0D0H
     RETI

  X:  MOV   R0, #3BH
     ACALL GIA1
     MOV   R0, #3FH
     ACALL GIA1
       MOV   R0,#37H     ;
       MOV   A, @R0
       INC   A
       MOV   @R0, A
       CJNE  A, #09H, XQ
       MOV   A, #01H
       MOV   @R0, A
   XQ: CJNE  A, #07H, XQ1
       INC   A
       MOV   @R0, A
   XQ1: nop
   RHB:MOV   R0, #47H
       ACALL GIA1
       MOV   R0, #46H
       MOV   A, @R0
       INC   R0
       SWAP  A
       ADD   A, @R0
       MOV   2BH, A
   YHB:MOV   R0, #44H
       MOV   A, @R0
       INC   R0
       SWAP  A
       ADD   A, @R0
       MOV   2AH, A
       CJNE  A, #02H, XY
   NHB:MOV   R0,#42H
       MOV   A, @R0
       INC   R0
       SWAP  A
       ADD   A, @R0
       MOV   0F0H, #04H
       DIV   AB
       MOV   A, 0F0H
       JNZ   PY
       MOV   A, 2BH
       CJNE  A, #30H, FH
       AJMP  QLFH
   XY: MOV   A, 2AH
       CJNE  A, #04H, XY1
       AJMP  01E4H
   XY1:CJNE  A, #06H, XY2
       AJMP  XY4
   XY2:CJNE  A, #09H, XY3
       AJMP  XY4
   XY3:CJNE  A, #11H, DY
   XY4:MOV   A, 2BH
       CJNE  A, #31H, FH
       AJMP  QLFH
   DY: MOV   A, 2BH
       CJNE  A, #32H, FH
       AJMP  QLFH
   PY: MOV   A, 2BH
       CJNE  A, #29H, FH
  QLFH:LJMP  R
       NOP
       NOP
       NOP
   FH: LJMP  SXI

JIAN:    MOV A,R3
      DEC R3
      AJMP FHJ
JIAN2:   MOV A,R3
      XRL A,#44H
      JNZ FHJ
      DEC R3
      DEC R3
      DEC R3
      DEC R3
FHJ:      RET
JIA1:     MOV A,R3
      INC R3
      AJMP JIA3
JIA2:     MOV A,R3
      XRL A,#3FH
      JNZ JIA3
      INC R3
      INC R3
      INC R3
      INC R3
JIA3:     RET
       ORG 0330H
  R:  MOV   A, #01H
       MOV   47H, A
       MOV   A, #00H
       MOV   46H, A
       MOV   R0, #45H
       ACALL GIA1
       MOV   A, 2AH
       CJNE  A, #12H, FH1
       MOV   A, #01H
       MOV   45H, A
       MOV   A, #00H
       MOV   44H, A
   NJ1:MOV   A, 2AH
       CJNE  A, #12H, FH1
       MOV   A, 2BH
       CJNE  A, #32H, FH1
       MOV  R0, #43H
       ACALL GIA1
   FH1:LJMP  DONE

      ORG 0360H
   SXI:MOV   R0, #47H
       MOV   A, 2BH
       MOV   R4, A
       ANL   A, #0FH
       MOV   @R0, A
       DEC   R0
       MOV   A, R4
       SWAP  A
       ANL   A, #0FH
       MOV  @R0, A
       LJMP  DONE

       ORG 0380H

  DL:  MOV   R0, #30H
       MOV   A, @R0
       INC   R0
       SWAP  A
       ADD   A, @R0
       MOV   2DH, A
       MOV   R0, #32H
       MOV   A, @R0
       INC   R0
       SWAP  A
       ADD  A, @R0
       MOV   29H, A
       MOV   R4, #1BH
       MOV   DPTR, #0500H
       MOV   A, #00H
   DL1:MOVC  A, @A+DPTR
       CJNE  A, 2DH, DL2
       INC   DPTR
       MOV   A,#00H
       MOVC  A, @A+DPTR
       CJNE  A, 29H, DL3
       AJMP DL4
   DL2:INC   DPTR
   DL3:INC   DPTR
       MOV   A, #00H
       DJNZ  R4, DL1
       AJMP  DL5
   DL4:SETB   P2.0
      ACALL DELAY
   DL5:RET
; 鍵盤掃描處理子程序
                ORG0400H   
  JPCL: ORL  P3,#08H        ;P3口復(fù)用,既作數(shù)碼管的段選,又作遙控接收,
  JP:   JNB  P3.3,YS2        ;為檢測紅外線接收頭有無信號,必須使P3.3=1.
      clr p3.3
        AJMP J0          ;無信號輸入轉(zhuǎn)移
YS2:  ANL  P1,#00H        ;否則關(guān)顯示,位選信號為0
        CLR   A
        MOV   48H, A
        MOV   R0,#48H        ;遙控數(shù)據(jù)存儲指針
        MOV   R6, #1EH
S0:   MOV   8DH,#00H       ;定時器1時間常數(shù)
        MOV   8BH, #00H
S1:   JB    0B3H,JP        ;50微秒內(nèi)P3.3變高則返回,正常解碼信號持續(xù)低電平應(yīng)大于50微秒.
        SETB TR1              ;是解碼信號,準(zhǔn)備啟動定時器1(為高時啟動),
S2:   JNB   0B3H,S2       ;等待變高,如果是干擾信號,很快消失而變高.
S3:       MOV   A,TH1       ;如果高電平持續(xù)時間太長,則是干擾信號,超過FE,則返回.
         XRL  A,#0FEH
         JZ   J0
        JB    0B3H,S3        ;等待再次變低.
        CLR  TR1              ;再次變低后,高脈沖寬度測量完畢,應(yīng)關(guān)閉定時器.
        MOV   A,8DH         ;讀數(shù)據(jù)
        JZ   S4           ;譯碼
        MOV   A, #80H
        ADD   A, @R0
        MOV   @R0, A
S4:   MOV   A, @R0
        RL   A
        MOV   @R0, A
          NOP
        DJNZ  R6, S0
        MOV   A, 48H
        MOVC  A, @A+DPTR
        ANL   A, #0FH
        MOV   2CH, A
        ACALL DELAY2
           ACALL DELAY2
           SETB  TR0
            SUBB A,#0AH
            JNCS5         ;是功能鍵轉(zhuǎn)移
            MOV   A,R3     ;是數(shù)字鍵寫顯示
           MOV   R0, A
           MOV   A, 2CH
           MOV   @R0, A
           MOVR7,#00H     ;清閃動標(biāo)志
            MOV 50H,#00H   ;置確定標(biāo)志,
            AJMP DIS
  S5:   LJMP AN
        NOP
  JJ6:  JNB  0B1H, JJ6
        ACALL DELAY2
        MOV   A, R3
        MOV   R0, A
        MOVC  A, @A+DPTR
        XRL   A, @R0
        JNZ   J7
        AJMP  G1
  J7:  INC   @R0
  G1:  CLR   A
        MOV   R7, A
        AJMP  J00
  J8:  JNB   0B2H, J8
        ACALL DELAY2
        MOV   A, R3
        MOV   R0, A
        MOV   A, @R0
        XRL  A, #00H
        JNZ   J9
        AJMP  G0
  J9:  DEC   @R0
  G0:  CLR   A
        MOV   R7, A
        AJMP  J00
  J:   JNB   0B4H, J
        ACALL DELAY2
        MOV   A, #01H
        MOV   R7, A
        MOV   A, R3
        XRL   A, #48H
        JNZ   JJ4
        MOV   R3, #2FH
  JJ4:  INC  R3
        MOV   A, R3
        MOV   R0, A
        MOV   2CH, @R0
  J00:  ACALL DELAY2
  J0:  CLR   TR1
       SETB  TR0
  J01:  LJMP  SHAN
       ORG0500H        ;打鈴時間
DB06,30H,06,00,06,15H,07,15H,07,40H,07,45H,08,30H,08,40H,09,25H
DB09,50H,10H,35H,10H,45H,11H,30H,12H,30H,13H,30H
DB13H,40H,13H,45H,14H,30H,14H,40H,15H,25H,16H,30H,17H,00H
DB18H,00,18H,45H,20H,20H,21H,00,21H,10H
      ORG 0550H
DB00,08,05,04,00,00,00,04;p2
DB00,00,00,01,00,00,00,01;p0
DB01,09,09,08,00,07,01,06;p3
        ORG 0600H
   SIO: MOVA,#20H
     MOV R0,#20H
     MOV 89H,A
     MOV 8DH,#0F3H
     SETB 0BCH
     SETB 0AFH
     CLR 0ABH
     SETB 8EH
     SETB 0ACH
     MOV A,#50H
     MOV 98H,A
     RET
  SI:    MOV DPTR,#0700H
     CLR 98H
     MOV A,99H
     MOVC A,@A+DPTR
       MOV R2,A
     MOV A,R7
     XRL A,#01H
     JZ  SI1
     MOV A,R2
     MOV @R0,A
     MOV R7,#01H
     AJMP SI2
   SI1: MOVA,@R0
     SWAP A
     ADD A,R2
     MOV @R0,A
     INC R0
     MOV R7,#00H
   SI2: RETI
  SO:   CLR 99H
     MOV A,99H
     MOV @R0,A
     RETI
      ORG 0700H;數(shù)碼管段編碼
DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH
DB 8EH,0CEH,00
      ORG 0712H
DELAY:  MOV   R5, #88H
DEL:    NOP
        DJNZ  R5, DEL
        RET
DELAY1: MOV   R6, #10H
DELA:   ACALL DELAY
        DJNZ  R6, DELA
        RET
DELAY2: MOV   R6, #0FFH
DE:     ACALL DELAY
        DJNZ  R6,DE
        RET
       ORG 0730H
DB00,01,02,03,04,05,06,07,08,09,09,09,09,09,09,09,02,0AH,0BH,0CH,0DH,0EH,0FH,09
       ORG 0748H
GIA1:   MOV   R1, #04H
GIA2:   MOV   A, @R0
GIA:    INC   A
        MOV   @R0, A
        CJNE  A, #0AH, GIA3
        CLR   A
        MOV   @R0, A
        DEC   R0
        DJNZ  R1, GIA2
GIA3:   RET
       ORG 0761H
DB02H,00H, 00H,00H, 06H,0EH,00H, 0AH,04H,00H,0DH,00H,08H,00H,00H,00H
DB01H,00H, 09H,0BH,05H,00H,00H,00H,03H,00H,0CH,00H,07H,0FH
      ORG 07A0H
DB0AH,03H,00H,07H,09H,01H,0CH,05H,04H,0BH,08H,00H,02H,00H,06H,0DH
      ORG 07B0H
DB00H,07H,0AH,03H,0CH,05H,09H,01H,08H,00H,04H,0BH,06H,0DH,02H,00H
      ORG 07C0h
DD:    MOV R2,#0FEH
     MOV R1,#0FEH
CC:  MOV A,R1
      MOV P1,A
      MOV P0,A
      MOV P3,A
     MOV A,R2
     MOV P2,A
     MOV R6,#50H
BB:  MOV R5,#0FFH
AA:NOP
      DJNZ R5,AA
      DJNZ R6,BB
      MOV A,R1
      RL A
      MOV R1,A
      JB 0E0H,CC
      MOV A,R2
      RL A
      MOV R2,A
      JNB 0E0H,CC
      RET
;讀實(shí)時時鐘實(shí)時數(shù)據(jù)寄存器子程序
;功能:從實(shí)時時鐘讀入當(dāng)前時間數(shù)據(jù)                                        |
;入口:NONE                                                              
;出口:接收數(shù)據(jù)放在年、月、日、星期、時、分、秒各寄存器                  
;影響資源:A,R0,R3,TIMETX,TIMERX,YEAR,MONTH,DAY,WEEK,HOUR,MINUTE,SECOND |
READ_TIME:
RDTIME_LOOP:
      LCALL   IICSTART
       JB     FLAG.1,ERR_IICSTOP     ;SDA線被箝位為低電平則退出
      MOV     TIMETX,#65H            ;發(fā)送讀時鐘數(shù)據(jù)命令
      LCALL   SENDH_L
       JB     FLAG.0,ERR_IICSTOP     ;ACK信號不正常則退出.
      MOV     R0,#YEAR
      MOV     R3,#07H
RDTIME1:
      LCALL   RXL_H
      MOV     A,TIMERX
      MOV     @R0,A
      INC R0
     DJNZ     R3,RDTIME2             ;讀完一個字節(jié)數(shù)據(jù)后確認(rèn)數(shù)據(jù)傳輸
       JMP    RDTIME3                ;若為最后一個字節(jié)數(shù)據(jù)則為NOACK
RDTIME2:
       CALL   ACK
       JMP    RDTIME1
RDTIME3:
       CALL   NOACK
       LCALL   IICSTOP
       CLR  HOUR.7 ;小時的最高位在24小時制時沒有用,如果是12小時制請刪掉此行.
RDTIME_RET:
       RET

ERR_IICSTOP:
       LCALL   IICSTOP
       RET
ACK:   CLR     TIMETEMP.1
       LCALL   BITOUT
       RET
NOACK: SETB    TIMETEMP.1
       LCALL   BITOUT
       RET
;保存錯誤代碼
;功能:保存MCUIIC接口通信時的錯誤狀態(tài)                                  |
;入口:TIMETEMP.0=ACK位縉?                                              |
;出口:FLAG.0=錯誤代碼                                                  |
ACK_ERR:
       JNB    TIMETEMP.0,ACK_ERR_RET  ;檢查ACK信號是否正常
       SETB   FLAG.0                 ;ACK出錯標(biāo)志位
ACK_ERR_RET:
       RET
;啟用IIC總線
;功能:開啟實(shí)時時鐘的IIC總線
;入口:NONE      出口:NONE
;影響資源:NONE
IICSTART:
       CLR    FLAG.1
      SETB     SDA
      SETB     SCL
      LCALL   DELAY3
       JB     SDA,IIC_SDAHI
       SETB   FLAG.1
IIC_SDAHI:
      CLR SDA
       LCALL   DELAY3
      CLR SCL
       LCALL   DELAY3
       RET
;關(guān)閉IIC總線
;功能:關(guān)閉實(shí)時時鐘IIC總線
;入口:NONE      出口:NONE
;影響資源:NONE
IICSTOP:CLR      SDA
      SETB     SCL
      LCALL   DELAY3
      SETB     SDA
      LCALL   DELAY3
      RET
;短延時子程序
;功能:延時        入口:NONE            出口:NONE                 
;影響資源:R7,PSW                                                        
DELAY3:  MOV R7,#05H                ;此延時至少10us,
DELAY5:      NOP
      DJNZ     R7,DELAY5
      RET

LONGDELAY:                    ;DELAY 300MS
       MOV    R6,#240
LD0:   MOV    R7,#250       ;5*250*240
LD1:   NOP
       NOP
       NOP
       DJNZ   R7,LD1
       DJNZ   R6,LD0
       RET
;發(fā)送一個字節(jié),由高位到低位發(fā)送
;功能:從MCU發(fā)送一個字節(jié)給實(shí)時時鐘,由高位到低位發(fā)送                       
;入口:發(fā)送數(shù)據(jù)放在TIMETX         出口:NONE                             
;影響資源:A,R2,TIMETX                                                
SENDH_L:MOV   A,TIMETX
      MOV     R2,#08H
       CLR    FLAG.0
SENDH_L1:
       MOV     C,ACC.7
       MOV     TIMETEMP.1,C
            LCALL   BITOUT
            RL   A
            DJNZ     R2,SENDH_L1
       LCALL   BITIN
       LCALL   ACK_ERR
       RET
;發(fā)送一個字節(jié),由低位到高位發(fā)送
;功能:從MCU發(fā)送一個字節(jié)給實(shí)時時鐘,由低位到高位發(fā)送                       
;入口:發(fā)送數(shù)據(jù)放在TIMETX         出口:NONE                             
;影響資源:A,R2,TIMETX                                                  
SENDL_H:MOV   A,TIMETX
         MOV     R2,#08H
       CLR    FLAG.0
SENDL_H1:
       MOV     C,ACC.0
       MOV     TIMETEMP.1,C
       LCALL   BITOUT
            RR   A
            DJNZ     R2,SENDL_H1
       LCALL   BITIN
       LCALL   ACK_ERR
      RET
;接收一個字節(jié)
;功能:MCUIIC總線接收一個字節(jié),MSB在前,LSB在后                          
;入口:NONE         出口:接收數(shù)據(jù)放在RXBUF                           
;影響資源:A,R2TIMEBIT,RXBUF                                         
RXH_L: MOV     R2,#08H
RXH_L1:LCALL   BITIN
       MOV     C,TIMETEMP.0
       MOV     ACC.7,C
            RLC A
            DJNZ     R2,RXH_L1
       MOV    TIMERX,A
       RET
;接收一個字節(jié)
;功能:MCUIIC總線接收一個字節(jié),LSB在前,MSB在后                          
;入口:NONE         出口:接收數(shù)據(jù)放在RXBUF                           
;影響資源:A,R2,TIMEBIT,RXBUF                                         
RXL_H: MOV     R2,#08H
RXL_H1:LCALL   BITIN
       MOV     C,TIMETEMP.0
            RRC      A
            DJNZ     R2,RXL_H1
       MOV    TIMERX,A
       RET
;送出一位數(shù)
;功能:從MCU發(fā)送一位數(shù)給實(shí)時時鐘                                         
;入口:發(fā)送位數(shù)放在EEPREM.1      出口:NONE                             
;影響資源:ATIMETEMP                                                   
BITOUT:
       MOV     C,TIMETEMP.1
      MOV     SDA,C
      LCALL   DELAY3
      SETB     SCL
      LCALL   DELAY3
      CLR SCL
       LCALL   DELAY3
      RET
;讀入一位數(shù)
;功能:MCU從實(shí)時時鐘接收一位數(shù)                                          
;入口:NONE      出口:接收位數(shù)放在TIMETEMP.0                           
;影響資源:A,TIMETEMP                                                   
BITIN:
       SETB     SDA
       SETB   SCL
            LCALL   DELAY3
            MOV     C,SDA
       MOV     TIMETEMP.0,C
            CLR SCL
       CLR    SDA
       LCALL   DELAY3
      RET
      ORG 0900H
;狀態(tài)異常處理程序
;功能:在干擾嚴(yán)重的情況下,時鐘進(jìn)入異常狀態(tài)的處理                        
;入口:NONE          出口:NONE                                         
;影響資源: ATIMETX                                                   
TIME_TESTMODE:
TIME_TESTMODE_LOOP:
       LCALL   IICSTART
       JNB    FLAG.1,TIME_TESTMODE_1
       LJMP   ERR_IICSTOP            ;SDA線被箝位為低電平則退出
TIME_TESTMODE_1:
            MOV     TIMETX,#6EH            ;發(fā)送測試模式結(jié)束命令,#6EH
            LCALL   SENDH_L
       LCALL  IICSTOP                ;
       JB     FLAG.0,TIME_TESTMODE_LOOP;ACK信號不正常則重寫.
                                       ;
       RET
;寫狀態(tài)寄存器程序
;功能:讀/寫實(shí)時時鐘狀態(tài)寄存器,對其進(jìn)行設(shè)置                             
;入口:NONE          出口:NONE                                         
;影響資源: A,TIMETX                                                   
TIMESTATUS_INT12:
       LCALL  IICSTART
       JNB    FLAG.1,TIME_SETMODE_1
       LJMP   ERR_IICSTOP            ;SDA線被箝位為低電平則退出
TIME_SETMODE_1:
            MOV     TIMETX,#62H            ;發(fā)送寫時鐘狀態(tài)寄存器命令
            LCALL   SENDH_L
       JNB    FLAG.0,TIME_SETMODE_2
       LJMP   ERR_IICSTOP            ;ACK信號不正常則退出?
TIME_SETMODE_2:
            MOV     TIMETX,#40H            ;24小時進(jìn)制,
            LCALL  SENDL_H                   ;關(guān)閉/INT1/INT2腳的輸出
       LCALL  IICSTOP                ;
       RET

END

相關(guān)帖子

回復(fù)

使用道具 舉報

ID:72088 發(fā)表于 2018-10-13 19:53 | 顯示全部樓層
高人,比我厲害,我只會寫時鐘,簡單的東西,匯編
回復(fù)

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
ID:632961 發(fā)表于 2022-11-4 11:10 | 顯示全部樓層
求電路原理圖,求程序代碼,
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
久久福利资源站| 精品夜夜澡人妻无码av| 亚洲国产精品久久久久爰色欲| 粗暴91大变态调教| 免费成人深夜夜行p站| 久久久久久久久久久97| 做爰视频毛片视频| 欧美色图中文字幕| 嫩草嫩草嫩草嫩草| 成人日批视频| 韩国三级大全久久网站| 水蜜桃精品av一区二区| 蜜桃精品视频在线| 中文字幕 久热精品 视频在线| 色综合久久九月婷婷色综合| 精品国产三级电影在线观看| 性欧美视频videos6一9| 国产在线欧美日韩| jizzjizzxxxx| 国产又黄又粗的视频| 国产又粗又大又爽视频| 软萌小仙自慰喷白浆| 黄色小视频在线观看| 粉嫩91精品久久久久久久99蜜桃| 日日躁天天躁狠狠躁| 免费一级毛片在线观看| 成人免费视频观看| 亚洲五月综合| 国产精品magnet| 国产成人99久久亚洲综合精品| 亚洲大型综合色站| 日韩av在线免播放器| 欧美在线视频一区二区| 亚洲精品无人区| 9.1在线观看免费| 国产天堂第一区| 91视频观看| 欧美精品电影| 女优一区二区三区| 国产精品一区免费视频| 狠狠躁天天躁日日躁欧美| 中文字幕少妇一区二区三区| 超碰国产精品久久国产精品99| 97在线播放视频| 亚洲最大福利视频网站| 黄色一级在线视频| 日韩在线视频网址| 日韩欧美在线综合| 久草在线青青草| 香蕉成人app| 久久精品av麻豆的观看方式| 欧美午夜精品在线| 欧美理论片在线观看| 日本最新一区二区三区视频观看| 国产精品99精品无码视亚| 国产精品尤物视频| 99热在线免费观看| 欧美va在线观看| 91精品国产自产精品男人的天堂| 在线视频免费在线观看一区二区| 中文字幕在线不卡一区| 亚洲日韩欧美视频| 精品一区久久| 欧美双性人妖o0| 亚洲精品国产手机| 午夜影院在线免费观看| 粉嫩一区二区三区四区公司1| 久久99国产乱子伦精品免费| 日本韩国欧美国产| 国产精品久久久久久av| 激情五月婷婷久久| 中文字幕人妻一区二区在线视频| 91福利免费在线| 伊人久久大香伊蕉在人线观看热v| 视频一区中文字幕国产| 欧美专区在线观看一区| 国产精品久久久久久久app| 久久人妻精品白浆国产 | 综合网日日天干夜夜久久| 蜜桃视频成人| 国产精品成人无码免费| 日韩在线第二页| 久久久123| 夜夜嗨一区二区三区| 精品日本高清在线播放| 国产极品jizzhd欧美| 蜜桃精品久久久久久久免费影院| 韩国黄色一级片| 黄色av网站免费在线观看| 二区在线观看| 日韩精品诱惑一区?区三区| 久久精品国产秦先生| 欧美欧美午夜aⅴ在线观看| 成人精品视频99在线观看免费 | 先锋影音欧美四级| av中文字幕在线观看| 亚洲性人人天天夜夜摸| 欧美性猛交xxxxx免费看| 国产精品视频久| 欧美xxxxx少妇| 亚洲精品精品一区| 中国字幕a在线看韩国电影| 肉丝袜脚交视频一区二区| 久久精品免费观看| 欧美日韩一级视频| 国产日韩精品推荐| 国产精品免费在线视频| xxxxxwwww免费视频| 日韩视频一二区| 久久久久久久电影| 久久国产精品网站| jizz欧美激情18| 人妻少妇精品无码专区久久| 蜜臀av在线| 精品一区二区三区久久久| 精品小视频在线| 激情视频小说图片| 中文字幕自拍偷拍| 欧美三级黄网| 日韩专区欧美专区| 日韩精品免费视频| 欧美这里只有精品| 国产哺乳奶水91在线播放| 18在线观看的| 国产综合色视频| 尤物九九久久国产精品的特点| 日本xxxxxxxxxx75| xxxx国产精品| 亚洲欧美小说色综合小说一区| 国产91精品露脸国语对白| 久久精品国产亚洲一区二区| 久久99999| 九色蝌蚪国产| 91精品尤物| 亚洲国产裸拍裸体视频在线观看乱了| 国产日韩在线播放| 九九九视频在线观看| 国产视频二区| 一区二区不卡| 精品女同一区二区| 人妻无码久久一区二区三区免费| 亚洲精选一区二区三区| 户外露出一区二区三区| 欧美国产1区2区| 成人黄色av网站| 欧美丰满艳妇bbwbbw| 免费在线毛片| 久久av老司机精品网站导航| 久久国产加勒比精品无码| 潘金莲一级淫片aaaaaaa| 美女免费黄视频网站| 成人短片线上看| 欧美一区二区三区免费| 久久国产精品视频在线观看| 久热视线观看免费视频| 国产厕拍一区| 欧美在线观看视频在线| 老汉色影院首页| 四虎精品一区二区三区| 欧美一级片网址| 日韩欧美精品中文字幕| 一区二区成人国产精品 | 午夜av免费在线观看| 青青在线精品| 亚州成人在线电影| 91av在线不卡| 加勒比一区二区| 毛片在线网址播放| 老司机精品导航| 久久91亚洲人成电影网站| 国产精品三级在线观看无码| 色老板亚洲精品一区| 久久国产精品亚洲77777| 日韩亚洲成人av在线| 50一60岁老妇女毛片| 三级网站在线| 国内国产精品久久| 日本免费一区二区三区视频观看| 9999热视频| www视频在线看| 国产欧美日韩麻豆91| 99在线观看视频| 国产又粗又长视频| 国产精品久久久久久久久久久久久久久| 香蕉成人啪国产精品视频综合网 | 欧美xx视频| 一区二区久久久久| 中文字幕剧情在线观看一区| www.一区二区三区.com| 亚洲婷婷丁香| 日韩高清免费在线| 亚洲天堂av网站| 欧美理论在线观看| 99re这里只有精品6| 国产精品免费一区二区三区| 国产成人精品亚洲精品色欲| 国产精品美女在线观看直播| 日韩视频在线你懂得| 欧美性受xxxxxx黑人xyx性爽| 国产性一级片| 国产精品一区三区| 成人蜜桃视频| 日韩专区第一页| 国产日韩视频在线| 亚洲免费视频在线观看| 噜噜噜在线视频| wwwww在线观看免费视频| 国产偷国产偷精品高清尤物| 欧美大香线蕉线伊人久久国产精品| 欧美少妇bbw| 久久国产综合| 免费97视频在线精品国自产拍| 国产一区二区播放| av资源亚洲| 欧洲视频一区二区| 国产精品嫩草影院8vv8| 国产黄色片中文字幕| 欧美成人日韩| 欧美激情手机在线视频| www.天天色| 91精品福利观看| 日韩一级大片在线观看| 中文字幕免费在线播放| 黄页视频在线播放| 亚洲成人av一区二区三区| 97成人在线观看视频| 免费av播放| 久久综合资源网| 一区二区三区国产福利| 来个黄色网址| 国产在线播精品第三| 国产在线播放一区二区| 国产一级片子| 日本亚洲最大的色成网站www| 91中文在线观看| 国色天香一二三期区别大象| 亚洲视频观看| 国产精品入口尤物| 无码国产精品高潮久久99| 欧美日韩国产免费观看| 热99在线视频| 亚洲成人黄色片| 自拍视频亚洲| 国产精品久久久av| 五月婷婷在线播放| 一本久道久久久| 成人在线精品视频| 亚洲国产精品久久人人爱潘金莲 | 亚洲国产综合久久精品小蝴蝶| 欧美日韩1区2区3区| 国产精品69av| 少妇无码一区二区三区| 亚洲成人原创| 亚洲一区亚洲二区| 欧美午夜春性猛交xxxx| 日本最新不卡在线| 精品欧美国产| 在线观看自拍| 高清在线成人网| 国产成年人在线观看| 国产va在线| 一区在线播放视频| 91亚洲免费视频| 欧美黄色视屏| 欧美大胆一级视频| 欧美成人一二三区| 偷拍一区二区| 欧美一级视频免费在线观看| 色一情一乱一乱一区91av| 国产精品亚洲综合久久| 精品视频导航| 激情综合网五月激情| 中文字幕高清不卡| 宅男噜噜噜66国产免费观看| av在线二区| 欧美精品欧美精品系列| 国产激情无码一区二区三区| 午夜精品福利影院| 国产97在线|日韩| 4hu四虎永久在线观看| 精东粉嫩av免费一区二区三区| 日韩电影天堂视频一区二区| 成人观看视频| 一区二区三区久久| xxxwww国产| 91久久青草| 欧美国产激情18| 老司机午夜福利视频| av在线资源站| 欧美高清精品3d| 久久嫩草捆绑紧缚| 少妇精品久久久一区二区| 国产精品美乳在线观看| 偷偷看偷偷操| 国产精品久久精品日日| 精品人妻一区二区免费| 91精品麻豆| 欧美一级淫片丝袜脚交| 久本草在线中文字幕亚洲欧美| av福利精品导航| 亚洲综合欧美激情| 日韩在线观看不卡| 九色成人免费视频| 四虎在线免费视频| wwwwww.欧美系列| 中文字幕1234区| 亚洲青青一区| 97视频在线观看网址| 国产麻豆精品视频一区二区 | 精品国产91| 91文字幕巨乱亚洲香蕉| 天天色av.com| 无吗不卡中文字幕| 日本爱爱小视频| 999久久久精品国产| 久久66热这里只有精品| 黄页网站视频在线观看| 欧美色视频一区| 欧美三级一区二区三区| 日韩亚洲国产欧美| 中国一级大黄大黄大色毛片| 老司机午夜在线视频| 亚洲天堂av在线免费观看| 亚洲高清在线观看视频| 国产成人久久精品77777最新版本| 成年人视频在线免费| 国产免费不卡| 国产91精品高潮白浆喷水| 青青青视频在线| 五月天精品一区二区三区| 亚洲欧美一区二区三区四区五区| 欧美日韩视频| 粉嫩av一区二区三区天美传媒 | 午夜影院免费在线观看| 久久成人在线| 日本免费黄视频| 欧美日韩精品免费观看视欧美高清免费大片| 久久伊人色综合| 麻豆91免费| 成人深夜在线观看| www.五月天色| 久久国产精品色av免费看| 91福利视频导航| 一色桃子在线| 日韩va亚洲va欧洲va国产| 五月天激情婷婷| 国产精品的网站| 亚洲国产美女视频| 奶水喷射视频一区| 一区二区成人网| 国产美女撒尿一区二区| 国产在线观看一区| 国产网友自拍视频导航网站在线观看| 久久精品99久久久久久久久| 18欧美乱大交| 欧美性猛片aaaaaaa做受| 国产又黄又粗又猛又爽| 久久久久久久免费视频了| 丁香六月激情综合| 亚洲欧美日韩精品一区二区| 超碰在线97免费| 亚洲精品中文字幕99999| 亚洲欧美国产不卡| 中文字幕乱码中文乱码51精品| 国产成人激情视频| 绯色av一区| 在线精品91av| 私人玩物在线观看| 欧美日韩成人综合天天影院| www香蕉视频| 亚洲欧美区自拍先锋| 日韩精品久久久久久久酒店| 国产乱人伦偷精品视频不卡| 51调教丨国产调教视频| 尤物网精品视频| 污污的视频免费| 欧美偷拍自拍| 成年人午夜免费视频| 成人av动漫| 性生活免费观看视频| 亚洲三级电影| 免费看成人片| 欧洲一区二区三区精品| 7777精品久久久大香线蕉小说| 国产二区在线播放| 欧美极品美女电影一区| 传媒av在线| 欧美区在线播放| 传媒视频在线| xxxx欧美18另类的高清| 天天做日日爱夜夜爽| 国产午夜精品麻豆| 免费看成年视频网页| 精品裸体舞一区二区三区| 国产浪潮av性色av小说| 日韩欧美在线观看一区二区三区| 亚洲精品国产一区二区在线| 欧美中文一区二区三区| av中文字幕网| 欧美三级欧美一级|