九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

電子時(shí)鐘(LCD顯示)課程設(shè)計(jì).doc

上傳人:good****022 文檔編號(hào):116409708 上傳時(shí)間:2022-07-05 格式:DOC 頁(yè)數(shù):16 大小:1.01MB
收藏 版權(quán)申訴 舉報(bào) 下載
電子時(shí)鐘(LCD顯示)課程設(shè)計(jì).doc_第1頁(yè)
第1頁(yè) / 共16頁(yè)
電子時(shí)鐘(LCD顯示)課程設(shè)計(jì).doc_第2頁(yè)
第2頁(yè) / 共16頁(yè)
電子時(shí)鐘(LCD顯示)課程設(shè)計(jì).doc_第3頁(yè)
第3頁(yè) / 共16頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《電子時(shí)鐘(LCD顯示)課程設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《電子時(shí)鐘(LCD顯示)課程設(shè)計(jì).doc(16頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、題目2 電子時(shí)鐘(LCD顯示)1. 設(shè)計(jì)要求以AT89C51單片機(jī)為核心的時(shí)鐘,在LCD顯示器上顯示當(dāng)前的時(shí)間:使用字符型LCD顯示器顯示當(dāng)前時(shí)間。顯示格式為“時(shí)時(shí):分分:秒秒”。用4個(gè)功能鍵操作來(lái)設(shè)置當(dāng)前時(shí)間。功能鍵K1K4功能如下。K1進(jìn)入設(shè)置現(xiàn)在的時(shí)間。K2加1。K3減1。K4確認(rèn)完成設(shè)置。程序執(zhí)行后工作指示燈LED閃動(dòng),表示程序開(kāi)始執(zhí)行,LCD顯示“00:00:00”,然后開(kāi)始計(jì)時(shí)。1.時(shí)鐘的總體設(shè)計(jì)思路按照系統(tǒng)的設(shè)計(jì)功能要求,本時(shí)鐘系統(tǒng)的設(shè)計(jì)必須采用單片機(jī)軟件系統(tǒng)實(shí)現(xiàn),用單片機(jī)的自動(dòng)控制能力配合按鍵控制,來(lái)控制時(shí)鐘的調(diào)整及顯示。微型控制器時(shí)鐘電路按鍵調(diào)時(shí)數(shù)據(jù)顯示 圖一系統(tǒng)總原理圖3.

2、系統(tǒng)硬件設(shè)計(jì) 3.1 單片機(jī)控制系統(tǒng)本次設(shè)計(jì)時(shí)鐘電路,使用了ATC89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡(jiǎn)單且省去了很多復(fù)雜的線路,使得電路簡(jiǎn)明易懂,使用鍵盤(pán)鍵上的按鍵來(lái)調(diào)整時(shí)鐘的時(shí)、分、秒,同時(shí)使用C語(yǔ)言程序來(lái)控制整個(gè)時(shí)鐘顯示,使得編程變得更容易,這樣通過(guò)三個(gè)模塊:鍵盤(pán)、芯片、顯示屏即可滿足設(shè)計(jì)要求。原理如圖一所示。 ATC89C51單片機(jī)芯片 VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0

3、 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序

4、存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口

5、) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用

6、于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保

7、持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。1) 復(fù)位電路復(fù)位電路有兩種方式:上電復(fù)位和按鈕復(fù)位,我們主要用按鈕復(fù)位方式。如圖二所示: 圖二 復(fù)位電路2) 晶振電路晶振電路原理圖三: 圖三 晶振模塊原理圖 選取原則:電容選取20pF,晶振為12MHz。3) 電源AT89S51單片機(jī)的供電電源是5V的直流電。4) EA非/Vpp 腳我們沒(méi)有用外部擴(kuò)展ROM,因此EA非/Vpp為高電平,即接+5V電源。3.2.2鍵盤(pán)控制系統(tǒng)設(shè)計(jì)按鍵需要4個(gè),分別實(shí)現(xiàn)為

8、時(shí)間調(diào)整、時(shí)間的加、時(shí)間的減、退出四個(gè)功能。用單片機(jī)的4個(gè)I/O口接收控制信號(hào),其電路如圖四下: 圖四 按鍵調(diào)時(shí)電路通過(guò)控制鍵來(lái)控制所要調(diào)節(jié)的是時(shí)、分、還是秒。在控制鍵按下后LCD中會(huì)在相應(yīng)的位置出現(xiàn)光標(biāo),這時(shí)在通過(guò)加數(shù)鍵或減數(shù)鍵來(lái)控制時(shí)分秒的加或減。3.2.3.顯示電路。顯示電路如圖五所示: 圖五 顯示電路4.軟件設(shè)計(jì)4.1 軟件主要要完成的功能(1)顯示時(shí)間程序用軟件調(diào)節(jié)時(shí)間,通過(guò)程序的調(diào)節(jié),最后用LCD現(xiàn)實(shí)時(shí)鐘(2)調(diào)節(jié)時(shí)間程序按鍵調(diào)節(jié)時(shí)間,能實(shí)現(xiàn)時(shí)、分的調(diào)節(jié)4.2軟件設(shè)計(jì)的主要流程(1)系統(tǒng)總的流程圖主要功能是負(fù)責(zé)時(shí)間的顯示,通過(guò)寫(xiě)地址和寫(xiě)數(shù)據(jù)來(lái)實(shí)現(xiàn)時(shí)間的調(diào)節(jié)和控制,最后通過(guò)調(diào)用顯示子

