電子鐘程序及原理圖.doc_第1頁
電子鐘程序及原理圖.doc_第2頁
電子鐘程序及原理圖.doc_第3頁
電子鐘程序及原理圖.doc_第4頁
電子鐘程序及原理圖.doc_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于51單片機電子鐘設(shè)計利用如圖所示電路,設(shè)計一個電子鐘,要求如下:1)顯示內(nèi)容:時分秒2)具有鬧鈴設(shè)定功能、時間調(diào)整功能3)具有按鍵設(shè)置功能一、顯示內(nèi)容 顯示時間:用六位7段數(shù)碼管 鬧鈴提示:用8個發(fā)光二極管 設(shè)置提示:用8個發(fā)光二極管二、按鍵功能 P3.2功能設(shè)置鍵; P3.3顯示區(qū)切換鍵; P3.4“”鍵; P3.5“”鍵。設(shè)置提示顯示要求:1)正常顯示狀態(tài),8個發(fā)光二極管全滅;2)時間調(diào)整狀態(tài),P1.7亮;3)鬧鈴設(shè)定狀態(tài),P1.7和P1.6亮。顯示時間要求:1)顯示 時分秒,分三個顯示區(qū)。功能設(shè)置鍵K1是一個多功能鍵: 按第一次,進入時間調(diào)整狀態(tài) 按第二次,進入鬧鈴設(shè)定狀態(tài) 按第三次,退出設(shè)置狀態(tài),時鐘正常顯示。備注:其他鍵在K1退出設(shè)置狀態(tài)時無效。顯示區(qū)切換鍵K2: 在設(shè)置狀態(tài),用于切換不同的顯示區(qū),每按一次,將切換一次。 “”鍵K3:在設(shè)置狀態(tài),用于對相應(yīng)的顯示區(qū)數(shù)字進行累加,每按一次,數(shù)字加1?!啊辨IK4:在設(shè)置狀態(tài),用于對相應(yīng)的顯示區(qū)數(shù)字進行自減,每按一次,數(shù)字減1。程序:K1 BIT P3.2K2 BIT P3.3K3 BIT P3.4K4 BIT P3.5L1 BIT P1.7L2 BIT P1.6KEZT EQU 30HHOUR EQU 31HMINU EQU 32HSECO EQU 33HNHOU EQU 34HNMIN EQU 35HK2ZT EQU 36HTIME EQU 37HTIM EQU 40HNTIM EQU 50HLED EQU P1ORG 0000HAJMP STARTORG 000BHAJMP DINGSHIORG 100HSTART: ACALL RESETLOOP: ACALL KEYSET ACALL DISPLAY ACALL ZHISHI AJMP LOOP ;*DINGSHI: MOV TH0,#3CH MOV TL0,#0B0H INC TIME MOV A,TIME CJNE A,#20,DINGEND MOV TIME,#0 INC SECO MOV A,SECO CJNE A,#60,DINGEND INC MINU MOV SECO,#0 MOV A,MINU CJNE A,#60,DINGEND INC HOUR MOV MINU,#0 MOV A,HOUR CJNE A,#24,DINGEND MOV HOUR,#0DINGEND: RETI;*RESET: MOV TMOD,#01H ;T0工作在方式1,12MHZ MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 MOV HOUR,#23 MOV MINU,#59 MOV SECO,#58 MOV NHOU,#12 MOV NMIN,#0 MOV KEZT,#0 MOV K2ZT,#0 MOV TIME,#0 CLR F0 SETB TR0 RET ;*KEYSET: ;判定K1 SETB K1 JB K1,KK1 ;K1=1 LOOP CALL DELAY20MS ;軟件防抖 JB K1,KK1 KS1: JNB K1,$ CALL DELAY20MS ;軟件防抖 JNB K1,KS1 INC KEZT SETB F0 MOV A,KEZT CJNE A,#3,KK1 CLR F0 MOV KEZT,#0 SETB TR0 KK1: JNB F0,KEEND CLR TR0 ACALL KEYGN KEEND: RET;*KEYGN: ;判定K2 SETB K2 JB K2,KK2 ;K2=1 LOOP CALL DELAY20MS ;軟件防抖 JB K2,KK2 KS2: JNB K2,$ CALL DELAY20MS ;軟件防抖 JNB K2,KS2 INC K2ZT MOV A,K2ZT CJNE A,#3,KK2 MOV K2ZT,#0;判定K3KK2: SETB K3 JB K3,KK3 ;K3=1 LOOP CALL DELAY20MS ;軟件防抖 JB K3,KK3 KS3: JNB K3,$ CALL DELAY20MS ;軟件防抖 JNB K3,KS3 MOV A,KEZT CJNE A,#1,KSS1 MOV R7,K2ZT CJNE R7,#0,K3S1 INC HOUR MOV R6,HOUR CJNE R6,#24,KHOU MOV HOUR,#0KHOU: AJMP KK3 K3S1: CJNE R7,#1,K3S2 INC MINU MOV R6,MINU CJNE R6,#60,KMIN MOV MINU,#0KMIN: AJMP KK3 K3S2: INC SECO MOV R6,SECO CJNE R6,#60,KSEC MOV SECO,#0KSEC: AJMP KK3;對鬧鈴設(shè)定KSS1: CJNE A,#2,KK3 MOV R7,K2ZT CJNE R7,#0,K3SS1 INC NHOU MOV R6,NHOU CJNE R6,#24,KNU MOV NHOU,#0KNU: AJMP KK3 K3SS1: CJNE R7,#1,KK3 INC NMIN MOV R6,NMIN CJNE R6,#60,KK3 MOV NMIN,#0;判定K4KK3: SETB K4 JB K4,KYEND ;K4=1 LOOP CALL DELAY20MS ;軟件防抖 JB K4,KYEND KS4: JNB K4,$ CALL DELAY20MS ;軟件防抖 JNB K4,KS4 MOV A,KEZT CJNE A,#1,KSS3 MOV R7,K2ZT CJNE R7,#0,K4SS1 DEC HOUR MOV R6,HOUR CJNE R6,#0FFH,K4HO MOV HOUR,#23K4HO: AJMP KYEND K4SS1: CJNE R7,#1,K4SS2 DEC MINU MOV R6,MINU CJNE R6,#0FFH,K4MI MOV MINU,#59K4MI: AJMP KYEND K4SS2: DEC SECO MOV R6,SECO CJNE R6,#0FFH,K4SE MOV SECO,#59K4SE: AJMP KYEND;對鬧鈴設(shè)定KSS3: CJNE A,#2,KYEND MOV R7,K2ZT CJNE R7,#0,K4SSS1 DEC NHOU MOV R6,NHOU CJNE R6,#0FFH,K4NH MOV NHOU,#23K4NH: AJMP KYEND K4SSS1: CJNE R7,#1,KYEND DEC NMIN MOV R6,NMIN CJNE R6,#0FFH,KYEND MOV NMIN,#59KYEND: RET ;*ZHISHI: MOV A,KEZT CJNE A,#1,LOOP1 CLR L1 SETB L2 AJMP LOOP3LOOP1: CJNE A,#2,LOOP2 CLR L1 CLR L2 AJMP LOOP3LOOP2: SETB L1 SETB L2LOOP3: RET;*DISPLAY: ACALL SHUZHUAN MOV R3,#0 MOV DPTR,#LED_DM MOV R2,#07FH JB F0,DI1 MOV R0,#TIM AJMP DI3DI1: MOV A,KEZT CJNE A,#1,DI2 MOV R0,#TIM AJMP DI3DI2: MOV R0,#NTIMDI3: MOV P2,R2 MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R2 RR A MOV R2,A ACALL DELAY INC R0 INC R3 CJNE R3,#6H,DI3 RET;*SHUZHUAN: MOV R0,#TIM MOV A,HOUR MOV B,#10 DIV AB MOV R0,A INC R0 MOV R0,B INC R0 MOV A,MINU MOV B,#10 DIV AB MOV R0,A INC R0 MOV R0,B INC R0 MOV A,SECO MOV B,#10 DIV AB MOV R0,A INC R0 MOV R0,B;* MOV R0,#NTIM MOV A,NHOU MOV B,#10 DIV AB MOV R0,A INC R0 MOV R0,B INC R0 MOV A,NMIN MOV B,#10 DIV AB MOV R0,A INC R0 MOV R0,B INC R0 MOV R0,#0 INC R0 MOV R0,#0 RET;*DELAY: MOV R7,#20D1: MOV R6,#200 DJNZ R6,$ DJNZ R7,D1 RET;*;軟件防抖程序DELAY20MS: MOV R7,#100 D21: MOV R6,#100 DJNZ R6,$ DJNZ R7,D21 RET L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論