欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

單片機課程設計 設計并實現(xiàn)可編倒計時裝置

上傳人:仙*** 文檔編號:27866675 上傳時間:2021-08-21 格式:DOC 頁數(shù):17 大小:1.09MB
收藏 版權(quán)申訴 舉報 下載
單片機課程設計 設計并實現(xiàn)可編倒計時裝置_第1頁
第1頁 / 共17頁
單片機課程設計 設計并實現(xiàn)可編倒計時裝置_第2頁
第2頁 / 共17頁
單片機課程設計 設計并實現(xiàn)可編倒計時裝置_第3頁
第3頁 / 共17頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機課程設計 設計并實現(xiàn)可編倒計時裝置》由會員分享,可在線閱讀,更多相關(guān)《單片機課程設計 設計并實現(xiàn)可編倒計時裝置(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 課程設計任務書 題 目: 設計并實現(xiàn)可編倒計時裝置 初始條件: 1. Protues軟件或Xl1000實驗箱; 2. 課程設計輔導資料:“Xl1000說明書以及實驗指導”“、單片微型計算機”等; 3. 先修課程:模擬電子技術(shù)、數(shù)字電子技術(shù)、Protues電路設計教程及單片機原理及應用等課程 要求完成的主要任務:(包括課程設計工作量及其技術(shù)要求,以及說明書撰寫等具體要求) 1. 課程設計時間:1周; 2. 課程設計內(nèi)容:設計并實現(xiàn)可編倒計時裝置; 要求:按秒倒計時,鍵盤預置分、秒各兩位數(shù),鍵控啟動計時,數(shù)碼管顯示倒計時。計時器歸零時輸出一音頻信號。 3. 本課程設

2、計統(tǒng)一技術(shù)要求:研讀輔導資料對應章節(jié),對選定的設計題目進行理論分析,針對具體設計部分的原理分析、建模、必要的推導和可行性分析,畫出程序設計框圖,編寫程序代碼(含注釋),上機調(diào)試運行程序,記錄實驗結(jié)果(含計算結(jié)果和圖表),并對實驗結(jié)果進行分析和總結(jié); 4. 課程設計說明書按學校“課程設計工作規(guī)范”中的“統(tǒng)一書寫格式”撰寫,具體包括: ① 目錄; ② 設計原理; ③ 系統(tǒng)硬件線路設計圖; ④ 程序框圖; ⑤ 資源分配表; ⑥ 源程序 ⑦ 性能分析 ⑧ 課程設計的心得體會(至少500字); 時間安排: 指導教師簽名: 年 月

3、 日 系主任(或責任教師)簽名: 年 月 日 目錄 1.設計原理…………………………………………………………..2 1.1倒計時原理…………………………………………………2 1.2數(shù)碼管顯示原理…………………………………………..2 1.3矩陣鍵盤工作原理………………………………………..2 1.4小喇叭工作原理……………………………………………3 1.5led燈顯示原理……………………………………………..3 2.系統(tǒng)硬件線路設計圖……………………………………………4 2.1單片機部分………………………………………………..4 2.2數(shù)碼管

4、部分……………………………………………….4 2.3矩陣鍵盤部分……………………………………………5 2.4小喇叭及LED部分…………………………………….5 2.5X1000實驗箱連線………………………………………6 3.程序框圖………………………………………………………7 4.資源分配表……………………………………………………9 5.源程序………………………………………………………….9 6.性能分析……………………………………………………….14 7.總結(jié)與心得……………………………………………………15 8.本科生課程設計成績評定表………………………………….16

5、 1.設計原理 1.1倒計時原理 利用定時器T0工作于方式1下,為16位定時計數(shù)方式,由TH提供高8位,TL提供低8位的計數(shù)初值,最大計數(shù)為65536個脈沖,當時,工作于定時方式,以振蕩源的12分頻信號作為計數(shù)脈沖;當時,工作于計數(shù)方式,對外部脈沖輸入端輸入的脈沖計數(shù)。計數(shù)脈沖能否加到計數(shù)器上,受啟動信號的控制,當GATE=0時只要TR=1則定時/計數(shù)器啟動工作。當GATE=1時,TR=1和同時滿足才能啟動,此時啟動受到雙重控制。每啟動定時、計數(shù)前,需預置計數(shù)初值。啟動后計數(shù)器立即加1計數(shù),TL低8位的計數(shù)滿回零后向TH進位,當16位計數(shù)滿回零后,中斷溢出標志TF置1,產(chǎn)生中斷請

6、求,表示定時時間到或計數(shù)次數(shù)到。若允許中斷ET=1且CPU開中斷(EA=1),則CPU響應中斷,轉(zhuǎn)向中斷服務程序,同時TF自動清零。TMOD=0x01設置定時器T0工作與方式1且為定時方式,由于每個計數(shù)脈沖的周期為1us,故若將定時器設置為10ms需接受10000次脈沖,所以要從初值55536處開始計數(shù),為定時器賦初值為TH=0xd8,TL=0xf0。在此基礎上以count--作為倒計時程序,設置count從100開始減1即可實現(xiàn)時間間隔為1s的倒計時。 1.2數(shù)碼管顯示原理 數(shù)碼管實際上是由7個發(fā)光二極管組成8字形構(gòu)成的,加上小數(shù)點就是8個,我們分別把他命名為A,B,C,D,E,F,

7、G,H。在Xl1000實驗箱接法為共陽極接法,我們獲得0123456789字符所對應的HEX代碼即為0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60 。由于所有數(shù)碼管顯示端和控制端都接在一起,為了顯示出時鐘倒計時的效果,我們需要采用動態(tài)掃描以實現(xiàn)靜態(tài)顯示。在單片機里,首先顯示一個數(shù),然后關(guān)掉,顯示第二數(shù)數(shù),再關(guān)掉,那么將看到連續(xù)的數(shù)字顯示,輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的(約1ms),由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝作用,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。

8、 1.3矩陣鍵盤工作原理 矩陣按鍵部分由16個輕觸按鍵按照4x4的方式排列將行線所接的單片機I/O口作為輸出端,將列線所接的I/O口作為輸入。這樣,當按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出的是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣通過讀入輸入線的狀態(tài)就可得知是否有按鍵按下了。確定矩陣式鍵盤上何鍵被按下有許多方法,在此次設計中采用了一種行列反轉(zhuǎn)掃描法。相較于行掃描法跟為簡單。利用行列的變化,確定出其交點出的按鍵的按下與否。 1.4小喇叭工作原理 聲音是由震動所產(chǎn)生的,一定頻率的震動就產(chǎn)生了一定頻率的聲音。在倒計時結(jié)束時,根據(jù)計時結(jié)束后每一位都是0,啟動設

9、置好的一定頻率的脈沖,將脈沖傳送到實驗箱上的小喇叭,即可實現(xiàn)小喇叭的報警。 1.5led燈顯示原理 在實驗要求的基礎之上引入了幾個led燈作為現(xiàn)象燈,對應于倒計時秒高位為5,4,3,2,時依次點亮,且有一個燈在計時結(jié)束后伴隨著小喇叭報警聲不停閃爍。顯示原理,即是在相應的時間點給led低電平可實現(xiàn)點亮,給予方波脈沖實現(xiàn)閃爍。 2.系統(tǒng)硬件線路設計圖 2.1單片機部分 2.2數(shù)碼管部分 2.3矩陣鍵盤部分 2.4小喇叭及LED部分 2.5X1000實驗箱連線 3.程序框圖 分高位顯

10、示 開始 鍵盤掃描 flag1=1 鍵盤掃描 flag2=1 分低位顯示 鍵盤掃描 flag3=1 秒高位顯示 鍵盤掃描 flag4=1 秒低位顯示 鍵盤掃描 flag5=1 Y N N N N Y Y N N N N N Y Y 啟動倒計時 分秒公式計算 單片機賦初值 動態(tài)掃描實現(xiàn)靜態(tài)顯示 單片機重新賦初值 秒信號進行減計數(shù) 檢測 minute==0&&second==0 分秒顯示值處理 檢測 Second==0 flag6=1 second=60 minute-- 關(guān)閉數(shù)碼管 音頻輸出 檢測秒高位

11、為5,4,3,2,1 對應led=0 對應led=1 結(jié)束 Y N Y N N Y 4.資源分配表 單片機P0口:連接8段數(shù)碼管的顯示端,即JP51連接JP5,P0.0連接B,P0.1連接F,P0.2連接A,P0.3連接G,P0.4連接D,P0.5連接H,P0.6連接E,P0.7連接C。 單片機的P2口:連接8段數(shù)碼管的控制端,即JP52連接JP8,P2.0到P2.7依次連接控制端的0到7。 單片機的P1口:連接矩陣鍵盤,即JP44連接JP50。 單片機的P3口:P3.2連接小喇叭,P3.2連接JP16。P3.3到P3.7連接8路指示燈中的任意5路。 5.

12、源程序 #include //包含頭文件 #define uchar unsigned char #define uint unsigned int //定義speaker端口 sbit speaker=P3^2; //依次定義閃爍燈端口 sbit led1=P3^3; sbit led2=P3^4; sbit led3=P3^5; sbit led4=P3^6; sbit led5=P3^7; //共陽數(shù)碼管 0-9編碼表 code unsigned char tab[]={0x28,0x7e,0xa2,0x62,0x74,0x61,0

13、x21,0x7a,0x20,0x60}; //定義秒和分顯示的高低位 uchar Show_MH,Show_ML,Show_SH,Show_SL; //定義相關(guān)變量 uchar minute,second,key1,key2,key3,key4,key5,MH,ML,SH,SL; //設置標志位 uchar flag1=1,flag2=1,flag3=1,flag4=1,flag5=1,flag6=0; //鍵盤掃描程序(行列翻轉(zhuǎn)法) uchar keyscan(void); //比較簡單的自減延時函數(shù) void delay(uint cnt) {while(--cnt

