版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、阿壩師專電子信息工程系單片機與接口技術(shù)課程設(shè)計總結(jié)報告設(shè)計題目:帶有LCD的定時鬧鐘 學(xué)生姓名: 翟華學(xué) 號:20113043系 別: 電子信息工程系專 業(yè): 計算機控制技術(shù)指導(dǎo)教師:莫建麟 2012年12月16日題目 帶有LCD的定時鬧鐘 專業(yè) 計算機控制技術(shù) 學(xué)號 20113043 姓名 翟華 主要內(nèi)容:設(shè)使用89C51單片機結(jié)合字符型LCD顯示器設(shè)計一個簡易的定時鬧鐘LCD時鐘,若LCD選擇有背光顯示的模塊,在夜晚或黑暗的場合中也可以使用?;疽螅?字符型LCD(16*2)顯示器.顯示格式“時時 分分”。.由LED閃動來做秒計數(shù)表示。.一旦時間到側(cè)發(fā)動聲響,同時繼電器啟動,可以擴充控制
2、家電開啟和關(guān)閉。.程序執(zhí)行后工作指示燈LED閃動,表示程序開始執(zhí)行,LCD顯示“00 00”,按下操作鍵K1-k4動作如下:(1) K1設(shè)置現(xiàn)在的時間。(2) K2顯示鬧鐘設(shè)置的時間。(3) K3設(shè)置鬧鈴的時間。(4) K4鬧鈴ON/OFF的 狀態(tài)設(shè)置,設(shè)置ON時連續(xù)三次發(fā)出“嘩”的一聲,off置為嘩的一聲。設(shè)置當前時間或鬧鈴時間如下:(1) K1時的調(diào)整。(2) K2分的調(diào)整。(3) K3設(shè)置完成。(5) OFF發(fā)出“嘩”K4-鬧鈴時間到時,發(fā)出一陣聲響,按下本鍵可以停止聲響。除了顯示當前時間的功能外,還可以擴充如下功能; .增加秒表計數(shù)。 .鬧鈴時間到側(cè)產(chǎn)生音樂聲。 .增加減計數(shù)功能。 .
3、增加多組計數(shù)的功能。參考文獻郭天祥 51單片機C語言教程-入門。余發(fā)山 單片機原理及應(yīng)用技術(shù)。中國礦業(yè)大學(xué)出版社。涂世亮,張友德。單片微機控制技術(shù)。清華大學(xué)出版社。一.設(shè)計本電子定時鬧鐘的目的和意義以單片機為核心的數(shù)字時鐘是很有社會意義和社會價值的。鐘表原先的報時功能已經(jīng)原不能滿足人們?nèi)找嬖鲩L的要求,現(xiàn)代的電子時鐘多帶有類似自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等功能。 1.1 本LCD電子鬧鐘的特點和功能介紹 數(shù)字鐘介紹時鐘是將小時、分鐘、秒鐘顯示于人的肉眼的計時裝置。而單片機模塊中最常見的正是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路
4、技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。而LCD電子定時鬧鐘是以單片機為基礎(chǔ)的數(shù)字電路實現(xiàn)對時、分、秒的數(shù)字顯示的數(shù)字計時裝置,它的計時周期為24小時,另外應(yīng)有校時功能和一些顯示日期、鬧鐘等附加功能。一個基本的數(shù)字鐘電路主要由譯碼顯示器、“時”,“分”,“秒”,“星期”計數(shù)器、校時電路、報時電路和振蕩器組成。目前電子鐘廣泛用于各種私人和公眾場合,成為我們生活、工作和學(xué)習(xí)中不可缺少的好幫手。2 總體方案設(shè)計2.1 總體設(shè)計方案本LCD定時鬧鐘,是以單片機及外圍接口電路為核心硬件,輔以其他外圍硬件電路,用匯編語
5、言設(shè)計的程序來實現(xiàn)的。根據(jù)C51單片機的外圍接口特點擴展相應(yīng)的硬件電路,然后根據(jù)單片機的指令設(shè)計出數(shù)字鐘相應(yīng)的軟件,再利用軟件執(zhí)行一定的程序來實現(xiàn)數(shù)字鐘的功能。由于采用集成芯片性的單片機來制作電子鐘,這樣設(shè)計制作簡單而且功能多、精確度高,也可方便擴充其他功能,實現(xiàn)也十分簡單。本設(shè)計是利用AT89C51單片機為主控芯片,由LCD、晶振、電阻、電容、發(fā)光二極管、開關(guān)、喇叭等元件組成硬件電路,通過編寫軟件程序來實現(xiàn)和控制的數(shù)字定時鬧鐘AT89C51震蕩電路調(diào)時電路喇叭LCD片選代碼AT89C51震蕩電路調(diào)時電路喇叭LCD片選代碼。3 硬件設(shè)計3.1 主控芯片AT89C51的設(shè)計在本LCD電子鬧鐘設(shè)計
6、中就是采用利用我們熟悉的AT89C51單片機為主控芯片。AT89C51單片機由微處理器,存儲器,I/O口以及特殊功能寄存器SFR等部分構(gòu)成。其存儲器在物理上設(shè)計成程序存儲器和數(shù)據(jù)存儲器兩個獨立的空間,片內(nèi)程序存儲器的容量為4KB,片內(nèi)數(shù)據(jù)存儲器為128個字節(jié)。89C51單片機有4個8位的并行I/O口:P0口,P1口,P2口和P3口。各個接口均由接口鎖存器,輸出驅(qū)動器,和輸入緩沖器組成。P1口是唯一的單功能口,僅能用作通用的數(shù)據(jù)輸入/輸出口。P3口是雙功能口除了具有數(shù)據(jù)輸入/輸出功能外,每條接口還具有不同的第二功能,如P3.0是串行輸入口線,P3.1口是串行輸出口線。在需要外部程序存儲器和數(shù)據(jù)存
7、儲器擴展時,P0可作為分時復(fù)用的低8位地址/數(shù)據(jù)總線,P2口可作為高8位的地址總線。P3口也可作為AT89C51的一些特殊功能口,同時為閃爍編程和編程校驗接收一些控制信號.3.2 時鐘電路部分設(shè)計AT89C51系列的單片機的時鐘方式分為內(nèi)部方式和外部方式。內(nèi)部方式就是在單片機的XTAL1和XTAL2的兩引腳外接晶振,就夠成了自激振蕩器在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。外部時鐘方式是把外部已經(jīng)有的時鐘信號引入到單片機內(nèi)部。時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機應(yīng)用系統(tǒng)中,時鐘有兩方面的圖3.2含義:一是指為保障系統(tǒng)正常工作的基準振蕩定時信號,主要由晶振和外圍
8、電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標準定時時鐘,即定時時間。本LCD電子鬧鐘設(shè)計是采用內(nèi)部時鐘方式,用一個12MHz晶振和兩個30Pf瓷片電容組成,為單片機提供標準時鐘,其中兩個瓷片電容起微調(diào)作用.其電路圖見圖3.2。之所以采用高性能的振蕩電路,因為:1.單片機電子鐘的計時脈沖基準是由外部晶振的頻率經(jīng)過12分頻后提供,采用內(nèi)部的定時/計數(shù)器來實現(xiàn)計時功能。所以,外接晶振頻率精確度直接影響電子鐘計時的準確性。 2.單片機電 子鐘利用內(nèi)部定時/計數(shù)器溢出產(chǎn)生中斷(12M晶振一般為50ms)再乘以相應(yīng)的倍率來實現(xiàn)秒、分、時的轉(zhuǎn)換。大家都知道從定時/計數(shù)器產(chǎn)生中斷請求到響
9、 應(yīng)中斷需要3-8個機器周期,定時中斷子程序中的數(shù)據(jù)入棧和重裝定時/計數(shù)器的初值還需要占用數(shù)個機器周期,還有從中斷入口轉(zhuǎn)到中斷子程序也要占用一定的 機器周期。3.3 LCD顯示電路部分為了獲得更好的效果本設(shè)計并沒有采用常見的LED,而是采用了型號為1602的 LCD。LCD有LED數(shù)碼顯示更好的更的直觀效果,也更加經(jīng)久耐用。液晶顯示模塊體積小功耗低、顯示內(nèi)容豐富,現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機應(yīng)用設(shè)計中最常用的信息顯示器件之一了。本LCD是2行16列液晶 可顯示2行16列英文字符,有8位數(shù)據(jù)總線D0-D7,RS,R/W,EN三個控制端口(共14線),工作電壓為5V。沒背光,和常用的1602
10、B功能和引腳一樣(除了調(diào)背光的二個線腳). 該模塊也可只用D4-D7作為四位數(shù)據(jù)分兩次傳送。這樣的話可以節(jié)省MCU的I/O口資源。引腳說明,見表3.1。VDD:電源正極,4.55.5V,通常使用5V電壓;VL:LCD對比度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為05V。接正電源時對比度最弱,接地電源時對比度最高,但對比度過高時會產(chǎn)生“鬼影”,因此通常使用一個10K的電位器來調(diào)整對比度或者直接串接一個電阻到地;RS:MCU寫入數(shù)據(jù)或者指令選擇端。MCU要寫入指令時,使RS為低電平;MCU要寫入數(shù)據(jù)時,使RS為高電平;R/W:讀寫控制端。R/W為高電平時,讀取數(shù)據(jù);R/W為低電平時,寫入數(shù)據(jù);E:LCD模塊使能信號
11、控制端。寫數(shù)據(jù)時,需要下降沿觸發(fā)模塊。D0D7:8位數(shù)據(jù)總線,三態(tài)雙向。如果MCU的I/O口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線D4D7接口傳送數(shù)據(jù)。本充電器就是采用4位數(shù)據(jù)傳送方式;BLA: LED背光正極。需要背光時,BLA串接一個限流電阻接VDD,BLK接地,實測該模塊的背光電流為50mA左右;BLK: LED背光地端。12表3.1 LCD顯示屏引腳說明編號符號引腳說明編號符號引腳說明1VCC電源地9D2雙向數(shù)據(jù)口2VDD電源正極10D3雙向數(shù)據(jù)口3VL對比度調(diào)節(jié)11D4雙向數(shù)據(jù)口4RS數(shù)據(jù)/命令選擇12D5雙向數(shù)據(jù)口5R/W讀/寫選擇13D6雙向數(shù)據(jù)口6E模塊使能端14D7雙向數(shù)
12、據(jù)口7D0雙向數(shù)據(jù)口15BLK背光源地8D1雙向數(shù)據(jù)口16BLA背光源正極4 軟件設(shè)計4.1 軟件設(shè)計概述這里用匯編的單片機程序構(gòu)成了本LCD電子鬧鐘的軟件系統(tǒng)。該程序?qū)崿F(xiàn)時間及定時(時間以0點0分0秒為基準計算,鬧鈴定時以0時0分為基準計算)的顯示,有外中斷0和五個開關(guān)實現(xiàn)校時,鬧鐘功能。其中程序的晶振頻率為12MHz,最小計時單位為1/20秒。主芯片p0.1-p0.7輸出數(shù)據(jù)到LCD數(shù)據(jù)總線,p3.0-2.2輸出LCD控制信號,P2.1輸出聲音信號,.P1.0-P1.3輸入外部控制信號,整個軟件系統(tǒng)也是根據(jù)這個關(guān)系連接成一個完整的系統(tǒng)。4.2 主函數(shù)的設(shè)計本LCD電子鬧鐘的的主程序流程圖如
13、圖4.1所示:系統(tǒng)初始化定時器初始化定時器初始化串口初始化顯示待機指示符設(shè)定鬧鈴時間判設(shè)置鬧鈴時間否?顯示刷新啟動走時有關(guān)變量初始化刷新顯示判斷日期是否變化化否?秒指示判斷時間是否變化鬧鈴判是否到鬧鈴時間?延時YYYY4.3.1 程序初始化在系統(tǒng)開始上電時,需要.首先初始化液晶:void TimeInit()write_com(0x01); /初始化1602液晶write_com(0x80); /設(shè)置現(xiàn)實初始坐標for(num=0;num9;num+) /顯示年月日write_date(tablenum); delay(5);write_com(0x80+0x40+6); /寫出時間顯示部分的
14、兩個冒號write_date(:);delay(5);write_com(0x80+0x40+9);write_date(:);delay(5);write_sfm(4,shi); /分別送去液晶顯示write_com(0x80+0x40+4);write_sfm(7,fen);write_com(0x80+0x40+7);write_sfm(10,miao);write_com(0x80+0x40+10)4.3.2 鬧鐘的實現(xiàn)鬧鐘功能的實現(xiàn)涉及到兩個方面:鬧鈴時間設(shè)定和是否鬧鈴判別與相應(yīng)處理。鬧鈴時間設(shè)定模塊的設(shè)計可參照時間設(shè)定模塊,這里著重闡述鬧鈴判別與處理模塊的設(shè)計問題。鬧鈴判別與鬧鈴處
15、理的關(guān)鍵在于判別何時要進行鬧鈴。當時十位、時個位、分十位、分個位中任一位發(fā)生改變(進位)時,就必須進行鬧鈴判別。程序設(shè)計思想如圖4.3。 8 時十位、個位,分十位、個位改變了設(shè)置鬧鈴標志是否設(shè)置了鬧鈴清除鬧鈴標志判當前時間是設(shè)定時間中斷返回中斷返回鬧鈴判別處理4.3.3 顯示程序顯示程序包括時鐘顯示和定時顯示程序。具體程序見附錄。液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表4.1是TC1602EL液晶模塊的內(nèi)部顯示地址。15表4.1 內(nèi)部顯示地址123456789
16、10111213141516000102030405060708090A0B0C0D0E0F404142434445464748494A4B4C4D4E4F硬件原理圖程序:/*使用說明:K1鍵為菜單選項:單擊進入位選擇修改;雙擊:修改;K2鍵為上調(diào)鍵;K3鍵為下調(diào)鍵;K4鍵為退出修改;K5鍵為鬧鐘時間設(shè)置鍵;按一次:鬧鐘一;兩次:鬧鐘二;三次:鬧鐘三;四次:重置 五次:紀念日*/#include/* 位定義*/sbit RS=P20; /功能數(shù)據(jù)選擇位sbit RW=P21; /讀寫選擇位sbit E=P22; /使能位 0sbit busy=P07; /lcd忙標位sbit menu=P10
17、; /菜單及確定sbit inc=P11; /增一sbit dec=P12; /減一sbit quit=P13; /退出sbit sound=P14; /鬧鐘控制/* 全局變量*/unsigned char data sec20,sec,min,hour,amin1,ahour1,amin2,ahour2,amin3,ahour3,temp,year1,year2,month,day,amonth,aday; /計秒,秒,分,時unsigned char data timebuf=0,0,0x3a,0,0,0x3a,0,0,0,0,0,0,0x2d,0,0,0x2d,0,0; /存放時間uns
18、igned char key; /按鍵標志unsigned char time=0; /記錄按menu鍵的次數(shù)unsigned char place=0x84; /記錄光標的位置unsigned char signal=0; /光標與時間值增減標志位 /0光標 1時間值/* 函數(shù)申明*/void delay(unsigned char ms); /延時函數(shù)void cbusy(); /測試lcd忙碌狀態(tài)函數(shù)void wrcom(unsigned char cmd); /寫指令函數(shù)void wrdat(unsigned char dat); /寫數(shù)據(jù)函數(shù)void lcdinit(); /lcd初
19、始化函數(shù)void protime(); /時間處理函數(shù)void display(); /時間顯示函數(shù)unsigned char scankey(); /按鍵掃描void keywork(); / 按鍵功能處理函數(shù)void naoling1();void naoling2();void naoling3();/* 延時函數(shù)*/void delay(unsigned char ms) unsigned char i; unsigned char m=4; while(ms-) for(i=0;i19) /一秒到 sec20=0; sec+; if(sec59) sec=0; min+; if(mi
20、n59) min=0; hour+; if(hour23) hour=0; day+; if(day31) day=0; month+; if(month12) month=0;year2+; timebuf0=sec%10+48; /時間數(shù)據(jù)更新 timebuf1=sec/10+48; timebuf3=min%10+48; timebuf4=min/10+48; timebuf6=hour%10+48; timebuf7=hour/10+48; timebuf8=year1/10+48; /時間數(shù)據(jù)更新 timebuf9=year1%10+48; timebuf10=year2/10+48
21、; /時間數(shù)據(jù)更新 timebuf11=year2%10+48; timebuf13=month/10+48; timebuf14=month%10+48; timebuf16=day/10+48; timebuf17=day%10+48; display(); /* if(min=0&sec=0)sound=0;delay(1);sound=1;delay(1); sound=0;delay(1);sound=1;delay(1);sound=0;delay(1);sound=1;delay(1); */ if(min=0&sec=0|amin1=min&ahour1=hour&sec=0|
22、amin2=min&ahour2=hour&sec=0|amin3=min&ahour3=hour&sec=0|aday=day&amonth=month&min=0&sec=0&hour=0) sound=0; if(sec5) sound=1;/* 時間顯示函數(shù)*/void display() unsigned char t; /wrcom(0x80); /wrdat(0xfb); wrcom(0x84); for(t=8;t=1;t-) wrdat(timebuft-1); wrcom(0xc3); for(t=7;t=0xcd) place=0x83; else switch(plac
23、e) /修改時間值模式下 case 0x84: wrcom(0x84); /保證光標閃爍位置和當前位置一至 wrcom(0x0f); timebuf7+; if(timebuf750) timebuf7=48; display(); wrcom(0x84); break; case 0x85: wrcom(0x85); wrcom(0x0f); timebuf6+; if(timebuf757) timebuf6=48; else if(timebuf651) timebuf6=48; display(); wrcom(0x85); break; case 0x86:break; case 0
24、x87: wrcom(0x87); wrcom(0x0f); timebuf4+; if(timebuf453) timebuf4=48; display(); wrcom(0x87); break; case 0x88: wrcom(0x88); wrcom(0x0f); timebuf3+; if(timebuf357) timebuf3=48; display(); wrcom(0x88); break; case 0x89:break; case 0x8a: wrcom(0x8a); wrcom(0x0f); timebuf1+; if(timebuf153) timebuf1=48;
25、 display(); wrcom(0x8a); break; case 0x8b: wrcom(0x8b); wrcom(0x0f); timebuf0+; if(timebuf057) timebuf0=48; display(); wrcom(0x8b); break;case 0xcc: wrcom(0xcc); wrcom(0x0f); timebuf17+; if(timebuf1757) timebuf17=48; display(); wrcom(0xcc); break;case 0xcb: wrcom(0xcb); wrcom(0x0f); timebuf16+; if(timebuf1651) timebuf16=48; display(); wrcom(0xcb); break; case 0xc9: wrcom(0xc9); wrcom(0x
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古自治區(qū)退役軍人事務(wù)廳
- 鋅錠買賣合同書
- 長期合作購銷合同協(xié)議
- 湘教版地理八下7.1《香港特別行政區(qū)的國際樞紐功能》聽課評課記錄1
- 專項借款合同范本
- 采購委托合同
- 智能制造與企業(yè)韌性:機制與效應(yīng)
- 層狀復(fù)合與粒子改性對電弧熔絲增材制造Al-Mg-Si合金組織與性能的影響
- 2025年粵教版八年級歷史下冊月考試卷含答案
- 2025年華東師大版選修5歷史下冊階段測試試卷含答案
- 新能源發(fā)電項目合作開發(fā)協(xié)議
- 2025年上半年潞安化工集團限公司高校畢業(yè)生招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 旅游公司發(fā)展規(guī)劃
- 新舊施工現(xiàn)場臨時用電安全技術(shù)規(guī)范對照表
- 03軸流式壓氣機b特性
- 五星級酒店收入測算f
- 某省博物館十大展陳評選項目申報書
- GB/T 9109.5-2017石油和液體石油產(chǎn)品動態(tài)計量第5部分:油量計算
- GB/T 16316-1996電氣安裝用導(dǎo)管配件的技術(shù)要求第1部分:通用要求
- GA/T 455-2021居民身份證印刷要求
- 邀請函模板完整
評論
0/150
提交評論