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

下載本文檔

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

文檔簡介

1、簡單控制系統(tǒng)設(shè)計與實現(xiàn)學(xué)年設(shè)計任務(wù)書 學(xué) 院計算機(jī)與信息工程學(xué)院專 業(yè)網(wǎng)絡(luò)工程課程名稱簡單控制系統(tǒng)設(shè)計與實現(xiàn)學(xué)年設(shè)計題 目LCD顯示的電子時鐘設(shè)計完成期限自2015年6月25日至2015年7月10日共2周內(nèi)容及任務(wù)一、項目的目的進(jìn)一步鞏固已學(xué)習(xí)的理論知識,理論聯(lián)系實踐,增強(qiáng)動協(xié)作能力,運用所學(xué)知識解決實際生活中遇到的問題,使學(xué)生具有初步的單片機(jī)系統(tǒng)設(shè)計與應(yīng)用能力。(1) 綜合運用單片機(jī)原理與應(yīng)用、數(shù)字電路等課程的內(nèi)容,為以后的工作奠定基礎(chǔ)。(2) 學(xué)會使用PROTEUS和KEIL等軟件。(3) 了解單片機(jī)開發(fā)全過程。二、項目任務(wù)的主要內(nèi)容和要求使用文字型LCD顯示器顯示當(dāng)前時間,顯示格式為“時

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

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

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

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

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

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

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

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

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

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

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

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

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

15、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; /讀取地址返回數(shù)值 else if (x1 = 0xbf) return 1; else if (x1 = 0xdf) return 2; else if (x1 = 0xef) retu

16、rn 3; else if (x1 = 0xf7) return 4; return 255;主程序中調(diào)用按鍵程序顯示子程序。Key = read_key(); /讀出按鍵switch(Key) /分別處理四個按鍵 case 0: modify = 1; break; /開始設(shè)置 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; /設(shè)置結(jié)束五、結(jié)果分析用PROTEUS軟件畫出電

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

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

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論