|
這個電子小制作比較適用,是我在網(wǎng)上看到的,特此收集整理,放在51hei,這里工感謝原作者。用直徑Φ5的高亮度LED制作電子鐘,有亮度高,字型大,懸掛擺放都適宜的優(yōu)點,對夜間需要看時間,眼神又不太好的老年人使用是個不錯的選擇。關(guān)鍵是利于DIY,取材容易,成本低,效果好。
做好的電子鐘正面
電子鐘背面

紅LED做的電子鐘 PCB板 
原理圖 該電子鐘用一只按鍵完成分、時的設(shè)置,在設(shè)置分時,兩位分?jǐn)?shù)碼閃動而時不動,待設(shè)置時時,兩位分?jǐn)?shù)碼不動而兩位時數(shù)碼閃動,一但進(jìn)入時間設(shè)置,秒顯示自動歸零。
7段數(shù)碼顯示的制作:該電子鐘有6位7段數(shù)碼組成,每個數(shù)碼由35只直徑Φ5mm的LED組成,每段用5只LED,下面是數(shù)碼組成電路圖:
每5只LED并聯(lián)組成一段,顯示用掃描法,單位時間內(nèi)只有一位數(shù)碼顯示,從而減少電源消耗。全鐘用一個5V電源,電路設(shè)環(huán)境光檢測控制,當(dāng)環(huán)境光線較亮?xí)r,LED也較亮,當(dāng)環(huán)境光線變暗時,LED也減低亮度,避免晚上觀看刺眼的毛病。
全鐘的制作難度在于電子鐘鐘面的制作,要使214只(全鐘所用LED)LED排列美觀,需在電腦中先畫好排列圖形,然后1:1打印出來,按兩位裁好,放置在板面上定位鉆孔,這樣才不至于變形。如下圖
電路說明:驅(qū)動電路:位驅(qū)動因為電流較大,選用PNP型A1013中功率管;段驅(qū)動選NPN型C9014。環(huán)境光檢測用直徑Φ5的光敏電阻,控制部分可選繼電器或晶體管都行,該電路選繼電器。選繼電器有個問題,就是在強光和弱光的切換臨界點時,繼電器觸點有一個抖動過程,時間不超過1秒,但聲音很大,換晶體管可能會好一些。如果要加報鬧功能,89C2051的11腳有預(yù)留,程序中要加寫一段報鬧程序。
使用說明:該電子鐘采用單鍵調(diào)時,按鍵開關(guān)采用不帶自鎖功能的普通開關(guān),用按鍵按下的時間長短區(qū)分不同功能。在時鐘正常工作時,按一下按鍵(按鍵時間要短,點動一下即可)顯示屏關(guān)斷顯示,再按一下恢復(fù)顯示。要調(diào)時時,長按開關(guān)(大概0.5秒)時鐘進(jìn)入調(diào)時狀態(tài),秒停止計數(shù),兩位分位開始閃動,點動開關(guān),分位逐次加1,調(diào)到所需時間后長按開關(guān)進(jìn)入時位調(diào)整,兩位時位開始閃動,點動開關(guān),時位逐次加1,調(diào)到所需時間后長按開關(guān)退出調(diào)時狀態(tài),秒恢復(fù)計數(shù)。該電子鐘通電后初始狀態(tài)為:00:00:00,秒從1開始計數(shù)。
- ;中斷入口程序
- ORG 0000H
- LJMP START
- ORG 0003H
- RETI
- ORG 000BH
- LJMP INTT0
- ORG 0013H
- RETI
- ORG 001BH
- LJMP INTT1
- ORG 0023H
- RETI
- ORG 002BH
- RETI
- ;======
- ;主程序
- ;======
- START: MOV R0,#70H
- MOV R7,#0BH
- MOV 20H,#00H
- CLEARDISP: MOV @R0,#00H
- INC R0
- DJNZ R7,CLEARDISP
- MOV 7AH,#0AH
- MOV TMOD,#11H
- MOV TL0,#0B0H
- MOV TH0,#3CH
- MOV TL1,#0B0H
- MOV TH1,#3CH
- SETB EA
- SETB ET0
- SETB TR0
- MOV R4,#14H
- START1: LCALL DISPLAY
- JNB P3.7,SETMM1
- SJMP START1
- SETMM1: LJMP SETMM
- ;===========
- ;1秒定時程序
- ;===========
- INTT0: PUSH ACC
- PUSH PSW
- CLR ET0
- CLR TR0
- MOV A,#0B7H ;中斷同步修正
- ADD A,TL0
- MOV TL0,A
- MOV A,#3CH
- ADD A,TH0
- MOV TH0,A
- SETB TR0
- DJNZ R4,OUTT0
- ADDSS: MOV R4,#14H
- MOV R0,#71H
- ACALL ADD1 ;加1程序
- MOV A,R3
- CLR C
- CJNE A,#60H,ADDMM
- ADDMM: JC OUTT0
- ACALL CLR0
- MOV R0,#77H
- ACALL ADD1
- MOV A,R3
- CLR C
- CJNE A,#60H,ADDHH
- ADDHH: JC OUTT0
- ACALL CLR0
- MOV R0,#79H
- ACALL ADD1
- MOV A,R3
- CLR C
- CJNE A,#24H,HOUR
- HOUR: JC OUTT0
- ACALL CLR0
- OUTT0: MOV 72H,76H
- MOV 73H,77H
- MOV 74H,78H
- MOV 75H,79H
- POP PSW
- POP ACC
- SETB ET0
- RETI
- ;============
- ;閃動調(diào)時程序
- ;============
- INTT1: PUSH ACC
- PUSH PSW
- MOV TL1,#0B0H
- MOV TH1,#3CH
- DJNZ R2,INTT1OUT
- MOV R2,#06H
- CPL 02H
- JB 02H,FLASH1
- MOV 72H,76H
- MOV 73H,77H
- MOV 74H,78H
- MOV 75H,79H
- INTT1OUT: POP PSW
- POP ACC
- RETI
- FLASH1: JB 01H,FLASH2
- MOV 72H,7AH
- MOV 73H,7AH
- MOV 74H,78H
- MOV 75H,79H
- AJMP INTT1OUT
- FLASH2: MOV 72H,76H
- MOV 73H,77H
- MOV 74H,7AH
- MOV 75H,7AH
- AJMP INTT1OUT
- ;=======
- ;加1程序
- ;=======
- ADD1: MOV A,@R0
- DEC R0
- SWAP A
- ORL A,@R0
- ADD A,#01H
- DA A
- MOV R3,A
- ANL A,#0FH
- MOV @R0,A
- MOV A,R3
- INC R0
- SWAP A
- ANL A,#0FH
- MOV @R0,A
- RET
- ;========
- ;清零程序
- ;========
- CLR0: CLR A
- MOV @R0,A
- DEC R0
- MOV @R0,A
- RET
- ;============
- ;時鐘調(diào)整程序
- ;============
- SETMM: CLR ET0
- CLR TR0
- LCALL DL1S
- JB P3.7,CLOSEDIS
- MOV R2,#06H
- SETB ET1
- SETB TR1
- SET2: JNB P3.7,SET1
- SETB 00H
- SET4: JB P3.7,SET3
- LCALL DL05S
- JNB P3.7,SETHH
- MOV R0,#77H ;加1分程序
- LCALL ADD1
- MOV A,R3
- CLR C
- CJNE A,#60H,HHH
- HHH: JC SET4
- LCALL CLR0
- CLR C
- AJMP SET4
- CLOSEDIS: SETB ET0
- SETB TR0
- CLOSE: JB P3.7,CLOSE
- LCALL DISPLAY
- JB P3.7,CLOSE
- WAITH: JNB P3.7,WAITH
- LJMP START1
- SETHH: CLR 00H
- SETHH1: JNB P3.7,SET5
- SETB 01H
- SET6: JB P3.7,SET7
- LCALL DL05S
- JNB P3.7,SETOUT
- MOV R0,#79H
- LCALL ADD1
- MOV A,R3
- CLR C
- CJNE A,#24H,HOUU
- HOUU: JC SET6
- LCALL CLR0
- AJMP SET6
- SETOUT: JNB P3.7,SETOUT1
- LCALL DISPLAY
- JNB P3.7,SETOUT
- CLR 01H
- CLR 00H
- CLR 02H
- CLR TR1
- CLR ET1
- SETB TR0
- SETB ET0
- LJMP START1
- SET1: LCALL DISPLAY
- AJMP SET2
- SET3: LCALL DISPLAY
- AJMP SET4
- SET5: LCALL DISPLAY
- AJMP SETHH1
- SET7: LCALL DISPLAY
- AJMP SET6
- SETOUT1: LCALL DISPLAY
- AJMP SETOUT
- ;========
- ;顯示程序
- ;========
- DISPLAY: MOV R1,#70H
- MOV R5,#0FEH
- PLAY: MOV A,R5
- MOV P3,A
- MOV A,@R1
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV P1,A
- LCALL DL1MS
- INC R1
- MOV A,R5
- JNB ACC.5,ENDOUT
- RL A
- MOV R5,A
- AJMP PLAY
- ENDOUT: MOV P1,#00H
- MOV P3,#0FFH
- RET
- TAB: DB 3FH,06H,5BH,4FH,66H
- DB 6DH,7DH,07H,7FH,6FH,00H
- ;========
- ;延時程序
- ;========
- DL1MS: MOV R6,#14H
- DL1: MOV R7,#19H
- DL2: DJNZ R7,DL2
- DJNZ R6,DL1
- RET
- DS20MS: ACALL DISPLAY
- ACALL DISPLAY
- ACALL DISPLAY
- RET
- DL1S: LCALL DL05S
- LCALL DL05S
- RET
- DL05S: MOV R3,#20H
- DL05S1: LCALL DISPLAY
- DJNZ R3,DL05S1
- RET
- END
復(fù)制代碼
|
|