工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->采用89C51的LED电子钟(已测试OK)

采用89C51的LED电子钟(已测试OK)

作者:dolphin时间:2016-09-20


*APPLICATION NOTE E6000 ICEXPLORER ***************
* Title: FOR colk_time *
* Version: 00 *
* Last Updated: *
* MCU: AT89C91 *
* FOR: WWW.yuanlitu.COM *
***************************************************
K1 BIT P3.2
K2 BIT P3.4
K3 BIT P3.3
K4 BIT P3.5
C_HOUR EQU 23H
C_MINUTE EQU 24H
C_SECOND EQU 25H
ON_HOUR EQU 26H
ON_MINUTE EQU 27H
OFF_HOUR EQU 28H
OFF_MINUTE EQU 29H
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP WINT0
ORG 000BH
AJMP WTO
ORG 0030H
MAIN: MOV SP,#50H
CLR 00H
MOV 21H,#0
MOV 22H,#0
MOV C_HOUR,#0
MOV C_MINUTE,#0
MOV C_SECOND,#0
MOV ON_HOUR,#0
MOV ON_MINUTE,#0
MOV OFF_HOUR,#0
MOV OFF_MINUTE,#0
MOV TH0,#05
MOV TL0,#05
MOV TMOD,#02H
SETB EA
SETB EX0
CLR ET0
CLR TR0
CLR IT0
M: MOV A,C_HOUR
CJNE A,ON_HOUR,OFF_TIME
MOV A,C_MINUTE
CJNE A,ON_MINUTE,OFF_TIME
SETB P3.7
AJMP NEXT
OFF_TIME: MOV A,C_HOUR
CJNE A,OFF_HOUR,NEXT
MOV A,C_MINUTE
CJNE A,OFF_MINUTE,NEXT
CLR P3.7
NEXT: JNB 00H,M
ACALL DISP1
AJMP M

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H

DISP1: MOV R0,C_HOUR
MOV DPTR,#TAB
MOV A,R0
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.0
ACALL DL ;SEND DISPPLAY HOUR HIGHT BIT
SETB P2.0
MOV A,R0
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.1
ACALL DL
SETB P2.1 ;SEND DISPPLAY HOUR LOW BIT
MOV R1,C_MINUTE
MOV A,R1
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.2
ACALL DL
SETB P2.2 ;SEND DISPPLAY MINUTE HIGHT BIT
MOV A,R1
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.3
ACALL DL
SETB P2.3 ;SEND DISPLAY MINUTE LOW BIT
MOV R2,C_SECOND
MOV A,R2
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.4
ACALL DL
SETB P2.4 ;SEND DISPPLAY SECOND HIGHT BIT
MOV A,R2
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.5
ACALL DL
SETB P2.5 ;SEND DISPPLAY SECOND LOW BIT
RET


WTO: PUSH ACC
PUSH PSW
INC 21H
MOV A,21H
CJNE A,#0C8H,TORETI ;200D=C8H 0.5ms*200=100mS
MOV 21H,#0
INC 22H
MOV A,22H
CJNE A,#10,TORETI ;100ms*10=1S
MOV 22H,#0
CPL P0.0
CPL P0.1
MOV A,#01H
ADD A,C_SECOND
DA A
MOV C_SECOND,A
CJNE A,#60H,TORETI
MOV C_SECOND,#0
MOV A,#01H
ADD A,C_MINUTE
DA A
MOV C_MINUTE,A
CJNE A,#60H,TORETI
MOV C_MINUTE,#0
MOV A,#01H
ADD A,C_HOUR
DA A
MOV C_HOUR,A
CJNE A,#24H,TORETI
MOV C_HOUR,#0
TORETI: POP PSW
POP ACC
RETI

DISP2: MOV R0,ON_HOUR
MOV DPTR,#TAB
MOV A,R0
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.0
ACALL DL
SETB P2.0
MOV A,R0
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.1
ACALL DL
SETB P2.1
MOV R1,ON_MINUTE
MOV A,R1
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.2
ACALL DL
SETB P2.2
MOV A,R1
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P2.3
ACALL DL
SETB P2.3
RET

DISP3: MOV R0,OFF_HOUR
MOV DPTR,#TAB
MOV A,R0
SWAP A
ANL A,#0FH



评论

技术专区