基于單片機電子時鐘的設(shè)計(完整資料)_第1頁
基于單片機電子時鐘的設(shè)計(完整資料)_第2頁
基于單片機電子時鐘的設(shè)計(完整資料)_第3頁
基于單片機電子時鐘的設(shè)計(完整資料)_第4頁
基于單片機電子時鐘的設(shè)計(完整資料)_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機電子時鐘的設(shè)計(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)

基于單片機電子時鐘的設(shè)計(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)單片機課程設(shè)計姓名:劉韶輝學(xué)號:1402250232班級:自動化11402成績:指導(dǎo)老師:吳玉蓉設(shè)計時間:2016年12月26日~2017年1月5日目錄TOC\o”1-3”\h\uHYPERLINK\l”_Toc72689267”1。設(shè)計要求...。..。。.。..。...。...。....。。..。。。.....。.。PageRef_Toc72689267\h1HYPERLINK\l"_Toc72689269"2。系統(tǒng)總體方案?PageRef_Toc72689269\h2HYPERLINK\l"_Toc72689271"3。硬件電路設(shè)計 PageRef_Toc72689271\h3HYPERLINK\l"_Toc72689272"4.系統(tǒng)軟件設(shè)計。 45.HYPERLINK\l"_Toc72689275”課程設(shè)計體會?。.。。.。。。.。。..。。..。。........。。。...。。。15HYPERLINK\l"_Toc72689274”6.參考文獻 157.系統(tǒng)實物圖。.。..。..。.。...。。...。..。。.。。....。。。。。。1PageRef_Toc72689273\h6HYPERLINK\l”_Toc72689276”附錄1電路原理圖 17附錄2原件清單.。。。..。.。。。。..。....。.。.....。.。18一、設(shè)計要求利用51單片機開發(fā)電子時鐘,實現(xiàn)時間顯示、調(diào)整功能.具體要求如下:按以上要求制定設(shè)計方案,并繪制出系統(tǒng)工作框圖;按要求設(shè)計部分外圍電路,并與單片機仿真器、單片機實驗箱、電源等正確可靠的連接,給出電路原理圖;用仿真器及單片機實驗箱進行程序設(shè)計與調(diào)試;利用鍵盤輸入調(diào)整秒、分和小時時刻,數(shù)碼管顯示時間;二、系統(tǒng)總體方案1。時鐘計數(shù):形成秒、分、小時,系統(tǒng)時間采用24小時制。利用單片機內(nèi)部的定時器/計數(shù)器來實現(xiàn),它的處理過程如下:首先設(shè)定單片機內(nèi)部的一個定時器/計數(shù)器工作于定時方式,對機器周期計數(shù)形成基準時間(如10ms),然后用另一個定時器/計數(shù)器或軟件計數(shù)的方法對基準時間計數(shù)形成秒(對10ms計數(shù)100次),秒計60次形成分,分計60次形成小時,小時計24次則計滿一天。2。顯示:采用8個LED顯示系統(tǒng)當前時間,顯示格式為“時-分-秒"(如12—25-09)。3.設(shè)置功能:用戶可以對系統(tǒng)的時間進行設(shè)置。沒有按鍵時,則時鐘正常走時.當按下K0鍵,進入調(diào)分狀態(tài),時鐘停止走動,此時,按K1或K2鍵可進行加1或減1操作;繼續(xù)按K0鍵可分別進行分和時的調(diào)整,此時,按K1或K2鍵可進行加1或減1操作;最后按K0鍵將退出調(diào)整狀態(tài),時鐘開始計時運行。4.系統(tǒng)框圖STC89C51STC89C51復(fù)位復(fù)位電路電源電路電源電路?按鍵按鍵電路顯示電路顯示電路晶振晶振電路三、硬件電路設(shè)計1.時鐘電路(晶振電路)單片機利用外部12MHZ晶振構(gòu)成振蕩電路作為時鐘源,單片機內(nèi)部具有一個高增益反向放大器,用于構(gòu)成振蕩器。通常在引腳XTAL1和XTAL2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,結(jié)構(gòu)如圖所示:圖2時鐘電路圖2.按鍵電路按鍵處理設(shè)置為:當有沒鍵按下時,時鐘正常運行;當按一次K1,時鐘停止走動,按K2對秒進行調(diào)整;當K1按2次時,按K2對分進行調(diào)整;當K1按下3次時,按K2對小時進行調(diào)整,當按下4次K1時,校時完畢,時鐘按設(shè)定的時間進行正常走時。當按1次K3進入鬧鐘設(shè)置界面,時鐘繼續(xù)進行走時,按K2對秒進行設(shè)置;當按2次K3,按K2對分進行設(shè)置;當按3次K3,按K2對秒進行設(shè)置;當按下4次K3時,鬧鐘設(shè)置完畢進入時鐘顯示界面。電路如下圖:圖3獨立按鍵電路3.復(fù)位電路單片機小系統(tǒng)常采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實現(xiàn)系統(tǒng)的復(fù)位操作,上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作,手動復(fù)位要求在電源接通的條件下,在單片機運行期間,用按鈕開關(guān)操作使單片機復(fù)位,其結(jié)構(gòu)圖如下圖,上電自動復(fù)位通過電容C充電來實現(xiàn),手動按鍵復(fù)位是通過按鍵將電阻R與Vcc接通來實現(xiàn)。? ??? 圖4復(fù)位電路4.單片機系統(tǒng)STC89C51是HYPERLINK"http://baike.haosou。com/doc/2169962。html"STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有4K在系統(tǒng)可編程Flash存儲器。STC89C51使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)HYPERLINK"http://baike.haosou。com/doc/5412133.html"51單片機不具備的功能。在單芯片上,擁有靈巧的8位HYPERLINK"http://baike。haosou。com/doc/735320.html"CPU