9、程序顯示出來(lái) 如圖六所示。(2)時(shí)間控制程序時(shí)間控制程序,用中斷準(zhǔn)確的控制時(shí)間,采用60進(jìn)制,60秒為一分鐘,60分鐘為一個(gè)小時(shí),全天設(shè)置為24小時(shí)。程序流程圖如圖七所示。程序用C語(yǔ)言編寫(xiě),代碼見(jiàn)附錄二。編程時(shí)采用KEIL C,而仿真用PROTUES,仿真時(shí)仿真圖如圖八所示開(kāi)始定時(shí)器及中斷定時(shí)器初始化按鍵調(diào)時(shí)是否設(shè)定參數(shù)執(zhí)行顯示程序NY 圖六 總程序流程圖 圖七 時(shí)鐘流程圖5軟件程序清單:#include #include #define uchar unsigned char#define uint unsigned int#define DelayNOP() _nop_();_nop_()

10、;_nop_();_nop_();sbit K1 =P10; /選擇調(diào)整小時(shí),分鐘sbit K2 =P11; /增加sbit K3 =P12; /減少sbit K4 =P13;sbit SPK=P30;sbit RS =P20;sbit RW =P21;sbit E =P22;uchar code Str1 = Current Time ; /以下兩個(gè)字符串的串長(zhǎng)均為16uchar code Str2 = Set New Time. ; /uchar HMS_String = 00:00:00 ; /待顯示的時(shí)間串bit Settime= 0; /是否修改時(shí)間bit Change_H_or_M

11、 =1; /1表示修改時(shí),0表示修改分uchar MilliSecond, Hour =0, Minute =0, Second =0;/-/延時(shí)函數(shù)/-void DelayMS(uint x) uchar i; while(x-) for (i = 0; i 120; i+);/-/LCD忙狀態(tài)檢測(cè)/-bit LCD_Busy_Check() bit result; RS = 0; RW = 1; E = 1; DelayNOP();result = (bit)(P0 & 0 x80); E = 0; return result;/-/寫(xiě)LCD命令/-void LCD_Write_Comma

12、nd(uchar cmd) while( LCD_Busy_Check();/判斷LCD是否忙碌 RS = 0; RW = 0; E = 0;_nop_();_nop_(); P0 =cmd; DelayNOP(); E = 1; DelayNOP(); E = 0;/-/設(shè)置LCD顯示位置/-void LCD_Set_Pos(uchar pos) LCD_Write_Command(pos | 0 x80);/-/寫(xiě)LCD數(shù)據(jù)/-void LCD_Write_Data(uchar dat) while(LCD_Busy_Check();/判斷LCD是否忙碌 RS = 1;RW = 0;E =

13、 0; P0 =dat ;DelayNOP(); E = 1;DelayNOP();E = 0;/-/LCD初始化/-void LCD_Initialize() LCD_Write_Command(0 x38); DelayMS(1); LCD_Write_Command(0 x0c); DelayMS(1); LCD_Write_Command(0 x06); DelayMS(1); LCD_Write_Command(0 x01); DelayMS(1);/-/顯示函數(shù),在LCD指定的行上顯示字符串/-void Display_String(uchar * str,uchar LineNo

14、) uchar k; LCD_Set_Pos(LineNo); for(k=0;k16;k+) LCD_Write_Data(strk); /-/蜂鳴函數(shù)/-void Beep() uchar i, j =70; for (i =0; i; /顯示修改標(biāo)志 else HMS_String3 = ; /不顯示修改標(biāo)志 HMS_String4 = h / 10 + 0; /時(shí) HMS_String5 = h % 10 + 0; HMS_String7 = m / 10 + 0; /分 HMS_String8 = m % 10 + 0; HMS_String10 = s / 10 + 0; /秒 H

15、MS_String11 =s % 10 + 0; Display_String(HMS_String,0 x40);/-/設(shè)置時(shí)間/-void Change_Time() Settime=0; if( K1 = 0 | K2 = 0 | K3 = 0) /按下k1,k2,K3中的任何一個(gè)鍵即進(jìn)入修改狀態(tài) TR0 = 0;Display_String(Str2,0 x00); /第一行提示修改時(shí)間Settime = 1; while (Settime) if( K1 = 0) /確定調(diào)整小時(shí)還是分鐘 Beep(); while (K1 = 0) Change_H_or_M = !Change_H

16、_or_M; else if(K2 = 0) /增加 Beep(); while ( K2 = 0); if(Change_H_or_M = 1) if ( +Hour = 24) Hour = 0; else if ( +Minute = 60) Minute = 0; else if ( K3 = 0) /減少 Beep(); while ( K3 = 0); if (Change_H_or_M = 1) if ( -Hour = 0 xff) Hour = 23; else if ( -Minute = 0 xff) Minute = 59; else if ( K4 = 0 ) /確定

17、 Beep(); while ( K4 = 0); Display_String(Str1,0 x00); /第一行還原顯示Str1 Settime = 0; TR0 = 1; Display_HMS(Hour,Minute,Second); /外層While在這里結(jié)束/-/定時(shí)器0中斷/-void Time0() interrupt 1 TH0 = (65536 -50000) / 256; TL0 = (65536 -50000) % 256; /重新裝入50MS定時(shí) if( +MilliSecond = 20) /50*20=1s MilliSecond = 0;if ( +Second

18、 = 60) Second =0; if( +Minute = 60) Minute = 0;if( +Hour = 24) Hour = 0;Minute = 0;Second = 0; /-/主函數(shù)/-void main() TMOD = 0 x01; TH0 = (65536 -50000) / 256; TL0 = (65536 -50000) % 256; IE = 0 x82; SPK = 0; LCD_Initialize(); Display_String(Str1,0 x00); /第一行顯示 TR0 = 1; P1 = 0 xFF; while(1) Display_HMS(Hour,Minute,Second); /第二行顯示時(shí)分秒DelayMS(500);Change_Time(); / 顯示過(guò)程中允許修改時(shí)間 圖八 電路原理圖 圖九 電路professional仿真圖

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!