LCD顯示電子時鐘設計_第1頁
LCD顯示電子時鐘設計_第2頁
LCD顯示電子時鐘設計_第3頁
LCD顯示電子時鐘設計_第4頁
LCD顯示電子時鐘設計_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、實用標準文案簡單控制系統設計與實現學年設計任務書 學 院計算機與信息工程學院專 業網絡工程課程名稱簡單控制系統設計與實現學年設計題 目LCD顯示的電子時鐘設計完成期限自2015年6月25日至2015年7月10日共2周內容及任務一、項目的目的進一步鞏固已學習的理論知識,理論聯系實踐,增強動協作能力,運用所學知識解決實際生活中遇到的問題,使學生具有初步的單片機系統設計與應用能力。(1) 綜合運用單片機原理與應用、數字電路等課程的內容,為以后的工作奠定基礎。(2) 學會使用PROTEUS和KEIL等軟件。(3) 了解單片機開發全過程。二、項目任務的主要內容和要求使用文字型LCD顯示器顯示當前時間,顯

2、示格式為“時時:分分:秒秒”。用4個功能鍵操作來設置當前時間。功能鍵K1K4功能如下。K1進入設置現在的時間。K2設置小時。K3設置分鐘。K4確認完成設置。程序執行后工作指示燈LED 閃爍,表示程序開始執行,LCD顯示“00:00:00”,然后開始計時。三、項目設計(研究)思路(1)查找與LCD顯示的電子時鐘設計設計相關的文獻資料。(2)根據所查閱的文獻資料,完成系統的總體設計方案,并根據設計要求進行單片機等硬件芯片的選型。(3)根據系統的總體設計方案,完成硬件電路接口連接和軟件模塊的設計,硬件電路接口連接主要是電子時鐘接口電路連接、單片機最小系統等,軟件主要包括顯示模塊、控制模塊等。(5)在

3、軟硬件設計好的基礎上,進行軟硬件的調試。并進行實物連接。四、具體成果形式和要求基于單片機的LCD顯示的電子時鐘設計系統一份。學年設計報告一份。進度安排起止日期工作內容2015.6.252015.6.30搜集資料,構建主體思路,繪制仿真電路圖。2015.7.12015.7.5編寫代碼并調試。2015.7.52015.7.10在單片機中寫入程序,準備文檔。主要參考資料1.劉同法,陳忠平. 單片機基礎與最小系統M. 北京航空航天大學出版社,2007.2.張毅剛. 單片機原理與應用M. 高等教育出版社,2009.3.馬忠梅等. 單片機的C語言應用程序設計M. 北京航空航天大學出版社,2003.4.李全

4、利,遲榮強. 單片機原理及接口技術M. 高等教育出版社,2004.指導教師意見(簽字): 年 月 日系(教研室)主任意見(簽字): 年 月 日簡單控制系統設計與實現學年設計說明書學院名稱: 計算機與信息工程學院 班級名稱: 學生姓名: 學 號: 題 目: LCD顯示的電子時鐘設計 指導教師姓 名: 起止日期: 2015.6.252015.7.10 第一部分:正文部分一、選題背景當今時代是一個知識爆炸的時代,新科技、新技術、新產品層出不窮,電子技術的發展尤為迅速,它充斥在我們的日常生活中。隨著科學技術的發展和社會的進步,單片機已成為當今計算機應用中空前活躍的領域,人們對數字鐘的要求也越來越高,傳

5、統的時鐘已經不能滿足人們的需求。數字電子時鐘是采用數字電路實現對時,分,秒數字顯示的裝置,廣泛應用于車站,碼頭和辦公室等公共場所,成為人們生活中不可或缺的必需品,研究數字時鐘及擴大其應用,對現實生活有極其重要的意義。單片機的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路和數字電路實現的大部分功能,現在單片機通過軟件就可以實現了,這種軟件代替硬件的控制技術又叫做微控制技術,是傳統控制技術的一次革命。而單片機模塊中最常見的數字時鐘相對機械時鐘來說,有更高的準確性和直觀性,且更方便更快捷,使用壽命也遠遠大于機械時鐘,所以得到廣泛的應用。二、設計理念本次設計以AT

