




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、提供全套畢業(yè)論文,各專業(yè)都有電氣工程及其自控化專業(yè)單片機(jī)原理及其應(yīng)用課程設(shè)計(jì)報(bào)告姓名:學(xué)號(hào):專業(yè)班級(jí):題目:定時(shí)鬧鐘電氣與電子工程學(xué)院二一四年xx月xx日目錄一、設(shè)計(jì)目的 1二、設(shè)計(jì)任務(wù)和要求 1三、設(shè)計(jì)原理分析 2四、硬件資源及其分配 2五、硬件圖 6六、程序框圖 7七、程序 9八、調(diào)試運(yùn)行19九、仿真截圖20十、設(shè)計(jì)心得體會(huì)21一、設(shè)計(jì)本定時(shí)鬧鐘的目的以單片機(jī)為核心的數(shù)字時(shí)鐘是很有社會(huì)意義和社會(huì)價(jià)值的。鐘表原先的報(bào)時(shí)功能已經(jīng)原不能滿足人們?nèi)找嬖鲩L(zhǎng)的要求,現(xiàn)代的電子時(shí)鐘多帶有類似自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等功能。
2、二、設(shè)計(jì)任務(wù)和基本要求:1、任務(wù):使用89c51單片機(jī)結(jié)合字符型lcd顯示器設(shè)計(jì)一個(gè)簡(jiǎn)易的定時(shí)鬧鐘lcd時(shí)鐘,若lcd選擇有背光顯示的模塊,在夜晚或黑暗的場(chǎng)合中也可以使用。2、設(shè)計(jì)要求:(1)顯示程序格式為“時(shí)時(shí):分分”(2)由led閃動(dòng)來(lái)做秒計(jì)數(shù)表示(3)一旦時(shí)間到則發(fā)出聲響,同時(shí)繼電器啟動(dòng),可以擴(kuò)充控制家電開(kāi)關(guān)(4)程序執(zhí)行后工作指示燈led閃動(dòng),表示程序開(kāi)始執(zhí)行,lcd顯示“00:00”,3、按下操作鍵k1-k4動(dòng)作如下:(1) k1設(shè)置現(xiàn)在的時(shí)間。(2) k2顯示鬧鐘設(shè)置的時(shí)間。(3)k3設(shè)置鬧鈴的時(shí)間。(4)k4鬧鈴on/off的狀態(tài)設(shè)置,設(shè)置on時(shí)連續(xù)三次發(fā)出“嘩”的一聲,off置
3、為嘩的一聲。4、設(shè)置當(dāng)前時(shí)間或鬧鈴時(shí)間如下:(1) k1時(shí)的調(diào)整。(2) k2分的調(diào)整。(3) k3設(shè)置完成。(4) k4-鬧鈴時(shí)間到時(shí),發(fā)出一陣聲響,按下本鍵可以停止聲響。三、設(shè)計(jì)原理分析1、數(shù)字鐘介紹時(shí)鐘是將小時(shí)、分鐘、秒鐘顯示于人的肉眼的計(jì)時(shí)裝置。而單片機(jī)模塊中最常見(jiàn)的正是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用。而lcd電子定時(shí)鬧鐘是以單片機(jī)為基礎(chǔ)的數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒的數(shù)字顯示的數(shù)字計(jì)時(shí)裝置,它的計(jì)時(shí)周期為24小時(shí),另外應(yīng)有校時(shí)功能和一些顯示日期、鬧鐘等附加功能。一
4、個(gè)基本的數(shù)字鐘電路主要由譯碼顯示器、“時(shí)”,“分”,“秒”,“星期”計(jì)數(shù)器、校時(shí)電路、報(bào)時(shí)電路和振蕩器組成。目前電子鐘廣泛用于各種私人和公眾場(chǎng)合,成為我們生活、工作和學(xué)習(xí)中不可缺少的好幫手。2、總體方案設(shè)計(jì)at89c51震蕩電路調(diào)時(shí)電路喇叭lcd片選代碼本lcd定時(shí)鬧鐘,是以單片機(jī)及外圍接口電路為核心硬件,輔以其他外圍硬件電路,用匯編語(yǔ)言設(shè)計(jì)的程序來(lái)實(shí)現(xiàn)的。根據(jù)c51單片機(jī)的外圍接口特點(diǎn)擴(kuò)展相應(yīng)的硬件電路,然后根據(jù)單片機(jī)的指令設(shè)計(jì)出數(shù)字鐘相應(yīng)的軟件,再利用軟件執(zhí)行一定的程序來(lái)實(shí)現(xiàn)數(shù)字鐘的功能。由于采用集成芯片性的單片機(jī)來(lái)制作電子鐘,這樣設(shè)計(jì)制作簡(jiǎn)單而且功能多、精確度高,也可方便擴(kuò)充其他功能,實(shí)
5、現(xiàn)也十分簡(jiǎn)單。本設(shè)計(jì)是利用at89c51單片機(jī)為主控芯片,由lcd、晶振、電阻、電容、發(fā)光二極管、開(kāi)關(guān)、喇叭等元件組成硬件電路,通過(guò)編寫(xiě)軟件程序來(lái)實(shí)現(xiàn)和控制的數(shù)字定時(shí)鬧鐘四、硬件資源及其分配1、主控芯片at89c51的設(shè)計(jì)在本lcd電子鬧鐘設(shè)計(jì)中就是采用利用我們熟悉的at89c51單片機(jī)為主控芯片。at89c51單片機(jī)由微處理器,存儲(chǔ)器,i/o口以及特殊功能寄存器sfr等部分構(gòu)成。其存儲(chǔ)器在物理上設(shè)計(jì)成程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器兩個(gè)獨(dú)立的空間,片內(nèi)程序存儲(chǔ)器的容量為4kb,片內(nèi)數(shù)據(jù)存儲(chǔ)器為128個(gè)字節(jié)。89c51單片機(jī)有4個(gè)8位的并行i/o口:p0口,p1口,p2口和p3口。各個(gè)接口均由接口鎖存器
6、,輸出驅(qū)動(dòng)器,和輸入緩沖器組成。p1口是唯一的單功能口,僅能用作通用的數(shù)據(jù)輸入/輸出口。p3口是雙功能口除了具有數(shù)據(jù)輸入/輸出功能外,每條接口還具有不同的第二功能,如p3.0是串行輸入口線,p3.1口是串行輸出口線。在需要外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí),p0可作為分時(shí)復(fù)用的低8位地址/數(shù)據(jù)總線,p2口可作為高8位的地址總線。p3口也可作為at89c51的一些特殊功能口,同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào).2、時(shí)鐘電路部分設(shè)計(jì)at89c51系列的單片機(jī)的時(shí)鐘方式分為內(nèi)部方式和外部方式。內(nèi)部方式就是在單片機(jī)的xtal1和xtal2的兩引腳外接晶振,就夠成了自激振蕩器在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖
7、信號(hào)。外部時(shí)鐘方式是把外部已經(jīng)有的時(shí)鐘信號(hào)引入到單片機(jī)內(nèi)部。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間。本lcd電子鬧鐘設(shè)計(jì)是采用內(nèi)部時(shí)鐘方式,用一個(gè)12mhz晶振和兩個(gè)30pf瓷片電容組成,為單片機(jī)提供標(biāo)準(zhǔn)時(shí)鐘,其中兩個(gè)瓷片電容起微調(diào)作用.其電路圖見(jiàn)圖。之所以采用高性能的振蕩電路,因?yàn)椋海?)單片機(jī)電子鐘的計(jì)時(shí)脈沖基準(zhǔn)是由外部晶振的頻率經(jīng)過(guò)12分頻后提供,采用內(nèi)部的定時(shí)/計(jì)數(shù)器
8、來(lái)實(shí)現(xiàn)計(jì)時(shí)功能。所以,外接晶振頻率精確度直接影響電子鐘計(jì)時(shí)的準(zhǔn)確性。(2)單片機(jī)電子鐘利用內(nèi)部定時(shí)/計(jì)數(shù)器溢出產(chǎn)生中斷(12m晶振一般為50ms)再乘以相應(yīng)的倍率來(lái)實(shí)現(xiàn)秒、分、時(shí)的轉(zhuǎn)換。大家都知道從定時(shí)/計(jì)數(shù)器產(chǎn)生中斷請(qǐng)求到響應(yīng)中斷需要3-8個(gè)機(jī)器周期,定時(shí)中斷子程序中的數(shù)據(jù)入棧和重裝定時(shí)/計(jì)數(shù)器的初值還需要占用數(shù)個(gè)機(jī)器周期,還有從中斷入口轉(zhuǎn)到中斷子程序也要占用一定的機(jī)器周期。3、lcd顯示電路部分為了獲得更好的效果本設(shè)計(jì)并沒(méi)有采用常見(jiàn)的led,而是采用了型號(hào)為1602的 lcd。lcd有l(wèi)ed數(shù)碼顯示更好的更的直觀效果,也更加經(jīng)久耐用。液晶顯示模塊體積小功耗低、顯示內(nèi)容豐富,現(xiàn)在字符型液晶顯
9、示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件之一了。本lcd是2行16列液晶可顯示2行16列英文字符,有8位數(shù)據(jù)總線d0-d7,rs,r/w,en三個(gè)控制端口(共14線),工作電壓為5v。沒(méi)背光,和常用的1602b功能和引腳一樣(除了調(diào)背光的二個(gè)線腳). 該模塊也可只用d4-d7作為四位數(shù)據(jù)分兩次傳送。這樣的話可以節(jié)省mcu的i/o口資源。引腳說(shuō)明vdd:電源正極,4.55.5v,通常使用5v電壓;vl:lcd對(duì)比度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為05v。接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,但對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,因此通常使用一個(gè)10k的電位器來(lái)調(diào)整對(duì)比度或者直接串接一個(gè)電阻到地;rs
10、:mcu寫(xiě)入數(shù)據(jù)或者指令選擇端。mcu要寫(xiě)入指令時(shí),使rs為低電平;mcu要寫(xiě)入數(shù)據(jù)時(shí),使rs為高電平;r/w:讀寫(xiě)控制端。r/w為高電平時(shí),讀取數(shù)據(jù);r/w為低電平時(shí),寫(xiě)入數(shù)據(jù);e:lcd模塊使能信號(hào)控制端。寫(xiě)數(shù)據(jù)時(shí),需要下降沿觸發(fā)模塊。d0d7:8位數(shù)據(jù)總線,三態(tài)雙向。如果mcu的i/o口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線d4d7接口傳送數(shù)據(jù)。本充電器就是采用4位數(shù)據(jù)傳送方式;bla: led背光正極。需要背光時(shí),bla串接一個(gè)限流電阻接vdd,blk接地,實(shí)測(cè)該模塊的背光電流為50ma左右;blk: led背光地端。lcd顯示屏引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1vcc電源
11、地9d2雙向數(shù)據(jù)口2vdd電源正極10d3雙向數(shù)據(jù)口3vl對(duì)比度調(diào)節(jié)11d4雙向數(shù)據(jù)口4rs數(shù)據(jù)/命令選擇12d5雙向數(shù)據(jù)口5r/w讀/寫(xiě)選擇13d6雙向數(shù)據(jù)口6e模塊使能端14d7雙向數(shù)據(jù)口7d0雙向數(shù)據(jù)口15blk背光源地8d1雙向數(shù)據(jù)口16bla背光源正極五、硬件圖六、程序框圖1、本lcd電子鬧鐘的的主程序流程圖如圖所示:程序設(shè)計(jì)思想如圖時(shí)十位、個(gè)位,分十位、個(gè)位改變了設(shè)置鬧鈴標(biāo)志是否設(shè)置了鬧鈴清除鬧鈴標(biāo)志判當(dāng)前時(shí)間是設(shè)定時(shí)間中斷返回中斷返回鬧鈴判別處理2、顯示程序顯示程序包括時(shí)鐘顯示和定時(shí)顯示程序。具體程序見(jiàn)附錄。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)
12、志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表6.1是tc1602el液晶模塊的內(nèi)部顯示地址。內(nèi)部顯示地址12345678910111213141516000102030405060708090a0b0c0d0e0f404142434445464748494a4b4c4d4e4f七、程序1、程序初始化在系統(tǒng)開(kāi)始上電時(shí),需要.首先初始化液晶:voidtimeinit()write_com(0x01); /初始化1602液晶write_com(0x80); /設(shè)置現(xiàn)實(shí)初始坐標(biāo)for(num=0;num9;num+) /顯示年月日write_
13、date(tablenum); delay(5);write_com(0x80+0x40+6); /寫(xiě)出時(shí)間顯示部分的兩個(gè)冒號(hào)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)2、主程序:#include #include 24c08.h#defi
14、ne uint unsigned int#define uchar unsigned charuchar code table=now time:;uchar code table1=set now time:;uchar code table2=set alarm time:;uchar code alarm=alarm time:;uchar code alarmoff=alarm time: off;uchar code alarmon=alarm time: on;sbitlcden=p32;sbitlcdrs=p30;sbitlcdrw=p31;sbit k1=p10;sbit k2
15、=p11;sbit k3=p12;sbit k4=p13;sbit beep=p21;uchar flag,num,count,k1num,k2num,k3num,k4num;charmiao,shi,fen,ashi,afen;/延時(shí)函數(shù)void delay(uint z)uintx,y;for(x=z;x0;x-)for(y=110;y0;y-);/蜂鳴器子程序void di()beep=0;delay(100);beep=1;/寫(xiě)命令函數(shù)voidwrite_com(uchar com)lcdrs=0;lcdrw=0;lcden=0;p0=com;delay(5);lcden=1;dela
16、y(5);lcden=0;/寫(xiě)數(shù)據(jù)函數(shù)voidwrite_date(uchar date)lcdrs=1;lcdrw=0;lcden=0;p0=date;delay(5);lcden=1;delay(5);lcden=0;/寫(xiě)時(shí)間函數(shù)voidwrite_sfm(ucharadd,uchar date)ucharshi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);/顯示時(shí)間初始化voidtimeinit()write_com(0x01);write_com(
17、0x80);for(num=0;num9;num+)write_date(tablenum);delay(5);write_com(0x80+0x40+6);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);/設(shè)置當(dāng)前時(shí)間voidsetnowtime()if(k1=
18、0)delay(5);if(k1=0)while(!k1);di();shi+;if(shi=24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);write_add(3,shi);if(k2=0)delay(5);if(k2=0)while(!k2);di();fen+;if(fen=60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);write_add(2,fen);if(k3=0)delay(5);if(k3=0)while(!k3);di();k1num=0;tr0=1;timeinit();/設(shè)
19、置鬧鐘時(shí)間voidsetalarmtime()flag=0;if(k1=0)delay(5);if(k1=0)while(!k1);di();ashi+;if(ashi=24)ashi=0;write_sfm(4,ashi);write_com(0x80+0x40+4);write_add(4,ashi);if(k2=0)delay(5);if(k2=0)while(!k2);di();afen+;if(afen=60)afen=0;write_sfm(7,afen);write_com(0x80+0x40+7);write_add(5,afen);if(k3=0)delay(5);if(k3
20、=0)while(!k3);di();k3num=0;ea=1;flag=1;timeinit();/顯示鬧鐘函數(shù)voiddisplayalarmtime()write_com(0x01);write_com(0x80);for(num=0;num11;num+)write_date(alarmnum);delay(5);write_com(0x80+0x40+6);write_date(:);delay(5);write_sfm(4,ashi);write_com(0x80+0x40+4);write_sfm(7,afen);write_com(0x80+0x40+7);/鍵盤(pán)掃描函數(shù)voi
21、dkeyscan()if(k1=0)delay(5);if(k1=0)tr0=0;while(!k1);di();k1num+;if(k1num!=0)write_com(0x80);for(num=0;num13;num+)write_date(table1num);delay(5);setnowtime();elseif(k2=0)delay(5);if(k2=0)while(!k2);di();k2num+;if(k2num=1)ea=0;displayalarmtime();k2num=2;if(k2num=3)k2num=0;ea=1;timeinit();elseif(k3=0)d
22、elay(5);if(k3=0)while(!k3);di();k3num+;write_com(0x01);if(k3num=1)ea=0;write_com(0x80);for(num=0;num15;num+)write_date(table2num);delay(5);write_com(0x80+0x40+6);write_date(:);delay(5);write_sfm(4,ashi);write_com(0x80+0x40+4);write_sfm(7,afen);write_com(0x80+0x40+7);setalarmtime();elseif(k4=0)delay(
23、5);if(k4=0)while(!k4);di();k4num+;if(k4num=1)di();k4num=2;flag=0;if(k4num=3)k4num=0;di();delay(500);di();delay(500);di();flag=1; if(flag=1&shi=ashi&fen=afen)beep=beep;delay(500);if(k4=0&flag=1)delay(5);if(k4=0&flag=1)while(!k4);di();flag=0;k4num=0;/lcd1602初始化voidinit()lcden=0;shi=0;fen=0;miao=0;ashi
24、=0;afen=0;count=0;k1num=0;init_24c08();write_com(0x38);/設(shè)置16x2顯示,5x7點(diǎn)陣,8位數(shù)據(jù)接口write_com(0x0c);/設(shè)置開(kāi)顯示,不顯示光標(biāo)write_com(0x06);/寫(xiě)一個(gè)字符后地址指針加1write_com(0x01);/顯示清0,數(shù)據(jù)指針清0miao=read_add(1);/首次上電從at24c08中讀取出存儲(chǔ)的數(shù)據(jù)fen=read_add(2);shi=read_add(3);ashi=read_add(4);afen=read_add(5);timeinit();tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;ea=1;et0=1;tr0=1;/主函數(shù)void main()init();write_com(0x8
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 危險(xiǎn)品管理對(duì)噪聲振動(dòng)和輻射的管理和控制要求考核試卷
- 服裝設(shè)計(jì)人體工學(xué)原理考核試卷
- 批發(fā)業(yè)采購(gòu)談判技巧與策略考核試卷
- 機(jī)床功能部件在虛擬現(xiàn)實(shí)設(shè)備中的交互式設(shè)計(jì)考核試卷
- 有機(jī)肥料在土壤侵蝕控制與生態(tài)恢復(fù)中的應(yīng)用考核試卷
- 兒童情商培訓(xùn)課件
- 代加工合同范本簡(jiǎn)單
- 燈具采購(gòu)標(biāo)準(zhǔn)合同范本
- 簡(jiǎn)易的物業(yè)合同范本
- 助學(xué)贈(zèng)與合同范本
- 情志護(hù)理方法
- 重慶七中2025屆高三下學(xué)期零診測(cè)試英語(yǔ)試題試卷含解析
- 藥店入股合同協(xié)議書(shū)
- 2024抖音八大寵物心智人群洞察報(bào)告-萌寵數(shù)說(shuō):解密養(yǎng)寵人群心智圖譜
- 2024外包用工專題報(bào)告
- 離職證明(標(biāo)準(zhǔn)模版)
- 2024年廣東省廣州市市中考英語(yǔ)試卷真題(含答案解析)+2023年中考英語(yǔ)試卷及解析
- 傳統(tǒng)文化教育融入教學(xué)計(jì)劃
- 2024年征信知識(shí)測(cè)試題及答案
- 北師大版(三起)(2024)三年級(jí)上冊(cè)英語(yǔ)Unit 4 Friends單元測(cè)試卷(含答案)
- 2024-2030年中國(guó)翅片式換熱器行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
評(píng)論
0/150
提交評(píng)論