电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • APP

    随时找料

    即刻洽谈

    点击下载PC版
  • 公众号

    电子元器件

    采购信息平台

  • 移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

基于89C51设计的LED电子钟电路

2011/5/19 13:47:55;
来源:<a href='http://bbs.hqew.com/viewthread.php?tid=154361' target='_blank'>zhongruizheng</a> 作者:华仔 浏览:3429

标签:

摘要: *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 MA


 

 

 

*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

*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

;**************************************
PH3:       ACALL DISP3
           JB K2,PH301
K33_1:
           ACALL DISP3      
           JNB K2,K33_1
          
           MOV R0,OFF_HOUR
           MOV A,#01H
           ADD A,R0
           DA A
           MOV OFF_HOUR,A
           CJNE A,#24H,PH3
           MOV OFF_HOUR,#0
PH301:     JB K3,PH310
K33_2:
           ACALL DISP3
           JNB K3,K33_2
          
           MOV R0,OFF_MINUTE
           MOV A,#01H
           ADD A,R0
           DA A
           MOV OFF_MINUTE,A
           CJNE A,#60H,PH3
           MOV OFF_MINUTE,#0
PH310:     JB K1,PH3
K33_3:
           ACALL DISP3
           JNB K1,K33_3

           AJMP PH4
;*******************************************
TEND:      SETB EX0
           SETB TR0
           SETB 00H
           SETB ET0
           SETB P3.7
           POP PSW
           POP ACC
           RETI
           END


 

 

(责任编辑: )
型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67
Baidu
map