




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 單片機技術課程設計說明書數字電子鐘院、部:電氣與信息工程學院學生姓名:王文亮指導教師:王韌職稱副教授專業(yè):自動化班級:1004完成時間:2012-12-31摘要電子鐘在生活中應用非常廣泛,而一種簡單方便的數字電子鐘則更能受到人們的歡迎。所以設計一個簡易數字電子鐘很有必要。本電子鐘采用ATMEL公司的AT89S52單片機為核心,使用12MHz 晶振與單片機AT89S52 相連接,通過軟件編程的方法實現以24小時為一個周期,同時8位7段LED數碼管(兩個四位一體數碼管顯示小時、分鐘和秒的要求,并在計時過程中具有定時功能,當時間到達提前定好的時間進行蜂鳴報時。該電子鐘設有四個按鍵K1、K2、K3和
2、K4鍵,進行相應的操作就可實現校時、定時、復位功能。具有時間顯示、整點報時、校正等功能。走時準確、顯示直觀、運行穩(wěn)定等優(yōu)點。具有極高的推廣應用價值。關鍵詞電子鐘;AT89S52;硬件設計;軟件設計ABSTRACTClock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATME Ls a
3、s its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube displays hours, minutes and seconds requirements,
4、and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons K1, K2, K3 and K4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer fu
5、nction, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value.Key words Electronic clock;AT89S52;Hardware Design;Software Design目錄1設計課題任務、功能要求說明及方案介紹 (11.1設計課題任務 (11.2功能要求說明 (11.3設計總體方案介紹及原理說明 (12設計課題硬件系統(tǒng)的設計 (22.1設計課題硬件系統(tǒng)各模塊功能簡
6、要介紹 (22.2設計課題電路原理圖、PCB圖、元器件布局圖 (22.3設計課題元器件清單 (33設計課題軟件系統(tǒng)的設計 (53.1設計課題使用單片機資源的情況 (53.2設計課題軟件系統(tǒng)各模塊功能簡要介紹 (53.3設計課題軟件系統(tǒng)程序流程框圖 (53.4設計課題軟件系統(tǒng)程序清單 (94設計結論、仿真結果、誤差分析、教學建議 (204.1設計課題的設計結論及使用說明 (204.2設計課題的仿真結果 (204.3設計課題的誤差分析 (214.4設計體會 (214.5教學建議 (21參考文獻 (23致謝 (24附錄 (251 設計課題任務、功能要求說明及方案介紹1.1 設計課題任務設計一個具有特
7、定功能的電子鐘。具有時間顯示、報時等功能。并有時間設定,時間調整功能。1.2 功能要求說明設計一個具有特定功能的電子鐘。該電子鐘上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”,進入時鐘準備狀態(tài);第一次按電子鐘啟動/調整鍵,電子鐘從0時0分0秒開始運行,進入時鐘運行狀態(tài);再次按電子鐘啟動/調整鍵,則電子鐘進入時鐘調整狀態(tài),此時可利用各調整鍵調整時間,調整結束后可按啟動/調整鍵再次進入時鐘運行狀態(tài)。1.3 設計課題總體方案介紹及工作原理說明本電子鐘主要由單片機、4*1獨立鍵盤、顯示接口電路和復位電路構成,設計課題的總體方案如圖1.1所示: 圖1.1 總體設計方案圖本電子鐘的所有的軟件、參數均存放在A
8、T89S52的內部ROM和內部RAM中,減少了芯片的使用數量簡化了整體電路也降低了整機的工作電流。鍵盤采用動態(tài)掃描方式。利用單片機定時器及計數器產生定時效果通過編程形成數字鐘效果,再利用數碼管動態(tài)掃描顯示單片機內部處理的數據,同時通過端口讀入當前外部控制狀態(tài)來改變程序的不同狀態(tài),實現不同功能。2 設計課題硬件系統(tǒng)的設計2.1設計課題硬件系統(tǒng)各模塊功能簡要介紹本設計的硬件系統(tǒng)主要采用以下基本模塊來實現,單片機最小系統(tǒng)模塊,輸入模塊、輸出模塊、電源模塊。(1單片機最小系統(tǒng)模塊:包括低功耗、高性能CMOS8位微控制器AT89S52;復位電路;晶振電路。本模塊AT89S52系統(tǒng)控制核心,單片機系統(tǒng)復位
9、由復位電路完成,單片機內部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端位位引腳XTAL2。通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容。這樣就構成一個穩(wěn)定的自激振蕩器。(2輸入模塊:本模塊共用到了5個按鍵,1個復位鍵,單片機接通電源后,利用按鍵復位完成復位操作。,K1鍵控制電子鐘的啟動調整狀態(tài),做正常走時狀態(tài)時K2為電子鐘時調整鍵,K3為電子鐘分調整鍵,K4鍵為電子鐘秒調整鍵,當作為鬧鐘調整狀態(tài)時K4鍵為鬧鐘啟動/關閉,K2為鬧鐘時調整鍵,K3為鬧鐘分調整鍵。K1、K2、K3,K4任一鍵都獨自連一個I/O(P1.0、P1.1、P1.2口線,說明它們可以獨立實現相應的電
10、子鐘功能。(3輸出模塊:本次設計顯示為8位字符,采用兩個四位一體數碼管(共陽極作為顯示窗口,既可以節(jié)約成本又能簡化電路。數碼管用8個PNP三極管驅動。(4電源模塊:現在市面上銷售的編程器有很多都是由PC機的USB口直接供電為了降低本設計的成本及節(jié)省設計時間,沒有另外設計編程器,而直接購買了市場上的USB供電及下載器。2.2設計課題電路原理圖、PCB圖、元器件布局圖 圖2.1 電路原理圖 圖2.2 PCB圖 圖2.3 元器件布局圖2.3設計課題元器件清單表2.1 設計所用元器件清單 3 設計課題軟件系統(tǒng)的設計3.1 設計課題使用單片機資源的情況設計課題使用單片機資源的情況如下:P0口輸出數碼管段
11、控信號,P2口輸出數碼管位控信號;晶振12MHz;時間調整開關鍵K1:P1.0;通過K1切換電子鐘走時/暫停;時調整鍵K2:P1.1;按一次使電子鐘時加1;分調整鍵K3:P1.2;按一次使電子鐘分加1;秒調整鍵K4:P1.3按一次使電子鐘秒加1/鬧鐘開啟或關閉;蜂鳴器接:P3.1;整點和鬧鐘時間到時蜂鳴器報時;28H-36H;9個寄存器單元作為顯示單元;28H 鬧鈴小時緩沖區(qū);29H鬧鈴分鐘緩沖區(qū);30H 位選通控制位; 31H 顯示位數計數器;32H 走時小時緩沖區(qū);33H 走時分鐘緩沖區(qū);34H走時秒緩沖區(qū); 35H 定時器中斷次數計數器;36H顯示緩沖區(qū)首地址;3.2設計課題軟件系統(tǒng)個模
12、塊功能簡要介紹本設計的軟件系統(tǒng)主要采用以下基本模塊來實現,主程序、中斷服務程序、鍵盤輸入程序模塊、數碼管及其驅動模塊和延時模塊。主程序:主要是用于對輸入信號的處理、輸出信號的控制和對各個功能程序模塊的運用及其控制。中斷服務程序:主要是用于電子鐘的準確運行、數據輸入過程中的閃爍。鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。數碼管及其驅動模塊:主要是用于驅動數碼管及利用數碼管顯示時間。延時模塊:程序中有兩種延時子程序,一種是短延時用于判鍵按下等,一種是長延時。3.3 設計課題軟件系統(tǒng)程序流程框圖系統(tǒng)軟件采用匯編語言按模塊化方式進行設計,然后通過Keil軟件開發(fā)平臺將程序轉變成十六進制程
13、序語言,接著使用Proteous 進行仿真,讀出顯示數據。 圖3.1 主程序流程框圖 圖3.2 定時器初始化子程序流程框圖 圖3.3 轉換子程序 圖3.6 按鍵處理子程序流程框圖3.4設計課題軟件系統(tǒng)程序清單;= ;課程設計名稱:數字電子鐘; 要求:<一>.顯示系統(tǒng)提示符“P.”; <二>.定義5個功能鍵:分別是復位鍵,啟動/暫停鍵,時調整鍵,分調整鍵,秒調整鍵; <三>.在系統(tǒng)提示符狀態(tài)下,只有按啟動鍵/暫停鍵才能開啟電子鐘; <四>.在電子鐘運行狀態(tài)下,只有按啟動鍵/暫停鍵才能調整電子鐘; 附加功能:<一>.能自動正點報時; &l
14、t;二>.能設定鬧鐘; 作者:自本1004班王文亮; 完成時間:2012年12月24日; 電路描述:P0口為數碼管段控口,P2口為數碼管位控口,蜂鳴器接P3.1口, LED燈接P3.7口;=;=; 程序定義段;=ALARM BIT 20H.0K1 BIT P1.0K2 BIT P1.1K3 BIT P1.2K4 BIT P1.3HOUR_A EQU 28HMIN_A EQU 29HDISP_DIGIT EQU 30HDISP_SEL EQU 31HHOUR EQU 32HMIN EQU 33HSEC EQU 34HT1_COUNT EQU 35HDISP_BUF EQU 36H;=; 主
15、程序開始;=ORG 0000HLOOP: MOV P0, #0CHMOV P2, #7FHJB P1.0, LOOPLCALL DELAY_10msJB P1.0, LOOPJNB P1.0, $LJMP MAINORG 000BHLJMP TIME0ORG 001BHLJMP TIME1ORG 0100HMAIN: MOV SP, #70HMOV P0, #0FFH MOV P2, #0FFH CLR ALARMMOV HOUR_A, #12MOV MIN_A, #00 MOV HOUR, #0MOV MIN, #0MOV SEC, #0MOV T1_COUNT, #0MOV DISP_DI
16、GIT,#7FHMOV DISP_SEL, #0MOV DISP_BUF+2,#10MOV DISP_BUF+5,#10ACALL T0T1_INITSTART: ACALL CONVACALL ALA_CHECKJB K1, K1_NEXT ACALL LIGHTACALL KEY_PROCAJMP STARTK1_NEXT: JB K2, K2_NEXTAJMP STARTK2_NEXT: JB K3, K3_NEXTAJMP STARTK3_NEXT: JB K4, K4_NEXTACALL LIGHTACALL ALARM_SETCPL ALARMJNB ALARM, STOP_BEE
17、PACALL LIGHTACALL LIGHTACALL LIGHTAJMP STARTSTOP_BEEP:ACALL LIGHTK4_NEXT: AJMP START;= ; 定時器T0.T1初始化子程序;= T0T1_INIT:MOV TMOD, #11HMOV TH0, #0F8HMOV TL0, #0CCHMOV TH1, #0DCHMOV TL1, #00HSETB EASETB ET0SETB ET1SETB TR0SETB TR1RET;=; 走時轉換子程序;= CONV: MOV A, HOURMOV B, #10DIV ABMOV DISP_BUF, AMOV A, BMOV
18、 DISP_BUF+1,AMOV A, MINMOV B, #10DIV ABMOV DISP_BUF+3,AMOV A, BMOV DISP_BUF+4,AMOV A, SECMOV B, #10DIV ABMOV DISP_BUF+6,AMOV A, BMOV DISP_BUF+7,ARET;= ; 定時器T0中斷服務程序,用于數碼管掃描;= TIME0: PUSH ACCPUSH PSWMOV TH0, #0F8HMOV TL0, #0CCHACALL DISPPOP PSWPOP ACCRETI;= ; 顯示子程序;= DISP: MOV P2, #0FFHMOV A, #DISP_B
19、UFADD A, DISP_SELMOV R0, AMOV A, R0MOV DPTR, #TABMOVC A, A+DPTRMOV P0, AMOV P2, DISP_DIGITMOV A, DISP_DIGITRR AMOV DISP_DIGIT,AINC DISP_SELMOV A, DISP_SELCLR CSUBB A, #8JZ RST_0AJMP DISP_RETRST_0: MOV DISP_SEL, #0DISP_RET: RET;= ; 定時器T1中斷服務程序,用于電子鐘走時;= TIME1: PUSH PSWPUSH ACCMOV TH1, #0DCHMOV TL1, #
20、00HINC T1_COUNTMOV A, T1_COUNTCLR CSUBB A, #100JC END_T1MOV T1_COUNT, #00HINC SECMOV A, SECCJNE A, #60, END_T1INC MINMOV SEC, #0MOV A, MINCJNE A, #60, END_T1INC HOURLCALL BEEPLCALL BEEPLCALL BEEPLCALL BEEPLCALL BEEPMOV MIN, #0MOV A, HOUR CJNE A, #24, END_T1MOV SEC, #0MOV MIN, #0MOV HOUR, #0END_T1: P
21、OP ACCPOP PSWRETI;= ; 數碼管段控碼表;= TAB: DB 0C0H,0F9H,0A4H,0B0H,099HDB 092H,082H,0F8H,080H,090HDB 0BFHDB 0FFH;= ; 按鍵處理子程序;= KEY_PROC: CLR TR1KEY2: JB K2, KEY3ACALL DELAY_10msJB K2, KEY3JNB K2, $INC HOURMOV A, HOURCJNE A, #24, KEY2_NEXT MOV HOUR, #0KEY2_NEXT:ACALL CONVAJMP KEY2KEY3: JB K3, KEY4ACALL DELA
22、Y_10msJB K3, KEY4JNB K3, $INC MINMOV A, MINCJNE A, #60, KEY3_NEXT MOV MIN, #0KEY3_NEXT:ACALL CONVAJMP KEY2KEY4: JB K4, KEY1ACALL DELAY_10msJB K4, KEY1JNB K4, $INC SECMOV A, SECCJNE A, #60, KEY4_NEXTMOV SEC, #0KEY4_NEXT:ACALL CONVAJMP KEY1KEY1: JB K1, KEY2ACALL DELAY_10msJB K1, KEY2JNB K1, $ACALL LIG
23、HTSETB TR1KEY_RET: RET;=; LED燈亮子程序;= LIGHT: CLR P3.7ACALL DELAY_100msSETB P3.7ACALL DELAY_100msRET;=; 蜂鳴器響子程序;= BEEP: CLR P3.1ACALL DELAY_100msSETB P3.1ACALL DELAY_100msRET;= ; 鬧鐘檢查及處理子程序;= ALA_CHECK:JNB ALARM, CHECK_RETMOV A, HOURMOV B, HOUR_ACJNE A, B, CHECK_RETMOV A, MINMOV B, MIN_ACJNE A, B, CHE
24、CK_RET TIME_OUT:ACALL BEEPACALL CONVJB K4, TIME_OUTJNB K4, $CLR ALARMCHECK_RET:RET;= ; 鬧鐘時間設置子程序;= ALARM_SET:ACALL CONV_AAKEY2: JB K2, AKEY3ACALL DELAY_10msJB K2, AKEY3JNB K2, $INC HOUR_AMOV A, HOUR_ACJNE A, #24, AKEY2_NEXTMOV HOUR_A, #0AKEY2_NEXT:ACALL CONV_AAJMP AKEY2AKEY3: JB K3, AKEY4ACALL DELAY
25、_10msJB K3, AKEY4JNB K3, $INC MIN_AMOV A, MIN_ACJNE A, #60, AKEY3_NEXTMOV MIN_A, #0AKEY3_NEXT:ACALL CONV_AAJMP AKEY2AKEY4: JB K4, AKEY2JNB K4, $ACALL LIGHTACALL CONVAKEY_RET: RET;= ; 鬧鐘時間轉換子程序;= CONV_A: MOV A, HOUR_AMOV B, #10DIV ABMOV DISP_BUF, AMOV A, BMOV DISP_BUF+1, AMOV A, MIN_AMOV B, #10DIV AB
26、MOV DISP_BUF+3, AMOV A, BMOV DISP_BUF+4, AMOV DISP_BUF+6, #0MOV DISP_BUF+6, #0RETDELAY_100ms:MOV R7, #13HDL1:MOV R6, #14HDL0:MOV R5, #82HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETDELAY_10ms:MOV R7, #01HDL3:MOV R6, #26HDL2:MOV R5, #82HDJNZ R5, $DJNZ R6, DL2DJNZ R7, DL3RETEND4 設計結論、仿真結果、誤差分析、教學建議4.1 設計課題的設
27、計結論及使用說明本設計為基于單片機的電子鐘的設計。剛開始,我們很多地方理不清頭緒,無從下手,但通過認真研究設計課題,找書上網查資料買元件,確定基本設計方案,對所用芯片功能進行查找、調試,然后畫電路圖制PCB板、打孔、溶銅、焊接等,真的經歷了許多困難,卻積累了很多寶貴的經驗,本設計用2個四位一體的共陽數碼管做為顯示器,它顯示時間值;設計中有三個按鍵,其中S1為啟動/選擇調整位置,S2為加控制鍵 S3為減控制鍵,當整點時間到時,蜂鳴器報警。這樣的結果與設計要求完全相符,本設計成功。完成了設計任務。4.2 設計課題的仿真結果實現功能:可調整運行的電子鐘具有三種工作狀態(tài):“P.”狀態(tài),運行狀態(tài),走時調
28、整狀態(tài),鬧鐘調整狀態(tài)(1、“P.”狀態(tài):依靠上電或按復位鍵進入,在此狀態(tài)下,按K2,K3,K4鍵均無效,按K1鍵有效,進入運行狀態(tài);(2、運行狀態(tài):在此狀態(tài)下,按K2,K3鍵均無效,只有按K1,K4鍵有效,按下K1鍵后,退出運行狀態(tài),進入調整狀態(tài)。(3、調整狀態(tài):按K1鍵進入在此狀態(tài)下,按K2(時+1鍵、K3(分+1鍵,K4(秒+1鍵鍵均有效;調整結束后必須按K1鍵,即可退出調整狀態(tài),進入運行狀態(tài)。(4、鬧鐘調整狀態(tài):鬧鐘走時狀態(tài)下按K4鍵進入,在此狀態(tài)下,按K2(時+1鍵、K3(分+1鍵,鍵均有效;調整結束后必須按K4鍵,即可退出鬧鐘調整狀態(tài),進入運行狀態(tài)。時間顯示格式為:時-分-秒; 圖4
29、.1 “P.”運行狀態(tài)仿真 圖4.2 時鐘運行狀態(tài)仿真4.3 設計課題的誤差分析該電子鐘在運行中存在一定的誤差,誤差產生有三種可能,首先是采用的計時方案是軟件計時的,計時優(yōu)勢利用中斷來實現。而當電子鐘運行時間1秒時,又得去執(zhí)行中斷程序,這個過程是需要時間的,所以就產生了一定的誤差,當然這個誤差是避免不了的,其次還有硬件系統(tǒng)也有一定的影響。第三,設計用到12MHz的晶振,計算是滿20次為一秒鐘,但實際會慢很多。4.4 設計體會本次課程設計,讓我受益匪淺,認識到了自己的許多缺點和不足,使我深深的感受到了理論聯(lián)系實際的必要性及其重要性。在我們以往的學習過程中,我們刻意地去加強理論的基礎,對于一個程序我們只求它在運行時沒有出錯,我們便以為我們的計劃成功了豈不知它能否在硬件結構中得以實現則是另外一回事,這就要求我們的動手能力,如果無法使軟件與硬件實現有機的結合,那么再好的程序也只是一堆廢字符。4.5 教學建議經過一個學期王韌老師教導的的單片機學習,我掌握了很多單片機學習的寶貴經驗,尤其在編程的思路和PCB實物的制作上面。編程思路是整個程序的靈魂,沒有編程思路,程序就不會編出來,就
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)技能培訓教學質量提升方案
- 2025-2030年中國吸水口行業(yè)深度研究分析報告
- 2025-2030年中國燃氣灶內環(huán)齒蓋行業(yè)深度研究分析報告
- 基于探究法的地理學科初探教學方案
- 2024年全球及中國水果榨漿機行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 設計委托服務合同
- 全過程工程咨詢管理服務解決方案
- 綠色建材交易平臺建設合同
- 產品采購計劃表-產品采購需求及計劃
- 2024-2030全球石墨烯導熱泡棉行業(yè)調研及趨勢分析報告
- 2024年新疆生產建設兵團興新職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2025年貴州蔬菜集團有限公司招聘筆試參考題庫含答案解析
- 醫(yī)院設施日常巡查管理制度
- 人教版四年級下冊數學第二單元觀察物體(二) 單元測試
- 建筑工程公司績效考核制度范本
- 專題12:賓語從句 -2023年中考英語考試研究(解析版)(上海專用)
- 汽車總線系統(tǒng)檢修課件 模塊一 汽車單片機在車載網絡中的應用
- 《工業(yè)管道在線檢驗指南》
- 保育員與教師協(xié)作配合的技巧與案例
- 2024-2030年中國實驗室家具行業(yè)發(fā)展規(guī)劃及投資前景預測報告版
- 綠色金融案例分析
評論
0/150
提交評論