14、);} //********************************主函數(shù)*********************************// main() { //**********************輸入分的高位**********************************// while(flag1) { key1=keyscan();//調(diào)用鍵盤掃描, P2=0xfe;//第1個數(shù)碼管顯示 switch(key1)//按下相應的鍵顯示相對應的碼值 { case 0x7e:{P0=tab[0];MH=

15、0;flag1=0;};break;//0 case 0x7d:{P0=tab[1];MH=1;flag1=0;};break;//1 case 0x7b:{P0=tab[2];MH=2;flag1=0;};break;//2 case 0x77:{P0=tab[3];MH=3;flag1=0;};break;//3 case 0xbe:{P0=tab[4];MH=4;flag1=0;};break;//4 case 0xbd:{P0=tab[5];MH=5;flag1=0;};break;//5 } delay(30000

16、); } //******************************輸入分的低位****************************// while(flag2) { key2=keyscan();//調(diào)用鍵盤掃描, P2=0xfd;//第2個數(shù)碼管顯示 switch(key2)//按下相應的鍵顯示相對應的碼值 { case 0x7e:{P0=tab[0];ML=0;flag2=0;};break;//0 case 0x7d:{P0=tab[1];ML=1;flag2=0;};break;//1

17、 case 0x7b:{P0=tab[2];ML=2;flag2=0;};break;//2 case 0x77:{P0=tab[3];ML=3;flag2=0;};break;//3 case 0xbe:{P0=tab[4];ML=4;flag2=0;};break;//4 case 0xbd:{P0=tab[5];ML=5;flag2=0;};break;//5 case 0xbb:{P0=tab[6];ML=6;flag2=0;};break;//6 case 0xb7:{P0=tab[7];ML=7;flag2=0;};

