⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12887的初始化程序——89c51.txt

📁 12887的初始化程序——89C51
💻 TXT
字号:
12887的初始化程序——89C51
12887的初始化程序:

XSDATA1  DATA  30H
XSDATA2  DATA  31H  ;初始定义

ORG 0000H
LJMP START
ORG 0003H
LJMP INT0

ORG     0100H
START: MOV P1,#0FFH
MOV P2,#1FH
MOV P3,#0FFH
MOV R3,#200
MOV XSDATA1,#89
MOV XSDATA2,#51   ;开始显示8951,说明显示、初始正确
BEGINK:
LCALL DIS
DJNZ R3,BEGINK
LCALL TIME
LJMP MAIN

MAIN: LCALL DIS
AJMP MAIN

TIME: MOV DPTR,#000AH ;停止12887计时
MOV A,#70H
MOVX @DPTR,A

MOV DPTR,#000BH ;禁止芯片内部更新周期
MOV A,#0A6H
MOVX @DPTR,A

MOV DPTR,#0000H ;秒时标单元及报警单元
MOV A,#06H
MOVX @DPTR,A
INC DPTR
MOV A,#0FFH
MOVX @DPTR,A

INC DPTR  ;分时标单元及报警单元
MOV A,#34H
MOVX @DPTR,A
INC DPTR
MOV A,#0FFH
MOVX @DPTR,A

INC DPTR  ;时时标单元及报警单元
MOV A,#09H
MOVX @DPTR,A
INC DPTR
MOV A,#0FFH
MOVX @DPTR,A

INC DPTR  ;星期时标单元
MOV A,#05H
MOVX @DPTR,A

INC DPTR  ;日时标单元
MOV A,#1AH
MOVX @DPTR,A

INC DPTR  ;月时标单元
MOV A,#03H
MOVX @DPTR,A

INC DPTR  ;年时标单元
MOV A,#04H
MOVX @DPTR,A

MOV DPTR,#000EH ;年度的高位,解决千年问题
MOV A,#14H
MOVX @DPTR,A

MOV DPTR,#000AH ;初始化寄存器单元A
MOV A,#20H
MOVX @DPTR,A

MOV DPTR,#000CH ;清状态寄存器C
MOVX A,@DPTR
MOV DPTR,#000DH ;
MOVX A,@DPTR

MOV DPTR,#000BH ;初始化寄存器单元B
MOV A,#26H
MOVX @DPTR,A

MOV IE,#81H  ;8951开中断
RET

XIN: MOV DPTR,#000AH ;更新周期判断
MOVX A,@DPTR
JBC ACC.7,XIN
SETB 20H
RET

INT0: CPL P2.0
LCALL XIN  
JB 20H,READ ;中断服务程序
AJMP INT0

READ: MOV DPTR,#0002H ;分单元 
MOVX A,@DPTR
MOV XSDATA2,A
INC DPTR
INC DPTR
                         ;时单元 
MOVX A,@DPTR
MOV XSDATA1,A
MOV DPTR,#000CH ;清状态寄存器C
MOVX A,@DPTR
RETI
RET

DIS:   MOV A,XSDATA2    ;显示子程序,将数据送显示单元,再调用
LCALL MBCD1        ;数据处理子程序
MOV A,XSDATA1
LCALL MBCD2
DIS1:
MOV     DPTR,#TAB
MOV   R0,#5FH
        SETB    P2.4
        SETB    P2.3
        SETB    P2.2
        CLR     P2.1
       MOV   A,@R0
       MOVC  A,@A+DPTR
       MOV   P1,A
INC   R0
       ACALL   DL1MS
        SETB    P2.4
        SETB    P2.3
        SETB    P2.1
        CLR     P2.2
       MOV   A,@R0
       MOVC  A,@A+DPTR
       MOV   P1,A
INC   R0
       ACALL   DL1MS
        SETB    P2.4
        SETB    P2.1
        SETB    P2.2
        CLR     P2.3
       MOV   A,@R0
       MOVC  A,@A+DPTR
       MOV   P1,A
INC   R0
       ACALL   DL1MS
        SETB    P2.1
        SETB    P2.3
        SETB    P2.2
        CLR     P2.4
       MOV   A,@R0
       MOVC  A,@A+DPTR
       MOV   P1,A
INC   R0
       ACALL   DL1MS
RET

TAB:  DB   21H,77H,0A2H,62H,74H,68H,28H,73H
       DB   20H,70H

                
MBCD1:  MOV B,#0AH    ;数据处理子程序
DIV AB
MOV 60H,A
MOV 5FH,B
RET

MBCD2: MOV B,#0AH
DIV     AB
MOV 62H,A
MOV 61H,B
RET

DL1MS: MOV   R2,#0AH        ;延时子程序
DL2:   MOV   R4,#019H
DL3:   DJNZ  R4,DL3
       DJNZ  R2,DL2
       RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -