單片機(jī)實(shí)驗(yàn)3 中斷、定時(shí)器計(jì)數(shù)器實(shí)驗(yàn)_第1頁
單片機(jī)實(shí)驗(yàn)3 中斷、定時(shí)器計(jì)數(shù)器實(shí)驗(yàn)_第2頁
單片機(jī)實(shí)驗(yàn)3 中斷、定時(shí)器計(jì)數(shù)器實(shí)驗(yàn)_第3頁
單片機(jī)實(shí)驗(yàn)3 中斷、定時(shí)器計(jì)數(shù)器實(shí)驗(yàn)_第4頁
單片機(jī)實(shí)驗(yàn)3 中斷、定時(shí)器計(jì)數(shù)器實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、西南科技大學(xué)實(shí)驗(yàn)報(bào)告課程名稱: 單片機(jī)原理及應(yīng)用A 實(shí)驗(yàn)名稱: 中斷、定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn) 姓 名: 學(xué) 號(hào): 班 級(jí): 生醫(yī)1401 指導(dǎo)教師: 雷華軍 西南科技大學(xué)信息工程學(xué)院制2實(shí)驗(yàn)題目數(shù)碼管動(dòng)態(tài)掃描顯示驅(qū)動(dòng)、鍵盤動(dòng)態(tài)掃描驅(qū)動(dòng)一、 實(shí)驗(yàn)?zāi)康?、 熟練鞏固單片機(jī)開發(fā)環(huán)境KEIL界面的相關(guān)操作和PROTUES仿真軟件的操 作,會(huì)使用HEX文件進(jìn)行單片機(jī)的仿真。2、 了解定時(shí)器的原理和四種工作方式的使用方法,學(xué)習(xí)定時(shí)器的相關(guān)應(yīng)用,包括產(chǎn)生信號(hào)和計(jì)數(shù),利用定時(shí)器進(jìn)行延時(shí)等。3、 進(jìn)一步掌握熟練單個(gè)數(shù)碼管以及多位數(shù)碼管的顯示原理,學(xué)會(huì)將01000的數(shù)字進(jìn)行顯示。4、 掌握利用單片機(jī)產(chǎn)生矩形方脈沖的相

2、關(guān)原理。二、 實(shí)驗(yàn)原理1、 定時(shí)器結(jié)構(gòu)和原理 圖 上圖 為定時(shí)器T0、T1的結(jié)構(gòu),其中振蕩器經(jīng)12分頻后作為定時(shí)器的時(shí)鐘脈沖,T為外部計(jì)數(shù)脈沖輸入端,通過開關(guān)K1選擇。反相器,或門,與門共同構(gòu)成啟/??刂菩盘?hào)。TH和TL為加1計(jì)數(shù)器,TF為中斷標(biāo)志。每接收到一個(gè)脈沖,加1計(jì)數(shù)器自動(dòng)加1,當(dāng)計(jì)數(shù)器中的數(shù)被加為0時(shí)產(chǎn)生溢出標(biāo)志,TF將被置1。計(jì)數(shù)器工作方式的選擇和功能的實(shí)現(xiàn)需要配置相應(yīng)的寄存器TMOD和TCON。2、定時(shí)器工作方式定時(shí)器共有四種工作方式分別為方式0方式3。方式0:13位計(jì)數(shù)器,最大計(jì)數(shù)值為213個(gè)脈沖。方式1:16位計(jì)數(shù)器,最大計(jì)數(shù)值為216個(gè)脈沖。方式2:8位自動(dòng)重裝計(jì)數(shù)器。該方

3、式下,TL進(jìn)行計(jì)數(shù)工作,TH用于存放計(jì)數(shù)初值,當(dāng)產(chǎn)生溢出中斷請(qǐng)求時(shí)會(huì)自動(dòng)將TH中的初值重新裝入TL,以使計(jì)數(shù)器繼續(xù)工作。方式3:僅限于T0計(jì)數(shù)器,在方式3下,T0計(jì)數(shù)器被分成兩個(gè)獨(dú)立的8為計(jì)數(shù)器TL0和TH0。3、 定時(shí)器間隔1ms產(chǎn)生一個(gè)脈沖利用單片機(jī)1 P3.0口進(jìn)行脈沖的輸出,通過定時(shí)器進(jìn)行端口定時(shí)控制,實(shí)現(xiàn)每1ms高低電平變換。就可以實(shí)現(xiàn)一個(gè)占空比為50%的矩形脈沖輸出。對(duì)于定時(shí)器的定時(shí)功能實(shí)現(xiàn),需要進(jìn)行定時(shí)器模式選擇,定時(shí)器初值設(shè)定。4、 利用中斷進(jìn)行脈沖的計(jì)數(shù)將單片機(jī)1 P3.0口輸出的脈沖連接到單片機(jī)2的中斷INT0口P3.2,通過脈沖的高低電平變換觸發(fā)中斷0,進(jìn)行脈沖個(gè)數(shù)的計(jì)數(shù)