18、break;//7 case 0xde:{P0=tab[8];ML=8;flag2=0;};break;//8 case 0xdd:{P0=tab[9];ML=9;flag2=0;};break;//9 } delay(30000); } //******************************輸入秒的高位*****************************// while(flag3) { key3=keyscan();//調(diào)用鍵盤掃描, P2=0xf7;//第3個數(shù)碼管顯示 switch(

19、key3)//按下相應的鍵顯示相對應的碼值 { case 0x7e:{P0=tab[0];SH=0;flag3=0;};break;//0 case 0x7d:{P0=tab[1];SH=1;flag3=0;};break;//1 case 0x7b:{P0=tab[2];SH=2;flag3=0;};break;//2 case 0x77:{P0=tab[3];SH=3;flag3=0;};break;//3 case 0xbe:{P0=tab[4];SH=4;flag3=0;};break;//4 case 0xbd:{P0=tab

20、[5];SH=5;flag3=0;};break;//5 } delay(30000); } //********************************輸入秒的低位******************************// while(flag4) { key4=keyscan();//調(diào)用鍵盤掃描, P2=0xef;//第4個數(shù)碼管顯示 switch(key4)//按下相應的鍵顯示相對應的碼值 { case 0x7e:{P0=tab[0];SL=0;flag4=0;};break;//0

21、 case 0x7d:{P0=tab[1];SL=1;flag4=0;};break;//1 case 0x7b:{P0=tab[2];SL=2;flag4=0;};break;//2 case 0x77:{P0=tab[3];SL=3;flag4=0;};break;//3 case 0xbe:{P0=tab[4];SL=4;flag4=0;};break;//4 case 0xbd:{P0=tab[5];SL=5;flag4=0;};break;//5 case 0xbb:{P0=tab[6];SL=6;flag4=0;};break;//

22、6 case 0xb7:{P0=tab[7];SL=7;flag4=0;};break;//7 case 0xde:{P0=tab[8];SL=8;flag4=0;};break;//8 case 0xdd:{P0=tab[9];SL=9;flag4=0;};break;//9 } delay(30000);//延時 } //*****************************按鍵啟動倒計時************************8***// while(flag5) { key5=keyscan();

