電子時鐘的設計實現(xiàn)分析_第1頁
電子時鐘的設計實現(xiàn)分析_第2頁
電子時鐘的設計實現(xiàn)分析_第3頁
電子時鐘的設計實現(xiàn)分析_第4頁
電子時鐘的設計實現(xiàn)分析_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.z電子課程設計電子時鐘的設計與實現(xiàn)學院:電子信息工程學院專業(yè)班級:08級電信一班學號:20081326姓名:秦訓鋼2009年6月25日摘要:電子鐘已成為人們?nèi)粘I钪械谋匦杵?,廣泛應用于家庭、車站、碼頭、劇院、辦公室等場所。本系統(tǒng)采用本系統(tǒng)以AT89S52為主控芯片,實現(xiàn)電子時鐘的設計,并考慮節(jié)約系統(tǒng)的硬件,能用軟件實現(xiàn)的功能盡量都用軟件實現(xiàn)。而且到達時鐘功能為24小時的計時方式,顯示時、分;具有快速校準時、分的功能;根據(jù)鍵盤輸入調(diào)用相應鍵處理子程序,實現(xiàn)時間的調(diào)整;然后輸出到4位的LED顯示器顯示出來。

關(guān)鍵詞AT89S52定時器按鍵數(shù)碼管目錄設計任務………4設計方案與實現(xiàn)………………5硬件設計………5軟件設計………7總結(jié)……………..8附錄……………..9元件清單……….10程序清單………10參考文獻………141設計任務:1〕題目4位LED數(shù)字時鐘的設計2〕技術(shù)指標及設計要求〔1〕顯示小時、分鐘時間〔2〕實現(xiàn)秒的量化顯示〔3〕具有調(diào)整時間功能〔4〕開機復位顯示及手動復位顯示功能3〕給定條件及器件〔1〕單片機及相關(guān)外圍器件〔2〕直流穩(wěn)壓電源5V〔3〕萬用電路板〔4〕4聯(lián)共陽數(shù)碼管2設計方案及實現(xiàn)1〕硬件設計〔1〕相關(guān)器件介紹(a)4聯(lián)LED數(shù)碼顯示器筆段(a)4聯(lián)LED數(shù)碼顯示器筆段(b)4聯(lián)LED數(shù)碼顯示器引線圖3四位LED數(shù)碼顯示器abcdefgh2bfaabcdefghabcdefghabcdefghg1hd4e3c④③②①abcdefghabfghcde(a)LED數(shù)碼顯示器筆段(b)LED數(shù)碼顯示器引線圖1一位LED數(shù)碼顯示器abcdefgh(c)共陽極構(gòu)造9012EBC圖29012和LED引線排列1234圖4按鍵引線排列1234or_+數(shù)碼管介紹:數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元〔多一個小數(shù)點顯示〕;按能顯示多少個“8〞可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極()的數(shù)碼管。共陽數(shù)碼管在應用時應將公共極接到+5V,當*一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當*一字段的陰極為高電平時,相應字段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極()的數(shù)碼管。共陰數(shù)碼管在應用時應將公共極接到地線GND上,當*一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當*一字段的陽極為低電平時,相應字段就不亮。本設計采用共4聯(lián)共陽數(shù)碼管數(shù)碼管的驅(qū)動方式數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。①靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進展驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進展驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動,要知道一個89S52單片機可用的I/O端口才32個呢:〕,實際應用時必須增加譯碼驅(qū)動器進展驅(qū)動,增加了硬件電路的復雜性。②動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到一樣的字形碼,但終究是那個數(shù)碼管會顯示出字形,取決于單片機對位選通端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制翻開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。本設計采用動態(tài)掃描的方式進展顯示單片機〔AT89S52〕介紹:主要性能與MCS-51單片機產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數(shù)器八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符。功能特性描述At89s52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷構(gòu)造,全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停頓工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停頓,直到下一個中斷或硬件復位為止電路設計電路原理圖如下所示,單片機采用內(nèi)部有8kb的flashROM與80C51完全兼容的AT89S52單片機,擴展4位共陽極LED數(shù)碼顯示器,采用動態(tài)顯示方式,顯示段碼由P0口提供,位碼由P2.4~2.7提供,擴展2個獨立式按鍵用于時間的設定及調(diào)整。電源插座電源插座圖6時鐘電路C1C2RST*1*2VCCVSSP0.6P0.5P0.7P0.3P0.4P0.0P0.1AT89S52P2.7C312MHZ30P30PR16.8k10μR6R13R2~R56.8k×4R2R490129012時十位abcdfghR3R5P2.490125V9012P2.6P2.5EA4321P0.2e++_10μC4S2S1P3.0P3.1時個位分個位分十位+R6~R13470×8S0軟件設計:軟件設計根本思想:由單片機的定時器T0產(chǎn)生0.05s的時間基準,通過計數(shù)得到時鐘的秒、分、時信號,由顯示子程序送數(shù)碼管顯示器顯示,鍵盤工作在掃描方式,當有鍵按下時,通過鍵處理程序完成時間的調(diào)整?!?〕程序流程圖如下:調(diào)試通過燒錄器將軟件燒錄到單片機后數(shù)碼管顯示不正常,經(jīng)檢查是硬件電路的復位按鍵接錯,導致系統(tǒng)總是復位無法正常工作,經(jīng)修改后顯示正常??偨Y(jié):經(jīng)過了一個多星期的學習和工作,我終于完成了單片機時鐘課程設計。從開場接到論文要求到時鐘的實現(xiàn),再到論文文章的完成,每走一步對我來說都是新的嘗試與挑戰(zhàn),這也是我在大學期間獨立完成的最大的工程。在這段時間里,我學到了很多知識也有很多感受,我開場了獨立的學習和試驗,查看相關(guān)的資料和書籍,讓自己頭腦中模糊的概念逐漸清晰,使自己非常稚嫩作品一步步完善起來,每一次改良都是我學習的收獲,每一次試驗的成功都會讓我興奮好一段時間。當看著自己的程序,自己成天相伴的系統(tǒng)能夠**的運行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最終都會化為甜美的甘泉。這次論文的經(jīng)歷也會使我終身受益,我感受到做論文是要用心去做的一件事情,是真正的自己學習的過程和研究的過程,沒有學習就不可能有研究的能力,沒有自己的研究,就不會有所突破。通過本次畢業(yè)設計,,獲得了豐富的理論知識,極大地提高了實踐能力,單片機領域這對我今后進一步學習計算機方面的知識有極大的幫助。附錄:〔1〕元器件清單:〔2〕程序清單;====================================================;預定義局部:;====================================================BUFEQU6EHSBFEQU6FHMBFEQU70HHBFEQU71HFGWEQU76HFSWEQU77HSGWEQU78HSSWEQU79HB05BIT00H;0.5s標志SS2BITP3.1SS1BITP3.0;====================================================;初始化及主程序;====================================================ORG 0000HLJMP MAINORG 000BHLJMP TOCLOCK;0.05s中斷效勞程序ORG0100HMAIN:MOV IE,*00HMOV SP,*30H;堆棧指針MOV 20H,*00H ;清標志CLR A ;A=00HMOV BUF,A ;BUF清0MOV SBF,A ;SBF清0MOV MBF,A ;MBF清0MOV HBF,*0CH ;初始時鐘顯示12:00MOV TMOD,*01H ;定時器T0工作在方式1MOV TH0,*3CH ;T0用于時鐘定時,0.05s定時初值MOV TL0,*0B0HSETB PT0 ;T0高級優(yōu)先ACALL PUTD_PRG ;調(diào)用向顯示緩沖區(qū)放數(shù)子程序ACALL DISP_PRG ;調(diào)用顯示子程序LCALL YS20MSSETBEA ;開中斷SETBET0SETBTR0 ;啟動定時NOPNOPLOO_1:ACALLPUTD_PRG ;調(diào)用向顯示緩沖區(qū)放數(shù)子程序 ACALLDISP_PRG ;調(diào)用顯示子程序 ACALLJPCL_PRG ;調(diào)用鍵盤掃描處理子程序 SJMPLOO_1;====================================================;T0中斷效勞程序;====================================================TOCLOCK:MOV TH0,*3CH MOV TL0,*0B7H PUSH PSW PUSH ACC INC BUF ;BUF+1 MOV A,BUF CJNE A,*10,CLOCK_1 SETB B05 ;置位0.5s標志CLOCK_1: CJNE A,*20,DK13 ;累計20次為1s CLR B05 ;去除0.5s標志 MOV BUF,*00H MOV A,SBF ;修改秒計數(shù)單元 INC A MOV SBF,A ; CJNE A,*60,DK13 ;不到60,返回 MOV SBF,*00H ;等于60,計數(shù)單元清0 MOV A,MBF ;修改分計數(shù)單元 INC A MOV MBF,A CJNE A,*60,DK13 MOV MBF,*00H MOV A,HBF ;修改時計數(shù)單元 INC A MOV HBF,A CJNE A,*24,DK13 MOV HBF,*00H SJMP DK13DK13: POP ACC POP PSW RETI;=====================================================;向顯示緩沖區(qū)放數(shù)子程序;=====================================================PUTD_PRG: PUSH PSW ;保護現(xiàn)場,(RS1,RS0) PUSH B PUSH ACCPUTD2: MOV A,MBF ;MBF中內(nèi)容送入A ACALL CHU10 ;調(diào)用除10程序 MOVFGW,B ;分個位送顯緩76H MOVFSW,A ;分十位送顯緩77HPUTD5: MOVA,HBF ;HBF中內(nèi)容送入A ACALLCHU10 ;調(diào)用除10程序 MOVSSW,A ;時十位送顯緩79HPUTD10: MOV SGW,B ;時個位送顯緩78HPUTD9:POP ACC POPB ;恢復現(xiàn)場 POPPSW ;恢復(RS1,RS0) RET ;子程序返回;======================================================;除10子程序;======================================================CHU10:MOVB,*0AHDIVABRET;======================================================;顯示子程序(須將顯緩中十進制數(shù)轉(zhuǎn)換成七段碼,再送數(shù)碼顯示器);======================================================DISP_PRG: PUSH PSW SETB RS0 ;轉(zhuǎn)工作存放器組1 CLR RS1 PUSH ACC ;保護現(xiàn)場 MOV A,P2 ORL A,*0F0H ;高4位置1 MOV P2,A ;關(guān)閉顯示 MOV R0,*FGW MOV DPTR,*TABD MOV A,R0 MOVC A,A+DPTR MOV P0,A CLR P2.4 ;點亮1位LCALLYS20MSINCR0MOVDPTR,*TABDMOVA,R0MOVCA,A+DPTRMOVP0,ASETBP2.4CLRP2.5 ;點亮2位LCALLYS20MSINCR0MOVDPTR,*TABDMOVA,R0MOVCA,A+DPTRJNBB05,DISP_1ANLA,*7FH ;點亮小數(shù)點DISP_1: MOVP0,ASETBP2.5CLRP2.6 ;點亮3位LCALLYS20MSINCR0MOVDPTR,*TABDMOVA,R0CJNEA,*00H,DISP_2MOVA,*0AH ;最高位為0,顯示滅DISP_2: MOVCA,A+DPTR MOVP0,A SETBP2.6 CLRP2.7 ;點亮4位LCALLYS20MS SETBP2.7 POPACC ;恢復現(xiàn)場 POPPSW ;返回工作存放器組 RET ;子程序返回TABD: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;======================================================;鍵掃描處理子程序;======================================================JPCL_PRG: SS1,JP_1 ;S1未按下轉(zhuǎn)查S2 ACALL DELY10 ;延時消抖 SS1,JP_1JP_2: ACALL PUTD_PRG ACALL DISP_PRG JNBSS1,JP_2 ;等待S1鍵釋放

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論