單片機(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頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.西南科技大學(xué)實(shí)驗(yàn)報(bào)告課程名稱 :單片機(jī)原理及應(yīng)用A實(shí)驗(yàn)名稱 :中斷、定時(shí)器 / 計(jì)數(shù)器實(shí)驗(yàn)姓名:.專業(yè) .專注.學(xué)號:班級:生醫(yī) 1401指導(dǎo)教師 :雷華軍西南科技大學(xué)信息工程學(xué)院制.專業(yè) .專注.實(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)生信號和計(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)成啟 / 停控制信號 。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è) .專注.配置相應(yīng)的寄存器TMOD 和 TCON。2、定時(shí)器工作方式定時(shí)器共有四種工作方式分別為方式0 方式 3。方式 0:13 位計(jì)數(shù)器 ,最大計(jì)數(shù)值為

3、213 個(gè)脈沖 。方式 1:16 位計(jì)數(shù)器 ,最大計(jì)數(shù)值為 216 個(gè)脈沖 。方式 2:8 位自動(dòng)重裝計(jì)數(shù)器 。該方式下 , TL 進(jìn)行計(jì)數(shù)工作 ,TH 用于存放計(jì)數(shù)初值 ,當(dāng)產(chǎn)生溢出中斷請求時(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%的矩形脈沖輸出 。 對于定時(shí)器的定時(shí)功能實(shí)現(xiàn),需要進(jìn)行定時(shí)器模式選擇

4、 ,定時(shí)器初值設(shè)定 。4、利用中斷進(jìn)行脈沖的計(jì)數(shù)將單片機(jī) 1 P3.0 口輸出的脈沖連接到單片機(jī)2 的中斷 INT0 口 P3.2,通過脈沖的高低電平變換觸發(fā)中斷0,進(jìn)行脈沖個(gè)數(shù)的計(jì)數(shù) 。三、實(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è)空白工程 ,然后命名文件.專業(yè) .專注.5、進(jìn)行電路的原理圖連接并輸入HEX 文件進(jìn)行仿真 。(二)實(shí)驗(yàn)仿真原理圖圖圖如圖 為單

5、片機(jī)1 的脈沖產(chǎn)生系統(tǒng),通過定時(shí)的定時(shí)控制,讓 P3.0 口輸出脈寬為1ms 的方脈沖 ,對于定時(shí)器程序的初始化。 TMOD = (TMOD&0XF0)|0X00;/定時(shí)器模式0 的選擇s = 8192-11059.2/12;TH0 = s/32;TL0 = s%32;/定時(shí)器的初值的設(shè)定如圖 為單片機(jī) 2 的電路連接原理,單片機(jī) 通過接受單片機(jī)1 的方脈沖信號觸發(fā)中斷進(jìn)行計(jì)數(shù),沒來一個(gè)脈沖記一次數(shù),再通過數(shù)碼管顯示出來。四、實(shí)驗(yàn)結(jié)果及分析.專業(yè) .專注.圖 通過按下按鍵開始進(jìn)行脈沖的產(chǎn)生和計(jì)數(shù),如圖 左邊為單片機(jī)1 產(chǎn)生脈沖并通過數(shù)碼管顯示脈沖產(chǎn)生數(shù) ,右邊為單片機(jī)2 接受脈沖同時(shí)也

6、通過數(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è) .專注.圖最后通過示波器驗(yàn)證觀察所產(chǎn)生的脈沖是否正確,通過調(diào)節(jié)示波器上的時(shí)間和幅度旋鈕可以觀察到矩形方波的產(chǎn)生。如圖 所示圖問題一:運(yùn)行電路時(shí) ,數(shù)碼管亂碼解決的方法 :檢查電路 ,發(fā)現(xiàn)程序中掃描信號端口錯(cuò)誤,將掃描信號的端口順序調(diào)換,重新運(yùn)行 。問題二:定時(shí)器的時(shí)間設(shè)置問題解決的方法 :檢查程序 ,發(fā)現(xiàn)是是定時(shí)器的初始化設(shè)置問題,在改動(dòng)后 ,重新編譯后在次運(yùn)行電路

7、 ,電路正常顯示 ,符合要求 。通過本次實(shí)驗(yàn) ,通過實(shí)驗(yàn)我切身實(shí)際的進(jìn)行代碼的編寫以及電路的仿真連接從中發(fā)現(xiàn)問題,解決問題 ,再而收獲知識 ,獲取經(jīng)驗(yàn) 。.專業(yè) .專注.五、體會(huì)通過本次的實(shí)驗(yàn) ,在前三個(gè)實(shí)驗(yàn)的基礎(chǔ)上讓我復(fù)習(xí)了知識點(diǎn),也讓我在次掌握了新的知識。在完成這次實(shí)驗(yàn)后 ,讓我更加熟悉數(shù)碼管的顯示功能代碼的實(shí)現(xiàn)。并且還學(xué)會(huì)了定時(shí)器中斷的運(yùn)用 ,學(xué)會(huì)了用更加精確的方式去進(jìn)行定時(shí)延時(shí)操作。我覺得這次的課程實(shí)驗(yàn)讓我知道,一次次的失敗 ,并不會(huì)讓我放棄去追求,相反它會(huì)引領(lǐng)著我去發(fā)現(xiàn)問題,從而解決問題,完成更深入的探索 。 也讓我明白理論知識的重要性,并且與實(shí)際相結(jié)合 ,多動(dòng)手 ,在實(shí)踐中成長 。

8、 所以我會(huì)很重視每一次的實(shí)驗(yàn)。我堅(jiān)信 :每次實(shí)驗(yàn)都會(huì)給我自身很大幫助。慢慢的積累點(diǎn)滴的知識 ,到最后就會(huì)多的 。六、附錄1、單片機(jī) 1 脈沖產(chǎn)生代碼#include<STC12C5A60S2.h>unsigned char code ET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned int AT,s;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+);

9、void anjian(void) interrupt 0/ 按鍵進(jìn)行控制開始產(chǎn)生脈沖P30=1;.專業(yè) .專注.TR0 =TR0;void Timer(void) interrupt 1/ 中斷函數(shù)unsigned int count;s = 8192-11059.2/12;TH0 = s/32;TL0 = s%32;if(+count >10)count = 0;P30=P30;/ 高低電平取反if(P30 = 0)AT+;if(AT > 9999)AT=0;void main ().專業(yè) .專注.TMOD = (TMOD&0XF0)|0X00;/ 模式 0 選擇s =

10、 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(AT<10)a=AT;P2 = 0xff;/ 消除鬼影P1 = 0xf7;P2 = ETa;else if(AT<100)a=AT%10;P2 = 0xff;/ 消除鬼影.專業(yè) .專注.P1 = 0xf7;P2 = ETa;delay(2);b=AT/10;P2= 0xff;/ 消除鬼影P1= 0xfb;P2= ETb;delay(2);else if(AT<1000)

11、a=AT%100%10;P2= 0xff;/ 消除鬼影P1= 0xf7;P2= ETa;delay(2);b=AT%100/10;P2= 0xff;/ 消除鬼影P1= 0xfb;P2= ETb;.專業(yè) .專注.delay(2);c=AT/100;P2= 0xff; / 消除鬼影P1= 0xfd;P2= ETc;delay(2);else if(AT<10000)a=AT%1000%100%10;P2 = 0xff;/ 消除鬼影P1 = 0xf7;P2 = ETa;delay(2);b=AT%1000%100/10;P2 = 0xff;/ 消除鬼影P1 = 0xfb;P2 = ETb;de

12、lay(2);c=AT%1000/100;P2 = 0xff;/ 消除鬼影.專業(yè) .專注.P1 = 0xfd;P2 = ETc;delay(2);d=AT/1000;P2= 0xff;/ 消除鬼影P1= 0xfe;P2= ETd;delay(2);/數(shù)碼管進(jìn)行數(shù)字顯示部分2、單片機(jī) 2 接受脈沖代碼#include<STC12C5A60S2.h>unsigned char code ET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned int AT;unsigned int a,b,c,d;void dela

13、y(int counter)int i,j;for(i = 0;i < 10;i+)for( j =0;j < counter;j+);.專業(yè) .專注.void anjian(void) interrupt 0/ 中斷函數(shù) ,觸發(fā)一次計(jì)數(shù)一次AT+;void main ()IT0 = 1;EX0 = 1;EA=1;/中斷 0初始化while (1)if(AT<10)a=AT;P2 = 0xff;/ 消除鬼影P1 = 0xf7;P2 = ETa;else if(AT<100)a=AT%10;.專業(yè) .專注. . .P2= 0xff;/ 消除鬼影P1= 0xf7;P2= ETa;delay(2);b=AT/10;P2= 0xff;/ 消除鬼影P1= 0xfb;P2= ETb;delay(2);else if(AT<1000)a=AT%100%10;P2= 0xff;/ 消除鬼影P1= 0xf7;P2= ETa;delay(2);b=AT%100/10;P2= 0xff;/ 消除鬼影P1= 0xfb;.專業(yè) .專注.P2 = ETb;delay(2);c=AT/100;P2= 0xff; / 消除鬼影P1= 0xfd;P2= ETc;delay(2);else if(AT<10000)a=AT%1000%100%10;P2 = 0xff;/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論