和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的HYPERLINK”http://baike。haosou.com/doc/5901020.html"解決方案。支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被圖5單片機系統(tǒng)凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止.最高運作頻率35MHz,6T/12T可選。5。數(shù)碼管顯示電路將所有數(shù)碼管的8個顯示段碼"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,電路如下圖:圖6數(shù)碼管顯示電路四、軟件設(shè)計本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、按鍵程序、延時程序四大模塊。設(shè)計思路:本系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、按鍵程序、延時程序和共陰極數(shù)碼管顯示程序。定時中斷程序是利用單片機內(nèi)部定時器0實現(xiàn)1秒的定時,然后利用軟件延時實現(xiàn)分小時,時間調(diào)整程序是利用單片機的內(nèi)部存貯器,把調(diào)整好的時間寫到顯示時間的存貯單元,然后啟動定時器開始計時并顯示,延時程序是利用軟件實現(xiàn)延時達到去抖的目的和數(shù)碼管動態(tài)顯示的延時.主程序就是利用這些子程序中斷程序?qū)崿F(xiàn)顯示、定時等功能。1.軟件流程圖(1)主程序開始開始初始化初始化鍵盤掃描鍵盤掃描顯示顯示(2)鍵盤掃描程序開始開始計時滿1計時滿1s秒加1秒加1滿60s滿60s開始時間顯示時清零時滿24分清零,時加1分滿60秒清零,分加1開始時間顯示時清零時滿24分清零,時加1分滿60秒清零,分加1(3)顯示程序開始開始時間數(shù)據(jù)時間數(shù)據(jù)個十位分離i=0i=0i>8?i>8?送位選送位選碼結(jié)束消隱送段選碼結(jié)束消隱送段選碼2、程序清單#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};sbitk0=P1^0;sbitk1=P1^1;sbitk2=P1^2;ints0,s1,min0,min1,h0,h1,shi,fen,miao,count,slnum,a0,a1,b0,b1,c0,c1;voiddelay(uintz)//延時函數(shù)1ms{uintx,y;for(x=z;x>0;x--)for(y=90;y>0;y--);}voidinit()//初始化函數(shù){P0=table[0];P2=0xff;shi=23;fen=59; ? ? //上電時間23-59—50miao=50;s1=miao/10;s0=miao%10;min1=fen/10;min0=fen%10;h1=shi/10;h0=shi%10;? ? //分離出個位十位TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536—50000)%256;? ?//基準時間為20msEA=1;ET0=1;TR0=1; ?? //打開中斷定時器}voiddisplay0()//{P2=0x80;P0=table[h1];delay(1);P0=0x00;?? ??//消隱P2=0x40;P0=table[h0];delay(1);P0=0x00;P2=0x20;P0=0x40;delay(1);P0=0x00;P2=0x10;P0=table[min1];delay(1);P0=0x00;P2=0x08;P0=table[min0];delay(1);P0=0x00;P2=0x04;P0=0x40; ?? ?//讓時分秒中間顯示“—"delay(1);P0=0x00;P2=0x02;P0=table[s1];delay(1);P0=0x00;P2=0x01;P0=table[s0];delay(1);P0=0x00;}voiddisplay2()? 該顯示函數(shù)是讓閃爍顯示函數(shù)的子函數(shù){P2=0x80;P0=table[a1];delay(1);P0=0x00;P2=0x40;P0=table[a0];delay(1);P0=0x00;P2=0x20;P0=0x40;delay(1);P0=0x00;P2=0x10;P0=table[b1];delay(1);P0=0x00;P2=0x08;P0=table[b0];delay(1);P0=0x00;P2=0x04;P0=0x40;delay(1);P0=0x00;P2=0x02;P0=table[c1];delay(1);P0=0x00;P2=0x01;P0=table[c0];delay(1);P0=0x00;}voiddisplay3() ? ?閃爍顯示函數(shù),用于未松手閃爍{intn;for(n=0;n<40;n++){display0();}for(n=0;n<35;n++){display2();}}voidkryscan()//鍵盤掃描函數(shù){if(k0==0){delay(3); ? //延時去抖if(k0==0) ? //確認K0已按下{slnum++;while(!k0) ? //判斷是否松手display0();?? //未松手閃爍顯示if(slnum==1){TR0=0; //關(guān)閉定時器,時鐘停止走動c1=10;c0=10;a1=h1;a0=h0;b0=min0;b1=min1;? //讓秒鐘閃,時鐘分鐘顯示}if(slnum==2){c1=s1;c0=s0;a1=h1;a0=h0;b0=10;b1=10; ??? //讓分鐘閃,秒鐘時鐘顯示}if(slnum==3){c1=s1;c0=s0;a1=10;a0=10;b0=min0;b1=min1;?? ?//讓時鐘閃,秒鐘分鐘顯示}if(slnum==4){c1=s1;c0=s0;a1=h1;a0=h0;b0=min0;b1=min1;slnum=0;??? //全部顯示,不閃爍TR0=1;??? //打開定時器,時鐘繼續(xù)}}}if(slnum!=0){if(k1==0){delay(3);if(k1==0) ?? //K1是否按下{while(!k1) //判斷是否松手display3();? ?//閃爍顯示if(slnum==1){miao++;if(miao==60)miao=0;s1=miao/10;s0=miao%10;???? //秒鐘加一}if(slnum==2){fen++;if(fen==60)fen=0;min1=fen/10;min0=fen%10;??? //分鐘加一}if(slnum==3){shi++;if(shi==24)shi=0;h1=shi/10;h0=shi%10;? ? ?//時鐘加一}}}if(k2==0){delay(3);if(k2==0){while(!k2)display3();if(slnum==1){miao—-;if(miao==-1)miao=59;s1=miao/10;s0=miao%10;?? ?//秒鐘減一}if(slnum==2){fen—-;if(fen==-1)fen=59;min1=fen/10;min0=fen%10;?? //分鐘減一}if(slnum==3){shi—-;if(shi==—1)shi=23;h1=shi/10;h0=shi%10;?? //時鐘減一}}}}}voiddisplay1()? ?//按鍵檢查閃爍顯示函數(shù){intn;for(n=0;n〈40;n++){display0();kryscan();}for(n=0;n<35;n++){display2();kryscan();}}voidmain()//主函數(shù){init();while(1){display0();kryscan();if(!slnum==0)display1();}}voidtimer0()interrupt1//中斷函數(shù){TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24)shi=0;h1=shi/10;h0=shi%10;}min1=fen/10;min0=fen%10;}s1=miao/10;s0=miao%10;}}五、設(shè)計心得體會 通過本次課程設(shè)計,加強了我對單片機這門課程的理解與熟悉,而且這次設(shè)計使我的動手能力更有顯著的提高,讓我獲益良多,也使我更加扎實的掌握了有關(guān)電子線路單片機方面的知識,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查,我終于找出了問題的所在,也暴露出了我在這方面的知識欠缺和經(jīng)驗不足.實踐才能出真知,實踐才是檢驗真理的唯一標準,唯有通過親手制作,才能令我們掌握知識。?在這次的課程設(shè)計中,我們遇到了很多困難,過程很艱難,但是我們都克服了,這是對我們自己的肯定。我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲取。不可否認,單片機是一門比較難的專業(yè)學(xué)科。但是經(jīng)過這一學(xué)期的學(xué)習(xí),我覺得單片機這門課很好,讓我們在設(shè)計中掌握課程,具有很強的實用性。在社會上,單片機應(yīng)用極其廣泛.通過這次課程設(shè)計罵我掌握了常用元件的識別和測試,熟悉了常用儀器儀表;了解了電路的連接方法;以及如何提高電路的性能等。六、參考文獻及網(wǎng)站1、《單片機原理及應(yīng)用》羅維平李德駿編華中科技大學(xué)出版社.2、《單片微型計算機原理與接口技術(shù)》高峰編電子工業(yè)出版社。3、《單片機應(yīng)用新技術(shù)教程》鄒逢興編高等教育出版社。4、《16位微型計算機原理接口及其應(yīng)用》朱宇光編電子工業(yè)出版社.5、《微型計算機原理與接口技術(shù)》吳秀清編中國科學(xué)技術(shù)出版社。6、《微型計算機接口技術(shù)》鄧亞平編清華大學(xué)出版社。7、網(wǎng)站HYPERLINK"http://www。21ic。com"www.21ic.com七、實物圖附錄2元件清單品名規(guī)格型號技術(shù)要求數(shù)量單片機STC89C51RC1單片機座子STC89C51RC1晶振12MHz1獨石電容30pF2電解電容47μF2電解電容10μF1輕觸四腳按鍵6.0x6。0x5.0mm4色環(huán)電阻10KΩ1/4w4色環(huán)電阻510Ω1/4w8色環(huán)電阻4。7K1/4w8三極管2N5551NPN8鎖存器74LS3731鎖存器座子74LS37318段式LED數(shù)碼管QH5011AS 0.5單字共陰8面包版1導(dǎo)線0。4mm20.4單股導(dǎo)線3m焊錫絲0.5KG3m交流220V—直流5V1適配器配套插座ISP下載編程工具STC89C51RC/RD+系列ISP經(jīng)濟型下載編程工具基于Proteus的單片機控制電子時鐘電路設(shè)計與仿真摘要工程實踐教學(xué)環(huán)節(jié)是為了學(xué)生能夠更好地鞏固和實踐所學(xué)專業(yè)知識而設(shè)置的,在本次工程實踐中,我們以微機原理與接口技術(shù)課程中所學(xué)知識為基礎(chǔ),設(shè)計了電子時鐘。單片機由RAM、ROM、CPU構(gòu)成,由定時、計數(shù)和多種接口于一體的微控制器。它體積小,成本低,廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動化上。本設(shè)計主要設(shè)計了一個基于AT89C51單片機為核心,使用12MHz晶振與AT89C51相連接,通過軟件編程的方法實現(xiàn)以24小時為一個周期,同時8位7段LED數(shù)碼管顯示小時、分鐘和秒的要求。本系統(tǒng)的設(shè)計說明重點介紹了如下幾方面的內(nèi)容:1)電子時鐘的基本功能,同時對計時的原理也進行了簡要的闡述;2)介紹了系統(tǒng)的總體設(shè)計、給出了系統(tǒng)的整體結(jié)構(gòu)框圖,并對其進行了功能模塊劃分及所采用的元器件進行了詳細說明;3)對系統(tǒng)各功能模塊的軟、硬件實現(xiàn)進行了詳細的設(shè)計說明。關(guān)鍵詞:AT89C51單片機;電子鐘;硬件設(shè)計;軟件設(shè)計目錄TOC\o”1—3”\h\z\u第一章緒論11。1課題簡介11。2設(shè)計目的與要求11。3題目描述21.4設(shè)計任務(wù)21.5章節(jié)安排說明2第二章電子時鐘系統(tǒng)簡介32.1單片機簡介32。2單片機的發(fā)展史32.3電子時鐘基本特點42.3電子時鐘基本特點4第三章系統(tǒng)總體設(shè)計及硬件設(shè)計53.1單片機芯片選擇方案53.2數(shù)碼管顯示選擇方案53.2。1數(shù)碼管顯示工作原理53.2.2數(shù)碼管方案及選擇63。3硬件單元電路設(shè)計與參數(shù)設(shè)計63。4元件清單8第四章電子時鐘軟件設(shè)計104.1軟件系統(tǒng)模塊功能簡要介紹104.2軟件系統(tǒng)流程圖104。3程序代碼12第五章電子時鐘調(diào)試與仿真155。1HEX文件的生成155.2原理圖的繪制155。3調(diào)試與仿真16第六章結(jié)束語18參考文獻19第一章緒論1.1課題簡介數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時,分,秒數(shù)字顯示的計時裝置,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠遠超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表的報時功能。數(shù)字鐘已成為人們?nèi)粘I钪械谋匦杵?,廣泛用于家庭、車站、碼頭、劇院、辦公室等場所.給人們的生活、學(xué)習(xí)、工作帶來極大的方便[1]。不僅如此,在現(xiàn)代化的進程中,也離不開電子鐘的相關(guān)功能和原理,比如機械手的控制、家務(wù)的自動化、定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動啟閉路燈等,這些都是以鐘表數(shù)字化為基礎(chǔ)的.而且是控制的核心部分。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。數(shù)字電子鐘的設(shè)計方法有多種,例如,可用中小規(guī)模集成電路組成電子鐘,也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘還可以利用單片機來實現(xiàn)電子鐘等等。這些方法都各有特點,其中,利用單片機實現(xiàn)的電子鐘具有編程靈活,便于功能擴充,精確度高等特點[2]。基于以上分析,在此次設(shè)計中,我選擇的是利用單片機制作電子鐘.電子鐘的設(shè)計本身包括程序的設(shè)計和硬件電路的設(shè)計[3]。我的思路是,先進行電路的整體設(shè)計,再根據(jù)電路進行編程,在編程的過程中對電路進行微調(diào),以更好的配合程序。調(diào)試成功后,再根據(jù)電路圖畫出仿真圖,將軟件裝入單片機芯片,利用Proteus軟件進行仿真,仿真中的錯誤通過改正程序的邏輯錯誤和電路中的設(shè)計不當進行排除,這個過程很艱難的但也是很重要的。若仿真可以實現(xiàn),則硬件電路的實現(xiàn)就可以有條不紊地進行。1.2設(shè)計目的與要求通過本次工程實踐,運用微機原理與接口技術(shù)所學(xué)知識及查閱相關(guān)資料,完成對時間的計時并顯示的設(shè)計,達到理論知識與實踐更好結(jié)合、提高綜合運用所學(xué)知識和設(shè)計能力的目的。通過本次設(shè)計訓(xùn)練,可以使我們在基本思路和基本方法上對基于MCS-51單片機的嵌入式系統(tǒng)設(shè)計有一個比較感性的認識,并具備一定程度的設(shè)計能力。設(shè)計一個有“時”、“分"、“秒”(23:59:59)顯示的數(shù)字電子鐘.設(shè)計要點具體如下:1)設(shè)計一個脈沖信號產(chǎn)生電路;2)設(shè)計24進制、60進制計數(shù)器;3)設(shè)計譯碼顯示電路;4)時間以24小時為一個周期,顯示時、分、秒。1。3題目描述數(shù)字電子鐘實際上是一個對標準頻率進行計數(shù)的計數(shù)電路,它的計時周期為24小時,顯示滿刻度為23時59分59秒.一個簡單的數(shù)字鐘電路主要由譯碼器顯示器、譯碼器、計數(shù)電路、組合邏輯電路以及振蕩器構(gòu)成。信號由振蕩器產(chǎn)生,通過計數(shù)器傳到譯碼器,再由譯碼顯示器顯示,這樣就可以看到時間變化了。1.4設(shè)計任務(wù)在本次工程實踐中,主要完成如下方面的設(shè)計任務(wù):1)簡要綜述單片機技術(shù)發(fā)展的國內(nèi)外現(xiàn)狀;2)掌握MCS—51系列某種產(chǎn)品(例如8031)的最小電路及外圍擴展電路的設(shè)計方法;3)了解單片電子時鐘的功能及工作過程;4)完成主要功能模塊的硬件電路設(shè)計及必要的參數(shù)確定;5)用一種計算機繪圖軟件完成原理電路的繪制;6)完成系統(tǒng)設(shè)計說明書(頁數(shù)不低于10頁)。1.5章節(jié)安排說明整個設(shè)計總共分為四個章節(jié),第一章是前言部分,主要介紹了設(shè)計單片機電子時鐘的意義、目的及主要內(nèi)容;第二章對單片機作了簡要說明,介紹了單片機的發(fā)展史,并對電子鐘的特點以及原理作了簡要說明。第三章是系統(tǒng)的總體設(shè)計階段,這一部分主要介紹了系統(tǒng)的整體功能,繪制出系統(tǒng)的整體結(jié)構(gòu)框圖。另外按照各部分實現(xiàn)的功能不同,將整個系統(tǒng)分成了三個功能塊,并對每一個功能塊所采用的元器件進行了詳細介紹.第四章是系統(tǒng)詳細設(shè)計階段,對每一個功能塊的芯片圖進行了詳細的說明,對每一個引腳的接線都進行了詳細的設(shè)計,此外還編寫了主要功能模塊的基本程序,詳盡闡述了各模塊的工作過程.第二章電子時鐘系統(tǒng)簡介2.1單片機簡介單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管它的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器、實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入系統(tǒng)集成在一塊芯片上.2。2單片機的發(fā)展史單片機誕生于20世紀七十年代末,經(jīng)歷了SCM、MCU、SOC三大階段。起初模型1.SCM即單片機微型計算機階段(SingleChipMicrocomputer),主要是尋求最佳的單片機形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計算機完成不同的發(fā)展道路.在開創(chuàng)嵌入式系統(tǒng)獨立發(fā)展道路上,Intel公司功不可沒。2。MCU即微控制器(MicroControllerUnit)階段,主要的技術(shù)發(fā)展方向是:不斷擴展?jié)M足嵌入式應(yīng)用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免的落在電氣、電子技術(shù)廠家。從這一角度看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素.在發(fā)展MCU方面,最著名的廠家當屬Philips公司。Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將MCS—51從單片機微型計算機發(fā)展到微控制器。因此,當我們回顧嵌入式系統(tǒng)發(fā)展道路時,不要忘記Intel和Philips的歷史功績.嵌入式系統(tǒng)單片機是嵌入式系統(tǒng)的獨立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機的發(fā)展自然形成了SoC化趨勢.隨著微電子技術(shù)、IC設(shè)計、EDA工具的發(fā)展,基于SoC的單片機應(yīng)用系統(tǒng)設(shè)計會有較大的發(fā)展。因此,對單片機的理解可以從單片機微型計算機、單片微控制器延伸到單片機應(yīng)用系統(tǒng).2.3電子時鐘基本特點現(xiàn)在高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走路精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用液晶顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能.2。3電子時鐘基本特點一個基本的數(shù)字鐘電路系統(tǒng)主要有秒信號發(fā)生器、“時、分、秒”計數(shù)器、譯碼器及顯示器、電路組成.秒信號產(chǎn)生器是整個系統(tǒng)的時基信號,它直接決定計時系統(tǒng)的精度,一般用石英晶體振蕩器加分頻器來實現(xiàn),在此我們用定時器。將定時器與電阻、電容按照定時器構(gòu)成多諧振蕩器圖接線,組成一個輸出1秒的標準脈沖,將標準秒信號送入“秒計數(shù)器”.第三章系統(tǒng)總體設(shè)計及硬件設(shè)計3。1單片機芯片選擇方案方案一:AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機.單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS—51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。方案二:AT89S52是一個低消耗,高性能CMOS8為單片機,片內(nèi)含4kBytesISP的可反復(fù)撰寫1000次的Flash只讀程序存儲器。主要性能有:與MCS—51單片機產(chǎn)品兼容、全靜態(tài)操作:0Hz~33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數(shù)器、八個中斷源、全雙工UART串行通道、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符、易編程。由于只需要實現(xiàn)顯示時間簡單的功能,兩個單片機就能很好的實現(xiàn)該功能。我們優(yōu)先考慮單片機的成本所以選擇方案一。3。2數(shù)碼管顯示選擇方案3.2。1數(shù)碼管顯示工作原理數(shù)碼管是一種把多個LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個LED顯示段的陰極接在一起,即為公共商.陽極即為二極管的正極,又稱為正極,陰極即為二極管的負極,又稱為負極。通常的數(shù)碼管又分為8段,即8個LED顯示段,這是為工程應(yīng)用方便如設(shè)計的,分別為A、B、C、D、E、F、G、DP,其中DP是小數(shù)點位段。而多位數(shù)碼管,除某一位的公共端會連接在一起,不同位的數(shù)碼管的相同端也會連接在一起。即,所有的A段都會連在一起,其它的段也是如此,這是實際最常用的用法.數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動態(tài)顯示的原理是,各個數(shù)碼管的相同段連接在一起,共同占用8位段引管線;每位數(shù)碼管的陽極連在一起組成公共端.利用人眼的視覺暫留性,依次給出各個數(shù)碼管公共端加有效信號,在此同時給出該數(shù)碼管加有效的數(shù)據(jù)信號,當全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來.3.2.2數(shù)碼管方案及選擇方案一:靜態(tài)顯示。靜態(tài)顯示,即當顯示器顯示器顯示某一個字符時,相應(yīng)的發(fā)光二極管恒定導(dǎo)通或截止.該方式每一位都需要一個8位輸出口控制。靜態(tài)顯示時較小電流能獲得較高的亮度,且字符不閃爍。但因當所需現(xiàn)實的位數(shù)較多時,靜態(tài)顯示所需的I/O口數(shù)較大,造成資源的浪費。方案二:動態(tài)顯示.動態(tài)顯示,即各位數(shù)碼管輪流點亮,對于顯示器各位數(shù)碼管,每隔一段延時時間循環(huán)點亮一次。利用人的視覺暫留功能可以看到整個顯示,但須保證掃描速度足夠快,人的視覺暫留功能才可察覺不到字符閃爍。顯示器的亮度與導(dǎo)通電流、點亮?xí)r間及間隔時間的比例有關(guān)。調(diào)整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/0口,降低了能耗。從節(jié)省單片機芯片I/O口和降低能耗的角度出發(fā),本數(shù)字電子鐘數(shù)碼管顯示選擇采用方案二。3。3硬件單元電路設(shè)計與參數(shù)設(shè)計1。電源電路本數(shù)字電子鐘設(shè)計所需電源電壓為直流、電壓值大小為5V的電壓源。從硬件實物設(shè)計簡易程度與經(jīng)費方面考慮,用兩節(jié)電壓值為2.5V干電池與電路電壓源引腳相連接即可達到硬件設(shè)計要求。即本數(shù)字電子鐘設(shè)計用兩節(jié)電壓值大小2。55V干電池做硬件電路電壓源.2.時鐘電路單片機芯片可使用內(nèi)部時鐘和外部時鐘電路兩種方式產(chǎn)生電路所需的時鐘脈沖,內(nèi)部時鐘電路實現(xiàn)可用石英晶體和微調(diào)電容外接即可達到,外部時鐘電路實現(xiàn)需要一個外部脈沖源引入脈沖信號以保證單片機之間時鐘信號的同步。從贏家實現(xiàn)的難易程度考慮,內(nèi)部時鐘電路的實現(xiàn)比外部時鐘電路的實現(xiàn)更簡單容易.即本數(shù)字電子鐘設(shè)計所需要的時鐘源采用內(nèi)部時鐘電路實現(xiàn)。所用定時方式為工作方式1。石英晶振為12M,即最小定時時間為1us,最大定時時間約為65.5ms,其電路圖如下圖3。1所示。圖3。1時鐘電路圖3。鍵盤電路設(shè)計該設(shè)計只用了一個鍵盤,但實現(xiàn)的功能卻是比較完善,減少了硬件資源的損耗,該鍵盤可以實現(xiàn)小時和分鐘的調(diào)節(jié)以及控制是否進入省電模式。當按鍵按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調(diào)節(jié),同樣每按一次小時加一。達到時間調(diào)節(jié)的目的。如圖3.2所示。圖3.2多功能控制鍵4.LED顯示電路數(shù)字電子鐘設(shè)計的顯示模塊用8個以為數(shù)碼管實現(xiàn),也可用兩個四位一體數(shù)碼管實現(xiàn)。兩種實現(xiàn)方式實現(xiàn)方式實現(xiàn)效果一樣.從實物制作的難易程度出,本數(shù)字電子鐘設(shè)計采用一個8位數(shù)碼管實現(xiàn),5.單片機電路本數(shù)字電子鐘設(shè)計采用AT89C51單片機芯片作為中央控制器,實現(xiàn)信號的輸出、LED的顯示及相關(guān)的控制功能,3.4元件清單根據(jù)總體的設(shè)將所需要的元件列出如下,表3.1。表3。1器件清單元件名稱所屬類所屬子類AT89C51MicroprocessorICs8051FamilyCRYSTALMiscellaneous--CAPCapcitorsGenerieCAP—ELECCapcitorsGenerieRESResistor7WaitWirewoundResistor10WaitWirewound7SEG-MPX8-BLUEOptoelectronics7—SegmentDisplaysBUTTONSwitches&RelaysSwitches第四章電子時鐘軟件設(shè)計4。1軟件系統(tǒng)模塊功能簡要介紹本設(shè)計的軟件系統(tǒng)主要采用以下基本模塊來實現(xiàn),主程序、中斷服務(wù)程序、鍵盤輸入程序模塊、數(shù)碼管及其驅(qū)動模塊和延時模塊.主程序:主要用于對輸入信號的處理、輸出信號的控制和各個功能程序模塊的運用及其控制,中斷服務(wù)程序:主要用于電子鐘的準確運行、數(shù)據(jù)輸入過程中的閃爍。鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的數(shù)碼值.數(shù)碼管及其驅(qū)動模塊:主要是用于驅(qū)動數(shù)碼管及利亞數(shù)碼管顯示時間。延時模塊:程序中有兩種延時子程序,一種是短延時用于判斷鍵按下等,一種是長延時.4。2軟件系統(tǒng)流程圖系統(tǒng)軟件采用C語言按模塊化方式進行設(shè)計,然后通過Keil軟件開發(fā)平臺將程序進行編譯生成HEX文件。接著使用Proteous將文件導(dǎo)入進行仿真,顯示仿真結(jié)果。軟件流程圖如圖4.1所示。主程序開始主程序開始初始化設(shè)置初始化設(shè)置時、分、秒顯示時、分、秒顯示硬件延時1S? N硬件延時1S?Y秒加1秒加1是否為60S? N是否為60S? Y秒鐘清零,分加1秒鐘清零,分加1是否為60min? N是否為60min?Y分鐘清零,時加1分鐘清零,時加1是否24h N是否24hY小時清零小時清零圖4.1電子鐘的程序流程圖4.3程序代碼根據(jù)程序流程圖使用C語言對程序進行編程,程序代碼如下所以。#include"reg51.h"#defineucharunsignedchar#defineuintunsignedintcodeuchard[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};uintsecond=0,minter=50,hour=11;uintsshi,sge,mge,mshi,hshi,hge;staticcharcourt=0;sbitP21=P2^1;sbitP22=P2^2;sbitP23=P2^3;sbitP24=P2^4;sbitP25=P2^5;sbitP26=P2^6;sbitP27=P2^7;sbitP20=P2^0;voiddelay(){ //單個LED延時函數(shù)uchari; for(i=0;i〈15;i++);}voidint1()interrupt1using2{ //定時中斷相應(yīng)定50msTH0=0x4c; TL0=0x00; court++;}voidmain(){ //主函數(shù)TMOD=0x01; TH0=0x00; TL0=0x00; EA=1; ET0=1; TR0=1; P1=0XFF; for(;;){ sshi=second/10; //求分秒的個位; sge=second%10; mshi=minter/10; mge=minter%10; hshi=hour/10; hge=hour%10; P0=d[sge]; //時分秒在LED的顯示 P27=1;//P0口數(shù)據(jù)輸出,P2口選通信號 delay(); P27=0; P0=d[sshi]; P26=1; delay(); P26=0; P0=0xbf; P25=1; delay(); P25=0; P0=d[mge]; P24=1; delay(); P24=0; P0=d[mshi]; P23=1; delay(); P23=0; P0=0xbf; P22=1; delay(); P22=0; P0=d[hge]; P21=1; delay(); P21=0; P0=d[hshi]; P20=1; delay(); P20=0; if(court==20){ //定時1s的時間是否到?若到,則執(zhí)行IF后面的程序;court=0; //執(zhí)行LED顯示程序second++;if(second==60){second=0;minter++;if(minter==60){minter=0;hour++;if(hour==24)hour=0; }} } }}第五章電子時鐘調(diào)試與仿真5。1HEX文件的生成1)打開單片機軟件開發(fā)系統(tǒng)KeilVision,單擊“Vision"菜單中的“Project”,在此下拉菜單中單擊“NewProject”選項后,彈出“CreateNewProject”對話框,鍵入新建項目名稱.2)鍵入新建項目名并單擊“確定”按鈕后,在彈出的“SlectDevic”對話框中選擇合適的單片機型,如AT89C51。3)單擊“Vision”菜單中的“File",在此下拉菜單下,選擇“New”后,打開一個空的文本編輯窗口,在此窗口中輸入程序,創(chuàng)建新的源程序“dzz.C”文件。4)在左邊的“Project”窗口的“File"頁中單擊文件組,再單擊鼠標右鍵后,在彈出的窗口中選中“AddFiletoGroup‘SourceGroup1’"選項,將“dzz.C”程序?qū)氲健癝ourceGroup1”中。5)在“Project"下拉菜單中,選中“OptionsforTarget”,將會彈出“OptionforTarget"對話框,在此對話框中選中“Output”選項卡中的“CreatHEXFile”選項。6)在“Project”下拉菜單中,選擇“RebuildallTargetfiles"項。若程序編譯成功,將生成“dzz.HEX”文件。5.2原理圖的繪制1)在ProteusISIS編輯窗口中,單擊元件列表之上的“P”按鈕,添加所需要的元件.2)在ProteusISIS編輯窗口中,繪制電路圖。如圖5.1所示。圖5.1電子鐘電路圖5.3調(diào)試與仿真1)在ProteusISIS編輯窗口中,單擊鼠標右鍵將AT89C51單片機選中并單擊鼠標左鍵,彈出“EditComponent”對話框,在此對話框的“ClockFrequency"欄中設(shè)置單片機晶振頻率為12MHz,在“ProgramFile”欄中單擊文件,選擇先前用KeilVision2s生成的“dzz.HEX"文件。2)在ProteusISIS編輯窗口中“File”下拉菜單“SaveDesign”選型,保存設(shè)計,生成“dzz.DSN”文件。3)在ProteusISIS編輯窗口中單擊“Debug”菜單中選擇“Execute”,可看見在首次運行時,LED顯示的初始值為11—50—00,然后每隔1s進行累計顯示,運行結(jié)果如圖5。2所示。圖5。2電子鐘設(shè)計的運行結(jié)果第六章結(jié)束語本單片機數(shù)字電子鐘系統(tǒng)的功能基本符合顯示格式為:XX:XX:XX,即時:分:秒。時間可采用24小時制。系統(tǒng)上電后從上電時初始化顯示:11-50-00開始計時,能進行時間的調(diào)整,可按自己的要求設(shè)置擴展的小鍵盤個數(shù)設(shè)計任務(wù)的要求,經(jīng)過測試數(shù)據(jù)顯示,系統(tǒng)的可靠性已經(jīng)基本能夠達到實際電子鐘的設(shè)計要求,同時本單片機數(shù)字電子鐘系統(tǒng)具有擴展性.課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn)實際問題、提出實際問題、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際學(xué)習(xí)能力、動手能力的具體訓(xùn)練和考察過程.在此次數(shù)字鐘設(shè)計過程中,在學(xué)習(xí)新知識的同時,把在課程中學(xué)到的理論知識運用到實際作品設(shè)計、操作中,更進一步地熟悉了單片機芯片的結(jié)構(gòu)及掌握了其工作原理和具體的使用方法與相關(guān)元器件的參數(shù)計算方法、使用方法,了解了電路的開發(fā)和制作及課程設(shè)計報告的編寫.加深了對相關(guān)理論知識及專業(yè)知識的掌握度,增強自身的動手能力,鍛煉及提高了理解問題、分析問題、解決問題的能力,更深刻的體會到了理論聯(lián)系實際的重要性,進一步掌握畫圖軟件的使用和提高相應(yīng)的畫圖操作水平及技巧.參考文獻[1]李廣弟,朱月秀,冷祖祁.單片機硬件結(jié)構(gòu)[J].頁碼148。[2]李葉紫,王喜斌,胡輝.MCS_51單片機應(yīng)用教程[M].清華大學(xué)出版社,2004,3[3]李葉紫等.MCS-51單片機應(yīng)用教程[M].清華大學(xué)出版社,2004,3[4]王福瑞等.單片機微機測控系統(tǒng)設(shè)計大全[M].北京航空航天大學(xué)出版社,1999.3[5]李伯成.基于MCS-51單片機的嵌入式系統(tǒng)設(shè)計[M].電子工業(yè)出版社,2004.7基于AT89C51單片機的多音階電子琴的設(shè)計摘要單片機是電子、計算機及機電專業(yè)的一門重要的必修課程.要求我們掌握單片機的基本組成和工作原理、會變程序的一般編寫方法、常用接口電路的軟硬件設(shè)計方法,具備基本的單片機系統(tǒng)應(yīng)用與開發(fā)能力。隨著科技的快速發(fā)展,單片機的應(yīng)用日益普遍。單片機具有強大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本單片機系統(tǒng)設(shè)計應(yīng)用單片機控制技術(shù),用AT89C51單片機為核心控制元件根據(jù)本學(xué)期所學(xué)的單片機知識結(jié)合設(shè)計了一套單片機控制的電子琴系統(tǒng)。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器,它在現(xiàn)代音樂扮演著重要的角色。本次設(shè)計首先對單片機設(shè)計簡易電子琴仔細分析,接著制作硬件電路和編寫軟件的程序,最后進行軟硬件的調(diào)試運行。并且從原理圖,主要芯片,各模塊的原理和各個模塊的程序調(diào)試來闡述。利用單片機產(chǎn)生不同頻率來獲得我們要求的音階,實現(xiàn)高、中、低共21個音符的發(fā)音和顯示和音樂播放時的控制顯示,并且能自動播放程序中編排的音樂.系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比高等,具有一定的使用和參考價值。關(guān)鍵詞:單片機、電子琴、AT89C51、獨立鍵盤、目錄第1章引言.。....。......。.。。.....。..。.。.。。。。..。.。。。。..。。。.。...。。.。.......。。......。......。...。。。..。。。。。...。....。...。。............1.1。1設(shè)計背景..。。。.。。.....。.。。.。。。。.。。.。。...。。..。.。....。...。..。.。。...。..。。。...。。.。。.。。。..。....。。。..。..。.。.。....。..。。。。..。。。......11。2設(shè)計任務(wù)。.。。.。.。。。.。..。。..。...。。。..。。.。。.。..。..。.。.。..。.。。..。。..。.....。。.。.。。..。..。。.。....。。....。。。。...。.。..。....。..。....11。3設(shè)計目的。..。。.......。。..。。.....。.。。。..。...。....。.。。.。...。..。.....。...。.....。。.........。.........。。。。......。。.。..。...。.....。.。11.4設(shè)計思路。.。.。。..。.。.......。。。。...。.。。.。.....。......。..。..。.....。..。.。。..。.。..。....。。..。.。..。..。.。。..。。...。.。.。。。。。。。。。。。.。.。.1第2章方案論證.....。。.。.。.。...........。。.。..。。.。.。.。。..。。.。.。..。。。。.。。。。.。。...。.....。.。。。。。。。。..。...。....。。...。...。。。.....。.12。1方案論證..。。。.。。...。...。。.。...。。。。..。.。.....。..。...。...。。。。..。.。。...。.。........。..。..。。..。。.。.。。。。。...。。..。.。。.。.....。..。..。。..。。。1第3章硬件系統(tǒng)設(shè)計........。。.。.。...。...。。.。....。.。.。。。。...。.。..。。。。.。.。。。。.。........。.。.。.。。。。...。..。............。...。..。23。1時鐘電路....。....。..。.......。....。。..。............。..。。.。。...。.。..。....。.....。...。。。。.。..。...。.。.。..。。。.。。...。...。。..。..。..。..23.2復(fù)位電路.。....。....。。。...。。......。。..。。......。.。..。...。..。.............。。。。..。..。。。.。..。...........。..。。...。。..。。........33.3原理框圖。.....。....。...。。.......。。。.....。。.。..。.。。...。.........。。...。...。。.。.。........。..。....。..。.。。。..。...。....。。..。。..。。。。33.4顯示部分設(shè)計。。。。..。。。。。.。。.。。...。.。。...。.。.。..。。。.。..。....。.。.。。..。。....。。.。.。......。.。。.。。。...。.。.。.。..。。。。.。.....。....33。5按鍵部分設(shè)計。..。。...。....。。。..。..。.。..。.。。.。.....。.。。。.....。...。...。..。。....。...。....。....。......。..。。。。.。。..。..。。.。。.43.6發(fā)音部分設(shè)計。......。.。。。。...。...。。。.。...。。。...。..。..。..。。.....。..。...。..。。。.。..。..。.。.....。...。。。....。..。..。.。...。..。...。.5第4章軟件系統(tǒng)設(shè)計..。。.。.。.。..。。.。。。...。..。..。.。.........。.。.....。.。。。.。。.。.。..。。..。。。.......。。...。。。...。.。。....。。.54.1系統(tǒng)分析。.。。。。........。..。............。..。。。..。....。.。。。。..。.。.。。。。.。.....。。.......。.。.。..。.....。.。。...。。。....。.。.。.。..。..。。.。54.2參數(shù)計算...。...。.。..。..。。。.。。.。....。....。.。.。..。。。..。.........。。。。。。.。。..。..。..。。...。.。.。.。.。。...。.....。。。..。.......。..。.....。。。.74。3程序設(shè)計..。。。.。.。。...。。....。..。。...。....。..。。。...。...。。....。..。..。..。...。.。.。。.....。....。。....。。.....。.。。.。..。.。.。。..。。。。。。....。。。8第5章實驗結(jié)果..。.。...。。...。。.。..。....。....。。。.....。.。。...。....。。。.。。。。.。。.....。.。。。...。。。。...。..。.。..。.。。..。.。.。.。....。105。1硬件調(diào)試..。。。。.。.。。.....。.。...。。..。.。..。..。......。。.。..。。。......。。..。...。..。。。。.。..。..。.。..。.。。。..。。.。。.。..。....。.。.。.。105。2軟件調(diào)試...。。。。........。....。.。。.。。.。...。。.。。.。。.。.。.。.。。..。。。.....。.。.。.....。.。。....。。....。..。。.。....。。.。...。..。.。。。.。105。3仿真結(jié)果...。....。.。.。。。.。.。。.。..。。....。...。...。。.。...。。...。。.。..。.。。...。。.。..。.。.。.........。...。.。.。。。.。。....。...。.。。。。.105.4結(jié)果分析。..。.........。.。。。。..。.。.。...。....。。.。。.。。。...。.....。。..。。..。。。。。...。。.。。....。。.....。。。..。..。..。.。.。。。.。.....。....。。。。11第6章總結(jié)...。...。。。....。....。。。。..。.。....。。...。.。.....。。。..。。。....。。.。。。。..。.。.。....。.。...。.。...。.。......。。..。。...。.....。.11附錄一:系統(tǒng)整體電路圖.。。.。....。....。.....。.....。...。.。。。。。。.....。..。。。。.。...。...。。.。。.....。。。......。....。....。。.。。。.。.12附錄二:元器件清單。.。。。。.。..。..。..。.。.。.。。.。。....。..。.。...。。。。。。。.。..。。。..。。....。.。....。..。...。..。。。..。.。。..。。.。。..。....。。.。。.12附錄三:源程序代碼..。.。....。.。。..。.。..。..。..。。...。。.。..。..。。.。.。.。.。.。....。。。。.。.。..。.。。.。。.。.。。。。。.。。...。。..。。。.......13參考文獻。.。.。..。。.。。..。.。...。........。.。...。。......。.。..。。。.....。。。..。。。。...。.。.。...。..。.。....。.。。。..。。..。.。。。....。。.。..。。。....19第一章引言1。1設(shè)計背景隨著電子科學(xué)技術(shù)的飛速發(fā)展,電子技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工作,因此開發(fā)本系統(tǒng)希望能夠給人們帶來更多的生活樂趣。基于當前市場上的玩具需求量增大,其中電子琴就是一個很好的應(yīng)用方面。單片機技術(shù)使我們可以利用軟硬件來實現(xiàn)電子琴的功能,從而可以實現(xiàn)電子琴的微型化,可以用作玩具琴、音樂轉(zhuǎn)盤以及音樂童車等等。并且可以進行一定的功能擴展。鑒于傳統(tǒng)電子琴可以用鍵盤上的“1”到“A”鍵演奏從低So到高DO等11個音,從而也可以通過單片機實現(xiàn)對十個按鍵的擴展,實現(xiàn)七個音符鍵的高、中、低21個音調(diào)的顯示播放和任意音樂的自動播放。本次設(shè)計將十個音鍵制作成獨立鍵盤,其中七個為音符鍵,三個為控制鍵,并用數(shù)碼管進行顯示,使電子琴的功能更加完美.不但可以實現(xiàn)對按鍵的顯示,而且可以實現(xiàn)對音樂的自動存儲和播放,使該設(shè)計功能更加完善。1.2設(shè)計任務(wù)1、根據(jù)要求,設(shè)計以單片機為核心的多音階電子琴系統(tǒng),可隨意彈奏想要表達的音樂;2、針對要求控制的對象完成程序的編制;3、硬件軟件聯(lián)調(diào),完成題目所要求的功能;4、有高中低三個音階,并有顯示電路。1.3設(shè)計目的1、通過課程設(shè)計,使我們能夠深入理解單片機系統(tǒng)的工作原理,接口電路的設(shè)計及調(diào)試方法,培養(yǎng)綜合運用所學(xué)理論知識分析和解決實際問題的能力;2、使用AT89C51芯片的串口功能,利用獨立式鍵盤和AT89C51單片機以及揚聲器實現(xiàn)樂曲的演奏;3、用keil軟件進行編程與調(diào)試,利用Proteus7Professional軟件進行繪制硬件電路圖且進行仿真.1.4設(shè)計思路用獨立式鍵盤的7個按鍵分別對應(yīng)相應(yīng)的音符,當按下某一個按鍵時,產(chǎn)生一個相應(yīng)音符,操作者按一定的節(jié)奏、規(guī)律進行輸入時,信號經(jīng)過單片機處理,然后經(jīng)音頻放大后經(jīng)揚聲器輸出音頻信號,產(chǎn)生樂曲。本次設(shè)計有一個創(chuàng)新,就是預(yù)先存放一段音樂程序在芯片內(nèi),整個設(shè)計既可以作電子琴用又可以作音樂盒用,且?guī)э@示功能。第二章方案論證2.1方案論證2。1。1總體設(shè)計采用AT89S52單片機作為主控芯片,設(shè)置鍵盤、蜂鳴器等外圍器件,另外還用到一些簡單器件如:四位數(shù)碼管,和NPN型三極管及電阻等。利用按鍵實現(xiàn)音符和音調(diào)的輸入;兩位的數(shù)碼管進行被操作的按鍵顯示;用NPN型三極管8550實現(xiàn)低音頻功率放大;最后用蜂鳴器發(fā)音。主控芯片采用AT89S52單片機,它是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點。避免了由于元器件種類、個數(shù)繁多,而過于復(fù)雜的硬件電路也容易引起系統(tǒng)的精度不高、體積過大等不利因素.同時具有強大的控制功能和靈活的編程實現(xiàn)特性,由于本設(shè)計主要用于人們娛樂方面,因此在設(shè)計上盡量使其安全以及簡單易操作。具有經(jīng)濟可行性、技術(shù)可行性、實物應(yīng)用性.2.1.2單片機選型硬件電路要以單片機作為主控芯片,實現(xiàn)按鍵輸入音符和音調(diào),四位數(shù)碼管的顯示以及低音頻功率放大和蜂鳴器發(fā)音。針對本設(shè)計的功能和用途,采用AT89C51單片機更好,實現(xiàn)功能完全,性價比較高,更適合本設(shè)計。第三章硬件系統(tǒng)設(shè)計3.1時鐘電路單片機內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器.通常在引腳XTALl和XTAL2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,結(jié)構(gòu)圖2中X1、C1、C2。可以根據(jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選擇30pF左右的瓷片電容。圖3-1、時鐘電路3.2復(fù)位電路單片機小系統(tǒng)常采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件下,在單片機運行期間,用按鈕開關(guān)操作使單片機復(fù)位。其結(jié)構(gòu)如下圖。上電自動復(fù)位通過電容C3充電來實現(xiàn)。手動按鍵復(fù)位是通過按鍵將電阻R1與VCC接通來實現(xiàn).圖3-2、復(fù)位電路3。3原理框圖本系統(tǒng)有主控芯片89S52、發(fā)音單元、顯示模塊、按鍵模塊組成.圖3-3、原理框圖3。4顯示部分設(shè)計3.4.1數(shù)碼顯示方式數(shù)碼顯示有靜態(tài)顯示方式與動態(tài)顯示方式兩種.工作在靜態(tài)顯示方式時,數(shù)碼管的位線與電源一直相連,數(shù)碼管中的二極管均處于通電狀態(tài),即在靜態(tài)工作方式下,顯示電路中數(shù)碼管的位選線是同時選通,而數(shù)碼管的段選線是獨立輸入。工作在動態(tài)顯示方式時,數(shù)碼管的位線在掃描控制電路的控制下按設(shè)定順序?qū)?即電路中的數(shù)碼管是逐個接通電源,數(shù)碼管的段選線以并聯(lián)方式與譯碼電路聯(lián)接,即在動態(tài)工作方式下,數(shù)碼管不是同時導(dǎo)通顯示而是按照設(shè)定順序分時導(dǎo)通顯示。3。4。2八位數(shù)碼管的結(jié)構(gòu)本次課程設(shè)計的顯示電路采用兩位數(shù)碼管進行顯示,由于此設(shè)計采用的是共陰極的,使用時不加限流電阻。為了顯示字符,要為LED顯示器段碼,除了組成8字形的字符的7段,另加上1個小數(shù)點位,共計8段,因此提供給LED顯示器的顯示段碼為1個字節(jié)。圖3-4、數(shù)碼管電路3.5按鍵部分設(shè)計3.5.1鍵盤設(shè)計鍵盤在單片機應(yīng)用系統(tǒng)中是一個關(guān)鍵的部件,它能

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論