版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單片機(jī)原理與應(yīng)用 課程設(shè)計(jì)報(bào)告</p><p> ?。?014—2015學(xué)年 第二學(xué)期)</p><p> 題 目 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì) </p><p> 系 別 電子與電氣工程系 </p><p> 專 業(yè) 電子信息工程 </p><p>
2、 班 級(jí) </p><p> 學(xué) 號(hào) </p><p> 姓 名 </p><p> 指導(dǎo)教師 </p><p> 完成時(shí)間 2015年6月13日 </p><p>
3、 評(píng)定成績(jī) </p><p><b> 目 錄</b></p><p> 一、設(shè)計(jì)的目的3</p><p> 二、設(shè)計(jì)的內(nèi)容與要求3</p><p><b> 三、設(shè)計(jì)方案3</b></p><p> 四、
4、硬件、軟件設(shè)計(jì)5</p><p><b> 五、設(shè)計(jì)總結(jié)8</b></p><p> 六、參考文獻(xiàn)10</p><p><b> 設(shè)計(jì)的目的</b></p><p> 在基本掌握了《單片機(jī)原理與應(yīng)用》課程知識(shí)的基礎(chǔ)上,完成課程設(shè)計(jì)項(xiàng)目的設(shè)計(jì)。通過(guò)課程設(shè)計(jì)環(huán)節(jié)的訓(xùn)練,包括設(shè)計(jì)方案的
5、論證、硬件設(shè)計(jì)、程序編寫(xiě)和設(shè)計(jì)報(bào)告的撰寫(xiě),掌握單片機(jī)應(yīng)用項(xiàng)目的設(shè)計(jì)流程和方法,加深對(duì)《單片機(jī)原理與應(yīng)用》課程知識(shí)的理解和掌握,培養(yǎng)應(yīng)用系統(tǒng)的設(shè)計(jì)能力,初步積累單片機(jī)系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn),以及分析問(wèn)題和解決問(wèn)題的方法,并進(jìn)一步拓寬專業(yè)知識(shí)面,培養(yǎng)實(shí)踐應(yīng)用技能和創(chuàng)新意識(shí)。 </p><p><b> 設(shè)計(jì)的內(nèi)容與要求</b></p><p> 根據(jù)《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)
6、教學(xué)大綱、《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)指導(dǎo)書(shū),開(kāi)展課程設(shè)計(jì)環(huán)節(jié)。有三個(gè)設(shè)計(jì)項(xiàng)目供選擇:電子密碼鎖、電子琴或電子時(shí)鐘。</p><p><b> 設(shè)計(jì)內(nèi)容與要求:</b></p><p> (1)選擇其中一個(gè)設(shè)計(jì)項(xiàng)目,進(jìn)行設(shè)計(jì)方案的比較和論證,確定設(shè)計(jì)思路和方案;</p><p> ?。?)進(jìn)行硬件設(shè)計(jì),畫(huà)出硬件結(jié)構(gòu)框圖,完成電路原理圖的設(shè)計(jì)
7、和元器件選型,必要時(shí)應(yīng)給出重要電路參數(shù)的設(shè)計(jì)和計(jì)算過(guò)程,以及元器件參數(shù)的選型依據(jù);</p><p> ?。?)編寫(xiě)單片機(jī)的軟件程序,先理清程序設(shè)計(jì)思路并繪制程序流程圖,再編寫(xiě)具體的匯編語(yǔ)言或C語(yǔ)言程序語(yǔ)句,并注釋說(shuō)明。</p><p> 成績(jī)?cè)u(píng)定依據(jù):(分值百分比)</p><p> ?。?)確定設(shè)計(jì)思路和方案——20%;</p><p>
8、 ?。?)畫(huà)出硬件結(jié)構(gòu)框圖、原理圖的設(shè)計(jì)、元器件選型,給出電路參數(shù)的設(shè)計(jì)依據(jù)——30%;</p><p> ?。?)繪制程序流程圖,再編寫(xiě)程序語(yǔ)句,并注釋說(shuō)明——30%;</p><p> ?。?)設(shè)計(jì)成果的功能完善程度、創(chuàng)新點(diǎn)、演示效果,撰寫(xiě)設(shè)計(jì)報(bào)告的規(guī)范性——20%。</p><p><b> 設(shè)計(jì)方案</b></p>&l
9、t;p> 根據(jù)定時(shí)中斷的原理,數(shù)碼管顯示和鍵盤(pán)掃描電路,以及和MCS-51單片機(jī)的接口方式,通過(guò)軟件編程,實(shí)現(xiàn)時(shí)間初值設(shè)置,時(shí)鐘運(yùn)行和顯示。</p><p> 1、可供使用的硬件電路:</p><p> 1)顯示電路可選用數(shù)碼管顯示電路或LCD1602;</p><p> 2)P2驅(qū)動(dòng)七段顯示器,P3為七段顯示器的掃描模塊;</p>&l
10、t;p> 3)揚(yáng)聲器和按鈕可接至P1口</p><p> 2、七段數(shù)碼管的字型代碼表如下表: </p><p> 2、數(shù)碼管動(dòng)態(tài)掃描時(shí)間</p><p> 數(shù)碼管動(dòng)態(tài)掃描顯示的時(shí)間要根據(jù)數(shù)碼管的數(shù)量來(lái)定的。一般來(lái)說(shuō),每一位數(shù)碼管需要一定的顯示時(shí)間,也就是說(shuō),你輸出一位數(shù)碼管的數(shù)據(jù)點(diǎn)亮這個(gè)數(shù)碼管之后,需要一定的時(shí)間才能熄滅它并點(diǎn)亮下一個(gè)數(shù)碼管,而不能一輸
11、出就馬上熄滅它,否則亮度會(huì)非常低。 全部數(shù)碼管全部掃描一遍的總時(shí)間最好不要超過(guò)25mS,否則閃爍會(huì)比較嚴(yán)重,通??偟膾呙桀l率要在60Hz以上,才看不到閃爍。比如說(shuō)要掃描8位數(shù)碼管,那么可以讓每一位數(shù)碼管點(diǎn)亮1mS,這樣全部顯示一遍就大約是8mS或稍微多一點(diǎn)點(diǎn)(算上顯示處理的指令執(zhí)行時(shí)間),此時(shí)的總掃描頻率就是125Hz左右,這樣的話,即能保證亮度,又看不到閃爍。</p><p> 3、LCD1602的
12、基本操作時(shí)序:</p><p> 寫(xiě)指令 輸入:RS=L,=L,D0~D7=指令碼,E=正脈沖 輸出:D0~D7=數(shù)據(jù);</p><p> 寫(xiě)數(shù)據(jù) 輸入:RS=H,=L,D0~D7=數(shù)據(jù),E=正脈沖 輸出:無(wú)</p><p> ?。?)LCD1602內(nèi)部帶有80B的RAM緩沖區(qū),對(duì)應(yīng)的地址為第一行地址:00H~27H,第二行地址為為:40H~67H,當(dāng)我
13、們向00H~0FH和40H~4FH寫(xiě)入顯示的數(shù)據(jù)時(shí),液晶可以立即顯示出來(lái),當(dāng)寫(xiě)入到10H~27H和50H~67H時(shí),必須通過(guò)移屏指令將它們移入可現(xiàn)實(shí)區(qū)域方可正常顯示。</p><p><b> ?。?)數(shù)據(jù)指針設(shè)置</b></p><p> 指令碼:0x80+地址碼(00H~27H, 40H~67H)</p><p><b> 硬
14、件和軟件設(shè)計(jì)</b></p><p><b> 4.1硬件設(shè)計(jì)思想</b></p><p> 主要用到這些元件:AT89C51單片機(jī)與單片機(jī)的最小系統(tǒng),八位顯示數(shù)字管,74LS245鎖存器。用12MHZ的晶振和兩個(gè)較小的22pF的電容組成振蕩器電路,用一個(gè)按鍵,一個(gè)電解電容,一個(gè)10K電阻組成具有上電自動(dòng)復(fù)位和手動(dòng)復(fù)位兩種操作的復(fù)位電路。用P0口作為輸
15、出需接上拉電阻,即需RESPACK-8排阻,74LS245鎖存器保存要開(kāi)通的位碼。通過(guò)控制P0,P2,P3口來(lái)控制時(shí)間的計(jì)時(shí)。P0口送入要顯示的字段,P2口送入要顯示的位碼,P3口低三位即為查詢是否需要調(diào)整時(shí)分秒數(shù)。開(kāi)通計(jì)時(shí)器中斷0來(lái)查表得到要顯示的數(shù)字。</p><p> 4.2 軟件設(shè)計(jì)思想</p><p> 整個(gè)程序先給數(shù)碼管送初值12 00 00,然后進(jìn)行初始化工作。程序由一個(gè)
16、主函數(shù),一個(gè)定時(shí)器中斷程序,一個(gè)延時(shí)子程序,三個(gè)判斷子程序,一個(gè)顯示子程序構(gòu)成。程序通過(guò)按鍵掃描程序來(lái)確定是否調(diào)用中斷程序來(lái)對(duì)時(shí)間進(jìn)行調(diào)整。用一子程序完成時(shí)分秒的調(diào)整,通過(guò)循環(huán)掃描三個(gè)按鍵的電平變化來(lái)判斷對(duì)應(yīng)按鍵是否按下,并帶有去抖動(dòng)功能,當(dāng)某個(gè)按鍵按下時(shí),則對(duì)應(yīng)的進(jìn)行增一操作。若分秒增一到達(dá)60次或者時(shí)增一到達(dá)24次,將對(duì)其清零,各個(gè)操作均實(shí)時(shí)的通過(guò)數(shù)碼管顯示。</p><p><b> 4.3 流
17、程圖</b></p><p><b> (1)軟件系統(tǒng)框圖</b></p><p> 圖4.1 軟件系統(tǒng)框圖</p><p> (2)系統(tǒng)流程圖:如圖4.2所示整個(gè)程序先給數(shù)碼管送初值12 00 00,然后進(jìn)行初始化工作,包括定時(shí)器及其初值設(shè)置、開(kāi)中斷等。程序通過(guò)按鍵掃描程序來(lái)確定是否調(diào)用中斷程序來(lái)對(duì)時(shí)間進(jìn)行調(diào)整,整個(gè)程序較為
18、簡(jiǎn)短,但是時(shí)間誤差很小。</p><p> 圖4.2 系統(tǒng)流程圖</p><p> (3)按鍵子函數(shù)流程圖: 如圖4.3所示加一子程序完成時(shí)分秒的調(diào)整,通過(guò)循環(huán)掃描三個(gè)按鍵的電平變化來(lái)判斷對(duì)應(yīng)按鍵是否按下,并帶有去抖動(dòng)功能,當(dāng)某個(gè)按鍵按下時(shí),則對(duì)應(yīng)的進(jìn)行增一操作。若分秒增一到底60次或者時(shí)增一到達(dá)24次,將對(duì)其清零,各個(gè)操作均實(shí)時(shí)的通過(guò)數(shù)碼管顯示。</p><p&
19、gt; 圖4.3 按鍵子函數(shù)流程圖</p><p><b> 設(shè)計(jì)總結(jié)</b></p><p> 1.當(dāng)按下K1鍵一次即進(jìn)入時(shí)間秒秒鐘設(shè)定狀態(tài),然后再按一次K1鍵即進(jìn)入時(shí)間分鐘設(shè)定狀態(tài)。最后再按一次K1進(jìn)入時(shí)間小時(shí)設(shè)定狀態(tài)。設(shè)定完成后如圖5-1所示。</p><p><b> 圖5-1</b></p>
20、<p> 2.按K1鍵進(jìn)入時(shí)間秒鐘設(shè)定狀態(tài)后,然后按一下K2鍵進(jìn)行加時(shí)。設(shè)定完成后如圖5-2所示。</p><p><b> 圖5-2</b></p><p> 3.按K1鍵進(jìn)入時(shí)間秒鐘設(shè)定狀態(tài)后,然后按一下K3鍵進(jìn)行減時(shí)。設(shè)定完成后如圖5-3所示。</p><p><b> 圖5-3</b></
21、p><p> 4.按K1鍵兩次進(jìn)入時(shí)間分鐘設(shè)定狀態(tài)后,然后按一下K2鍵進(jìn)行加時(shí)。設(shè)定完成后如圖5-4所示。</p><p><b> 圖5-4</b></p><p> 5.按K1鍵兩次進(jìn)入時(shí)間分鐘設(shè)定狀態(tài)后,然后按一下K3鍵進(jìn)行減時(shí)。時(shí)間設(shè)定完成后如圖5-5所示。</p><p><b> 圖5-5<
22、;/b></p><p> 6.按K1鍵三次進(jìn)入時(shí)間小時(shí)設(shè)定狀態(tài)后,然后按一下K2進(jìn)行加時(shí)。時(shí)間設(shè)定完成后如圖5-6所示。</p><p><b> 圖5-6</b></p><p> 7.按K1鍵三次進(jìn)入時(shí)間小時(shí)設(shè)定狀態(tài)后,然后按一下K3進(jìn)行減時(shí)。時(shí)間設(shè)定完成后如圖5-7所示。</p><p><b&
23、gt; 圖5-7</b></p><p> 經(jīng)過(guò)這次電子鐘的設(shè)計(jì),讓我鞏固和運(yùn)用了在“模擬電子技術(shù)”、“數(shù)字電子技術(shù)”及“電路分析”等課程中所學(xué)的理論知識(shí)和實(shí)驗(yàn)技能,基本掌握了常用電子電路的一般設(shè)計(jì)方法,提高了設(shè)計(jì)能力和實(shí)驗(yàn)技能。 </p><p> 本次的電子鐘實(shí)驗(yàn)中,我學(xué)會(huì)了很多,平時(shí)的學(xué)習(xí)只是理論的學(xué)習(xí),課程設(shè)計(jì)使得我對(duì)理論知識(shí)有了更加深刻的認(rèn)識(shí),通過(guò)實(shí)驗(yàn)
24、的調(diào)試,我也初步學(xué)會(huì)了如何排解錯(cuò)誤,解決問(wèn)題。還有這次的課程設(shè)計(jì)告訴我,只有將理論和實(shí)踐相結(jié)合才是真正的學(xué)到了知識(shí)。碰到不懂的問(wèn)題要學(xué)會(huì)多自行查閱相關(guān)資料,提高自學(xué)能力。同時(shí)做事需要耐心,不能碰到一點(diǎn)困難就退縮。 </p><p> 本次設(shè)計(jì)使我對(duì)已學(xué)過(guò)的基礎(chǔ)知識(shí)有了更深入的理解,獨(dú)立思考、獨(dú)立工作以及應(yīng)用所學(xué)基本理化分析和解決實(shí)際問(wèn)題的能力有了很大的提高。另外,本次設(shè)計(jì)使我們的實(shí)際操作技
25、能得到了訓(xùn)練,同時(shí)也培養(yǎng)了我們嚴(yán)謹(jǐn)?shù)膽B(tài)度。 </p><p><b> 參考文獻(xiàn)</b></p><p> 單片機(jī)原理及接口技術(shù)(第二版),李全利,北京:高等教育出版社,2009年。</p><p> 單片機(jī)原理及應(yīng)用(第二版),李建忠,西安:西安電子科技大學(xué)出版社,2008。</p><p> 單片機(jī)原理及應(yīng)用
26、,馮文旭等,北京:機(jī)械工業(yè)出版社,2008。</p><p> 單片機(jī)基礎(chǔ)(第3版),李廣弟等, 北京:北京航空航天大學(xué)出版社,2007。</p><p> 單片機(jī)高級(jí)教程:應(yīng)用與設(shè)計(jì)(第2版),何立民,北京:北京航空航天大學(xué)出版社,2007。</p><p> 指導(dǎo)老師評(píng)閱依據(jù)和分?jǐn)?shù)</p><p> 綜合評(píng)定成績(jī):
27、 </p><p> 評(píng)閱人: </p><p><b> 附錄</b></p><p> #include<reg51.h> </p><p> #define uint unsigned int</p><p> #define
28、 uchar unsigned char </p><p> sbit k1=P3^5; </p><p> sbit k2=P3^6; </p><p> sbit k3=P3^7; </p><p> uchar code duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F
29、,0x6F,0x40}; </p><p> uchar hc[8]; </p><p> uchar jishu,jishu1=0,k,set,shan,a,b,c,time; </p><p> char shi,fen,miao;</p><p> void delay(uint t) </p><p&g
30、t; { uchar i; </p><p> while(t--) </p><p> for(i=110;i>0;i--);</p><p><b> } </b></p><p> void key() </p><p> { if(k1==0) </p>
31、;<p> { delay(5); </p><p> while(k1==0); </p><p> if(++set==4) </p><p><b> set=0; </b></p><p><b> }</b></p><p> if
32、(k2==0) </p><p> { delay(5); </p><p> while(k2==0); </p><p> if(set==1) </p><p> { if(++miao==60) </p><p> miao=0; </p><p><
33、b> } </b></p><p> if(set==2) </p><p><b> { </b></p><p> if(++fen==60) fen=0; </p><p><b> } </b></p><p> i
34、f(set==3) </p><p> { if(++shi==24) </p><p><b> shi=0; </b></p><p><b> } </b></p><p><b> } </b></p><p> if(k3==0
35、) </p><p> { delay(5); </p><p> while(k3==0); </p><p> if(set==1) </p><p><b> { </b></p><p> if(--miao<0) </p><p>
36、 miao=59; </p><p><b> } </b></p><p> if(set==2) </p><p><b> { </b></p><p> if(--fen<0) </p><p><b> fen
37、=59; </b></p><p><b> } </b></p><p> if(set==3) </p><p><b> { </b></p><p> if(--shi<0) </p><p><b> shi=23; &
38、lt;/b></p><p><b> } </b></p><p><b> } </b></p><p> if(set==1) </p><p> a=0xff*shan; </p><p> else{a=0;} </p><
39、;p> if(set==2) </p><p> b=0xff*shan; </p><p> else{b=0;} </p><p> if(set==3) </p><p> c=0xff*shan; </p><p> else{c=0;}</p><p>
40、;<b> } </b></p><p> void init() </p><p><b> { </b></p><p> TMOD=0x01; </p><p> TH0=(65535-5000)/256; </p><p> TL0=(6553
41、5-5000)%256; </p><p><b> EA=1; </b></p><p><b> ET0=1; </b></p><p><b> TR0=1; </b></p><p><b> } </b></p><
42、p> void tint(void) interrupt 1 </p><p> { TH0=(65535-5000)/256; </p><p> TL0=(65535-5000)%256; </p><p> if(set!=0) </p><p> {if((k1==0)||(k2==0)||(k3==0))
43、</p><p> time=0; </p><p> if(time>=10) </p><p><b> {set=0;</b></p><p> time=0; </p><p><b> } </b></p><p>
44、;<b> } </b></p><p><b> jishu++; </b></p><p> if(jishu==40) </p><p> { jishu=0; </p><p> shan=!shan;</p><p> if(++k==4) &l
45、t;/p><p> { k=0; </p><p><b> time++; </b></p><p> if(++miao==60) </p><p> { miao=0; </p><p> if(++fen==60) </p><p> { f
46、en=0; </p><p> if(++shi==24) </p><p><b> shi=0; </b></p><p><b> } </b></p><p><b> } </b></p><p><b> }
47、</b></p><p><b> }</b></p><p> hc[0]= c|shi/10; </p><p> hc[1]= c|shi%10;</p><p> hc[2]=10; </p><p> hc[3]=b|fen/10;</p><
48、p> hc[4]=b|fen%10;</p><p> hc[5]=10; </p><p> hc[6]=a|miao/10; </p><p> hc[7]=a|miao%10;</p><p> jishu1++; </p><p> if(jishu1==8) </p>
49、<p> jishu1=0; </p><p> P2=(P2+1)%8;</p><p> P0=duan[hc[jishu1]]; </p><p><b> } </b></p><p> void main() </p><p> { init(); <
50、;/p><p><b> P2=0x00;</b></p><p> while(1) </p><p><b> { </b></p><p><b> key(); </b></p><p><b> } </b>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)----單片機(jī)電子時(shí)鐘
- 51單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)電子時(shí)鐘課程設(shè)計(jì)報(bào)告 (2)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--- 單片機(jī)電子時(shí)鐘設(shè)計(jì)
- 51單片機(jī)電子時(shí)鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)電子時(shí)鐘的設(shè)計(jì)
- 單片機(jī)電子時(shí)鐘的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)
- 51單片機(jī)電子時(shí)鐘課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 51單片機(jī)電子時(shí)鐘課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論