微處理器與微控制器原理及應(yīng)用
題目:任務(wù)五 簡單門鈴設(shè)計
學(xué)院 :理學(xué)院
專業(yè):電信科
班級:電信科1502班
姓名 玉*
指導(dǎo)教師 范莉莉
目 錄 1 實驗要求 2 實現(xiàn)過程 2.1 程序的實現(xiàn) 2.2 硬件仿真圖的實現(xiàn) 3 問題與解決 4 小組成員分工及心得體會
武漢理工大學(xué)《微處理器與微控制器原理及應(yīng)用第四章任務(wù)五》說明書 任務(wù)五 簡單門鈴設(shè)計 1 實驗要求假設(shè)單片機(jī)晶振頻率為12MHz,設(shè)計1個簡單門鈴控制系統(tǒng)。要求按下按鍵K時,蜂鳴器發(fā)出“叮咚”的聲音。 2 實現(xiàn)過程2.1 程序的實現(xiàn)本次實驗通過討論最終采用了在主程序中進(jìn)行中斷等待,并通過按鍵使計數(shù)器溢出,產(chǎn)生中斷服務(wù)程序,在中斷程序中實現(xiàn)叮咚clock()函數(shù)的執(zhí)行、計數(shù)器的置初值初始化,然后再次回到主程序中,等待下一次的按鍵觸發(fā)中斷——觸發(fā)“叮咚”的門鈴聲。對于clock()叮咚函數(shù),本實驗采用的通過設(shè)置for循環(huán)次數(shù)的方式來控制聲音的持續(xù)時間和頻率高低。除此方法外還可以通過設(shè)置一個一定頻率的定時器,也可使clock()實現(xiàn)叮咚功能,此時在計數(shù)器中斷函數(shù)中只需打開定時器(對定時器初始化)。相比之下,利用for循環(huán)控制“叮咚”門鈴的方案更為簡便。程序代碼如下: #include<reg52.h> #define uint unsigned int uint i,j; sbit clock=P2^0; void init() //初始化子函數(shù) { EA=1; //打開總中斷 TMOD=0x05;//設(shè)置計數(shù)器0 工作方式1 ET0=1; //打開計數(shù)器0中斷 TR0=1;//啟動定時器0 TH0=0xff; TL0=0xff;//計數(shù)器賦初值 } void Clock() //"叮咚"函數(shù) { for(i=200;i;i--)//持續(xù)時間 { clock=~clock; for(j=200;j;j--);//叮的頻率 } for(i=200;i;i--)//持續(xù)時間 { clock=~clock; for(j=250;j;j--);//咚的頻率 } } void int1() interrupt 1 //計數(shù)器0中斷 { Clock();//調(diào)用"叮咚"函數(shù) TH0=0xff; TL0=0xff;//置初值 } void main() { init();//初始化 while(1);//等待按鍵按下 }
2.2 硬件仿真圖的實現(xiàn)原理仿真電路圖中選用的器件有80C51,一個蜂鳴器和一個button按鍵。電路如下圖所示。我們蜂鳴器選用了無源的sounder,只需提供符合一定要求的方波或正弦波即可使之發(fā)出聲音。80C51是此電路圖中的核心,通過。P2口作為clock()輸出一定頻率方波的輸出口。并通過P3.4口連接按鍵以觸發(fā)計數(shù)器T0的中斷服務(wù)程序。按下按鍵可聽到電腦音箱發(fā)出來類似“叮咚”的聲音。仿真電路圖如下。 3 問題與解決
- 在第一次調(diào)試運行時,仿真中按下按鍵,蜂鳴器未發(fā)出聲音。通過查閱資料得知,這是由于,使用了protues仿真元件庫里的speaker,和其參數(shù)設(shè)置有關(guān),默認(rèn)的控制電壓過大,使輸出的方波信號電壓無法正常驅(qū)動蜂鳴器,于是改變參數(shù)或換用sounder即可解決。
- 修改好protues仿真電路后,按下按鍵,蜂鳴器依舊沒反映,仔細(xì)觀察發(fā)現(xiàn),方便輸出端的P2^0的電平一直未變,檢查軟件代碼發(fā)現(xiàn),計數(shù)器的初始化里計數(shù)器中斷允許位未打開致使無法進(jìn)入計數(shù)器中斷里面執(zhí)行clock()叮咚函數(shù),修改代碼后,點擊重新生成.hex文件,用protues仿真便正常運行了,蜂鳴器發(fā)出了聲音。
(3)未成功使蜂鳴器發(fā)出“叮咚”。由于軟件中設(shè)置的發(fā)音頻率即方波頻率不合適,通過不斷調(diào)整控制頻率的for循環(huán)的循環(huán)次數(shù),并通過protues仿真測試蜂鳴器,最后找到了合適的參數(shù)使之發(fā)出了叮咚聲。 4 小組成員分工及心得體會小組每個人都獨立完成了程序的編寫、仿真、和調(diào)試程序,并一起討論最優(yōu)化方案。我們在遇到問題時一起討論解決,最后成功在仿真軟件中實現(xiàn)叮咚門鈴控制功能。在調(diào)試過程中也意識到了調(diào)試先軟件后硬件的重要性。 我們的論文是通過小組分工協(xié)作的形式合作完成的, 我們最后選擇了盧笛同學(xué)的運行程序和仿真圖。在編寫論文的過程中,具體的分工情況如下:盧笛同學(xué)負(fù)責(zé)描述論文實現(xiàn)過程和結(jié)果的程序?qū)崿F(xiàn)模塊;李敏竹負(fù)責(zé)描述論文中的仿真圖的仿真過程和仿真結(jié)果模塊;玉敏同學(xué)編寫論文的具體分工部分和心得體會部分,及論文的整體匯總與整理;許小青同學(xué)則協(xié)助修改程序和仿真圖,并負(fù)責(zé)整理并編寫論文中的實驗中遇到的問題模塊。在合作過程中,每個成員都對出現(xiàn)的問題發(fā)表了不同的見解,互相開闊了思維,打開了分析問題更全面的思路并在查閱資料過程中對自己的知識和想法進(jìn)行了檢驗和驗證,收獲了更多的知識。
0.png (53.54 KB, 下載次數(shù): 103)
下載附件
2018-4-16 03:29 上傳
全部資料51hei下載地址:
單片機(jī)的簡單門鈴設(shè)計.zip
(174.24 KB, 下載次數(shù): 84)
2018-4-16 03:29 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|