4、。 三、 實(shí)驗(yàn)步驟(一)實(shí)驗(yàn)詳細(xì)步驟1、啟動(dòng)KEIL建立一個(gè)空白工程,然后命名文件。2、新建源程序文件,輸入程序代碼并保存,然后進(jìn)行綜合編譯。若在編譯過程中發(fā)現(xiàn)錯(cuò)誤,則找出并更正錯(cuò)誤,直至編譯成功為止。3、通過設(shè)置生成HEX文件,保存。4、啟動(dòng)Protues建立一個(gè)空白工程,然后命名文件5、進(jìn)行電路的原理圖連接并輸入HEX文件進(jìn)行仿真。(二)實(shí)驗(yàn)仿真原理圖 圖 圖如圖 為單片機(jī)1的脈沖產(chǎn)生系統(tǒng),通過定時(shí)的定時(shí)控制,讓P3.0口輸出脈寬為1ms的方脈沖,對(duì)于定時(shí)器程序的初始化。TMOD = (TMOD&0XF0)|0X00; / 定時(shí)器模式0的選擇s = 8192-11059.2/12;TH0

5、= s/32;TL0 = s%32; / 定時(shí)器的初值的設(shè)定如圖 為單片機(jī)2的電路連接原理,單片機(jī)通過接受單片機(jī)1的方脈沖信號(hào)觸發(fā)中斷進(jìn)行計(jì)數(shù),沒來一個(gè)脈沖記一次數(shù),再通過數(shù)碼管顯示出來。四、 實(shí)驗(yàn)結(jié)果及分析圖通過按下按鍵開始進(jìn)行脈沖的產(chǎn)生和計(jì)數(shù),如圖左邊為單片機(jī)1產(chǎn)生脈沖并通過數(shù)碼管顯示脈沖產(chǎn)生數(shù),右邊為單片機(jī)2接受脈沖同時(shí)也通過數(shù)碼管顯示脈沖接受數(shù)字。當(dāng)按下按鍵時(shí)開始產(chǎn)生并傳送脈沖,通過一個(gè)VSM counter timer進(jìn)行計(jì)數(shù)驗(yàn)證的準(zhǔn)確與否。按下按鍵后發(fā)現(xiàn)兩個(gè)多位數(shù)碼管同時(shí)顯示并跳轉(zhuǎn)同樣的數(shù)字,并且計(jì)數(shù)器也顯示同樣的數(shù)字。如圖所示。 圖最后通過示波器驗(yàn)證觀察所產(chǎn)生的脈沖是否正確,通過

6、調(diào)節(jié)示波器上的時(shí)間和幅度旋鈕可以觀察到矩形方波的產(chǎn)生。如圖所示圖問題一:運(yùn)行電路時(shí),數(shù)碼管亂碼解決的方法:檢查電路,發(fā)現(xiàn)程序中掃描信號(hào)端口錯(cuò)誤,將掃描信號(hào)的端口順序調(diào)換,重新運(yùn)行。問題二:定時(shí)器的時(shí)間設(shè)置問題解決的方法:檢查程序,發(fā)現(xiàn)是是定時(shí)器的初始化設(shè)置問題,在改動(dòng)后,重新編譯后在次運(yùn)行電路,電路正常顯示,符合要求。通過本次實(shí)驗(yàn),通過實(shí)驗(yàn)我切身實(shí)際的進(jìn)行代碼的編寫以及電路的仿真連接從中發(fā)現(xiàn)問題,解決問題,再而收獲知識(shí),獲取經(jīng)驗(yàn)。五、 體會(huì)通過本次的實(shí)驗(yàn),在前三個(gè)實(shí)驗(yàn)的基礎(chǔ)上讓我復(fù)習(xí)了知識(shí)點(diǎn),也讓我在次掌握了新的知識(shí)。在完成這次實(shí)驗(yàn)后,讓我更加熟悉數(shù)碼管的顯示功能代碼的實(shí)現(xiàn)。并且還學(xué)會(huì)了定時(shí)器