6、89C51單片機為核心,通過編寫時鐘程序,實現在LCD上的顯示。此編程的核心在于定時器中斷及循環往復判斷是否有按鍵操作,而且每個按鍵的操作都會在LCD顯示器上做出相應的反應。本次設計采用的方案完全用軟件實現數字時鐘,原理:在單片機內部存儲器設三個字節分別時鐘的時、分、秒信息。利用定時器與軟件結合實現1秒定時中斷,每產生一次中斷,存儲器內相應的秒值加1;若秒值達到60,則將其清零,并將相應的分字節加1;若分值達到60,則將其清零,并將相應的時字節加1;若時值達到24,則將其清零。該方案的特點是硬件電路簡單,缺點是在每次執行程序時,都要對定時器重新賦值,因此該時鐘精度不高。并且程序的執行與時鐘的顯

7、示是同步進行的,當程序不執行時,時鐘也會停止工作。三、電路硬件設計部分3.1基于單片機的電子時鐘基本框圖基于單片機電子時鐘總體框圖,如下圖3-1所示,總體結構包括單片機主控電路,按鍵電路,LCD顯示電路,晶振與復位電路,蜂鳴器電路電路,還有電源。圖3-1電子時鐘基本框圖3.2單片機AT89C51AT89C511有以下標準功能:32可編程I/O線,片內振蕩器和時鐘電路,可編程串行通道,5個中斷源,低功耗的閑置和掉電模式,4K字節可編程閃爍存儲器,128*8位內部RAM兩個16位定時器/計數器。 AT89C5具有如下特性:全靜態工作:0Hz-24Hz,具有128*8位內部RAM,數據保留