23、//調(diào)用鍵盤掃描 switch(key5)//檢測鍵控信號 case 0xe7:flag5=0; delay(30000); } //******************************分秒計算式*********************************// minute=MH*10+ML; second=SH*10+SL; //*****************************單片機賦初值****************************// TMOD=0x01;//定時器0設置 10ms

24、in 12M crystal TH0=0xd8; TL0=0xf0; IE= 0x82;//打開中斷T0 TR0=1; //***************************數(shù)碼管動態(tài)掃描實現(xiàn)靜態(tài)顯示********************// while(1)// { P0=Show_MH;//顯示分十位 P2=0xfe; delay(300); P0=Show_ML; //顯示分個位 P2=0xfd; delay(300); P0=0xf7; //顯示分隔符 P

25、2=0xfb; delay(300); P0=Show_SH;//顯示秒十位 P2=0xf7; delay(300); P0=Show_SL; //顯示秒個位 P2=0xef; delay(300); } } //**************************************************************************// void tim(void) interrupt 1 using 1//定時器T0中斷服務程序 {static uchar coun

26、t; uchar g,control2,control3,control4,control5; //**********************************單片機賦初值************************// TH0=0xd8;//賦初值55536 TL0=0xf0; count++; //*************************100x10ms=1s,實現(xiàn)秒信號減計數(shù)****************// if (count==100) { count=0; second--;//秒減1 //*****檢測是否計時結(jié)束并對顯示值處理

27、*********// if(minute==0 && second==0) { Show_MH=tab[minute/10];//十位顯示值處理 Show_ML=tab[minute%10]; //個位顯示處理 Show_SH=tab[second/10];//十位顯示值處理 Show_SL=tab[second%10]; //個位顯示處理 delay(30000); flag6=1;//轉(zhuǎn)向音頻輸出 } //***********檢測秒位是否計時結(jié)束并對顯示值處理*************

28、// else if(second==0 ) { Show_MH=tab[minute/10];//十位顯示值處理 Show_ML=tab[minute%10]; //個位顯示處理 Show_SH=tab[second/10];//十位顯示值處理 Show_SL=tab[second%10]; //個位顯示處理 second=60; minute--; } //***************顯示值處理****************// else { Show_MH=ta

29、b[minute/10];//十位顯示值處理 Show_ML=tab[minute%10]; //個位顯示處理 Show_SH=tab[second/10];//十位顯示值處理 Show_SL=tab[second%10]; //個位顯示處理 } //*****************計時結(jié)束數(shù)碼管關(guān)閉,喇叭響起,指示燈閃爍************// while(flag6) { flag6=1; P0=0;//關(guān)閉數(shù)碼管 for(g=0;g<200;g++)//音頻輸出

30、 { delay(80); speaker=!speaker; led1=!led1; } speaker=1; led1=1; delay(20000); } //當秒高位變化時5個LED輪流閃爍 control2=second/10; control3=second/10; control4=second/10; control5=second/10; if (control2==2) led2=0; else led2=1; if (

31、control3==3) led3=0; else led3=1; if (control4==4) led4=0; else led4=1; if (control5==5) led5=0; else led5=1; } } //鍵盤掃描函數(shù),使用行列反轉(zhuǎn)掃描法 uchar keyscan(void) { uchar cord_h,cord_l;//行列值 P1=0x0f; //行線輸出全為0 cord_h=P1&0x0f; //讀入列線值 if(cord_h!=0x0f) //先

32、檢測有無按鍵按下 { delay(100); //去抖 if(cord_h!=0x0f) { cord_h=P1&0x0f; //讀入列線值 P1=cord_h|0xf0; //輸出當前列線值 cord_l=P1&0xf0; //讀入行線值 return(cord_h+cord_l);//鍵盤最后組合碼值 } } return(0xff); //返回該值 } 6

33、.性能分析 實現(xiàn)了可編倒計時裝置,能夠按秒倒計時,鍵盤預置分、秒各兩位數(shù),鍵控啟動計時,數(shù)碼管顯示倒計時。計時器歸零時輸出一音頻信號并有指示燈閃爍提示計時完畢。并在秒高位為5,4,3,2時分別有不同的指示燈點亮。 7.總結(jié)與心得 本科生課程設計成績評定表 姓 名 孫連城 性 別 男 專業(yè)、班級 電信0804 課程設計題目:設計并實現(xiàn)可編倒計時裝置 課程設計答辯或質(zhì)疑記錄: 成績評定依據(jù): 最終評定成績(以優(yōu)、良、中、及格、不及格評定) 指導教師簽字: 年 月 日 16

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!