7、中斷的運(yùn)用,學(xué)會(huì)了用更加精確的方式去進(jìn)行定時(shí)延時(shí)操作。我覺得這次的課程實(shí)驗(yàn)讓我知道,一次次的失敗,并不會(huì)讓我放棄去追求,相反它會(huì)引領(lǐng)著我去發(fā)現(xiàn)問題,從而解決問題,完成更深入的探索。也讓我明白理論知識(shí)的重要性,并且與實(shí)際相結(jié)合,多動(dòng)手,在實(shí)踐中成長。所以我會(huì)很重視每一次的實(shí)驗(yàn)。我堅(jiān)信:每次實(shí)驗(yàn)都會(huì)給我自身很大幫助。慢慢的積累點(diǎn)滴的知識(shí),到最后就會(huì)多的。六、 附錄1、 單片機(jī)1脈沖產(chǎn)生代碼#includeunsigned char code ET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned int AT,s;unsign

8、ed int a,b,c,d;void delay(int counter)int i,j;for(i = 0;i 10;i+)for(j =0;j 10)count = 0;P30=P30;/高低電平取反if(P30 = 0)AT+;if(AT 9999)AT = 0; void main ()TMOD = (TMOD&0XF0)|0X00;/模式0選擇s = 8192-11059.2/12;TH0 = s/32;TL0 = s%32; /初值設(shè)定TR0 = 0;ET0 = 1;IT0 = 1;EX0 = 1;EA = 1;/定時(shí)器的初始化while (1)if(AT10) a=AT;P2

9、= 0xff; /消除鬼影P1 = 0xf7;P2 = ETa; else if(AT100)a=AT%10;P2 = 0xff; /消除鬼影P1 = 0xf7;P2 = ETa;delay(2);b=AT/10;P2 = 0xff; /消除鬼影P1 = 0xfb;P2 = ETb;delay(2); else if(AT1000)a=AT%100%10; P2 = 0xff; /消除鬼影P1 = 0xf7;P2 = ETa;delay(2);b=AT%100/10;P2 = 0xff;/消除鬼影P1 = 0xfb;P2 = ETb;delay(2);c=AT/100; P2 = 0xff;

10、/消除鬼影P1 = 0xfd;P2 = ETc;delay(2);else if(AT10000)a=AT%1000%100%10; P2 = 0xff;/消除鬼影P1 = 0xf7;P2 = ETa;delay(2);b=AT%1000%100/10;P2 = 0xff; /消除鬼影P1 = 0xfb;P2 = ETb;delay(2);c=AT%1000/100;P2 = 0xff;/消除鬼影P1 = 0xfd;P2 = ETc;delay(2);d=AT/1000;P2 = 0xff; /消除鬼影P1 = 0xfe;P2 = ETd;delay(2); / 數(shù)碼管進(jìn)行數(shù)字顯示部分 2、

11、單片機(jī)2接受脈沖代碼#includeunsigned char code ET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned int AT;unsigned int a,b,c,d;void delay(int counter)int i,j;for(i = 0;i 10;i+)for(j =0;j counter;j+);void anjian(void) interrupt 0/中斷函數(shù),觸發(fā)一次計(jì)數(shù)一次AT+;void main ()IT0 = 1;EX0 = 1;EA = 1; /中斷0初始化while (1)

12、if(AT10) a=AT;P2 = 0xff; /消除鬼影P1 = 0xf7;P2 = ETa; else if(AT100)a=AT%10;P2 = 0xff; /消除鬼影P1 = 0xf7;P2 = ETa;delay(2);b=AT/10;P2 = 0xff; /消除鬼影P1 = 0xfb;P2 = ETb;delay(2); else if(AT1000)a=AT%100%10; P2 = 0xff; /消除鬼影P1 = 0xf7;P2 = ETa;delay(2);b=AT%100/10;P2 = 0xff;/消除鬼影P1 = 0xfb;P2 = ETb;delay(2);c=AT/100; P2 = 0xff; /消除鬼影P1 = 0xfd;P2 = ETc;delay(2);else if(AT10000)a=AT%1000%100%10; P2 = 0xff;/消除鬼影P1 = 0xf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論