8、時間10年,具有4k自節可編程FLASH存儲器,可編程串行通道,具有5個中斷源。AT89C5部分引腳功能:()P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低字節地址和數據總線,P0口能以吸收電流的方式驅動八個LSTTL負載。()P1口(P1.0 - P1.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載。()P2口(P2.0 - P2.7)是一個帶有內部提升電阻的8位準雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅動(吸收或輸出電流)四個LSTTL負載。()P3口(P3.0 -

9、P3.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載。3.3 LCD16021602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD2是指顯示的內below容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數字)。1602液晶模塊內部的字符發生存儲器(CGROM)

10、已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。3.晶振電路基于單片機的電子時鐘晶振電路,如圖3-2所示。圖3-2晶振電路晶體振蕩器電路3給數字鐘提供一個頻率穩定在12Hz的方波信號,它可以保證數字時鐘的走時準確及穩定,無論什么樣式的電子時鐘都會使用晶體振蕩器電路電路,是單片機最小系統的重要組成部分。3.4按鍵電路基于單片機的電子時鐘按鍵功能電路,如圖3-3所示。圖3-3按鍵

11、電路按鍵電路跟顯示電路一樣,采用掃描方式,并巧妙利用顯示時的數碼管驅動的位置信號,也就是在顯示的同時,判斷相應按鍵的狀態。判斷的方法是在顯示某一數碼管時,判斷U1的P3.7的狀態,如果P3.7為高電平,說明沒有按鍵按下,如果P3.7為低電平,則說明相應的按鍵按下,這時,通過讀回U1的P3口中P3.3P3.5的值,就可判斷是那個按鍵按下,然后調用相應的處理程序進行處理。按鍵需要四個,它們分別實現的功能是K1進入設置現在的時間。K2設置小時。K3設置分鐘。K4確認完成設置。程序執行后工作指示燈LED 閃動,表示程序開始執行,LCD顯示“00:00:00”,然后開始計時,時間的調整按遞增的方式增加,

12、且調整時不對其他時間的顯示產生干擾,用單片機的4個I/O接收控制信號。3.5顯示電路電子時鐘顯示電路,如圖3-4所示。圖3-4顯示電路單片機的P0.1P0.7與 LCD的D0D7相連,通過單片機的P0.1-P0.7將要顯示的字符輸入譯碼器,經譯碼器編譯后在LCD輸出相應的字符,LCD的顯示采用掃描方式。3.5蜂鳴器電路其硬件原理圖如下圖3-5所示。此電路用于整時提示。SPEAKER與P1.2口相連,當SPEAKER輸出高電平時蜂鳴器不響,而SPEAKER輸出低電平時蜂鳴器發出響聲。只需控制SPEAKER輸出高低電平的時間和變化頻率,就可以讓蜂鳴器發出不同的聲音。圖3-5蜂鳴器電路四、

13、軟件設計4.1軟件需要完成的功能:(1)顯示時間,通過對程序的調節,在LCD上顯示時間。(2)調節時間,通過對按鍵的調節,實現對時鐘的調節。具體為按下K1,進入設置現在的時間;按下K2,調節小時;按下K3,設置分鐘;按下K4,確認完成設置。4.2系統總流程圖軟件程序從開始到執行,先初始化各個寄存器,通過掃描按鍵來決定是否設定參數來執行相應的功能程序4,進而在LCD上顯示,如圖4-1所示。圖4-1系統流程圖4.4中斷程序時鐘的最小計時單位是秒,使用定時器的方式1,最大的定時時間也只能達到131。在這里把定時器的定時時間定為50,這樣,計數溢出20次即可得到時鐘的最小計時單位秒。計數20次可以用軟

14、件實現,對定時器溢出次數進行計數,計滿20次即為1秒。從秒到分,從分到時,以及從時到天都是通過軟件累加并進行比較的方法實現的。void timer0(void) interrupt 1 /T0中斷函數, 50ms執行一次 TH0 = 0x4c; /重新給TH0賦值 t0+; t0 %= 20; /20, 一秒鐘if(t0 = 0) new_s = 1; LED = LED; / 是按位取反 if(modify) LED = 0;4.5按鍵程序定義四個按鍵,它們分別實現的功能是K1進入設置現在的時間。K2設置小時。K3設置分鐘。K4確認完成設置。uchar read_key(void) ucha

15、r x1, x2; /定義兩個uchar類型的變量x1,x2 KEY_IO = 255; /初始化KEY_IO x1 = KEY_IO; /將KEY_IO賦值給x1 if (x1 != 255) delay(100); /延時 x2 = KEY_IO; if (x1 != x2) return 255; /判斷 while(x2 != 255) x2 = KEY_IO; if (x1 = 0x7f) return 0; /讀取地址返回數值 else if (x1 = 0xbf) return 1; else if (x1 = 0xdf) return 2; else if (x1 = 0xef

16、) return 3; else if (x1 = 0xf7) return 4; return 255;主程序中調用按鍵程序顯示子程序。Key = read_key(); /讀出按鍵switch(Key) /分別處理四個按鍵 case 0: modify = 1; break; /開始設置 case 1: if(modify) hour+; hour %= 24; W_BUFF(); break; case 2: if(modify) min+; min %= 60; W_BUFF(); break; case 3: modify = 0; break; /設置結束五、結果分析用PROTEU

17、S軟件畫出電路圖,將程序生成的“.hex”4文件導入到單片機中,點擊仿真按鈕,程序開始運行,電路開始正常工作,LCD數字時鐘顯示如下圖5-1所示。圖5-1數字時鐘程序執行后工作指示燈LED2 閃動,當出現整點時,蜂鳴器開始整點報時。開始進入設置時間,按下K1,工作指示燈LED 一直亮,說明可以設置時間;按下K2時,小時的個位數加,當加到時,十位數加,當十位數加到時,十位數清零;按下K時,分鐘的個位數加,當加到時,十位數加,當十位數加到時,十位數清零;按下K4時,工作指示燈LED 閃動,說明設置結束,返回到正常顯示的狀態。仿真結果如下圖5-所示。圖-總體仿真圖六、總結這次課程設計采用的是AT89

18、C51單片機,而接口電路則是一個數字時鐘,經過反反復復的修改、調試,程序終于達到預期功能。通過PROTEUS仿真演示也達到預期的功能。該設計采用了多種芯片,程序雖然不是很長但有很多接口需要定義,而且實現起來也比較麻煩。雖然關于LCD的顯示實驗在之前做過,但只是在屏幕上顯示時間并沒有按鍵調節,所以在做實驗的過程中遇到很多問題,通過上網查詢,請教同學和老師都順利解決了通過本次單片機課程設計,系統的了解了電子時鐘的設計過程,尤其是軟、硬件的設計方法,掌握了按鍵顯示電路的基本功能及編程方法,了解了按鍵電路和顯示電路的一般原理,還掌握了有定時器的使用和中斷程序的編程方法,提高了自身的實踐能力。還積累了很多寶貴的經驗,比如說,在I/O

溫馨提示

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

評論

0/150

提交評論