單片機應(yīng)用技術(shù)教學(xué)設(shè)計 定時計數(shù)器的綜合應(yīng)用舉例與借用定時器溢出中斷擴展外部中斷源17_第1頁
單片機應(yīng)用技術(shù)教學(xué)設(shè)計 定時計數(shù)器的綜合應(yīng)用舉例與借用定時器溢出中斷擴展外部中斷源17_第2頁
單片機應(yīng)用技術(shù)教學(xué)設(shè)計 定時計數(shù)器的綜合應(yīng)用舉例與借用定時器溢出中斷擴展外部中斷源17_第3頁
單片機應(yīng)用技術(shù)教學(xué)設(shè)計 定時計數(shù)器的綜合應(yīng)用舉例與借用定時器溢出中斷擴展外部中斷源17_第4頁
單片機應(yīng)用技術(shù)教學(xué)設(shè)計 定時計數(shù)器的綜合應(yīng)用舉例與借用定時器溢出中斷擴展外部中斷源17_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

定時/計數(shù)器的綜合應(yīng)用舉例與借用定時器溢出中斷擴展外部中斷源2源源例1利用T0測定引腳上出現(xiàn)的正脈沖的寬度,將檢測到的脈沖寬度復(fù)習(xí)上次理論課的內(nèi)容綜合應(yīng)用舉例講解35分鐘值(機器周期數(shù))存入30H,31H中。(設(shè)正脈沖寬度最大值小于65.536ms)解:設(shè)T0為定時方式1,初值取0,門控位GATE置1。當(dāng)引腳變?yōu)楦唠娖綍r,采用外觸發(fā)方式啟動T0定時;當(dāng)外部引腳變?yōu)榈碗娖綍r,停止T0定時,這時TH0和TL0中的數(shù)值就是引腳為高電平時的脈沖寬度值。程序清單如下:#include<reg51.h>unsignedchardataa_at_0x30;unsignedchardatab_at_0x31;sbitP32=P3^2;main(){while(1){TMOD=0x09;//T0為門控定時方式1TL0=0x00;//置定時初值TH0=0x00;while(1){if(P32==0){TR0=1;break;}//等待變低,并開啟計數(shù)輸入門elseTR0=0;}while(1){if(P32==1){TR0=1;break;}//等待升高觸發(fā)計數(shù)else;}while(1){if(P32==0){TR0=0;a=TL0;b=TH0;break;}//等待變低,并關(guān)閉計數(shù)器else;}}例2電路如圖1所示,設(shè)時鐘頻率為6.0MHz,要求編寫程序,模擬圖1一循環(huán)彩燈,彩燈變化模式為:①L1、L2、…L8依次點亮;②L1、L2、…L8依次熄滅;③L1、L2、…L8全亮、全滅。模式變化間隔為0.5秒。讓發(fā)光二極管按以上規(guī)律循環(huán)顯示下去。+5V解:(1)彩燈控制方案:①彩燈的各種顯示模式,可用8位顯示數(shù)據(jù)以表格的形式存放于ROM中。②在0.5秒內(nèi)讀取相同的數(shù)據(jù)并輸出,而每隔0.5秒移動一次讀取數(shù)據(jù)表格的位置。每0.1秒鐘T1溢出中斷一次,令R0=05H,CPU響應(yīng)中斷后將R0中計數(shù)值減1,即可實現(xiàn)0.5秒延時。(2)時間常數(shù)可按下述方法確定:機器周期Tcy=12/晶振頻率=12/(6×106)=2μs設(shè)計數(shù)初值為X,則(216-X)×2×10-6=0.1S所以:X=15536=3CB0H參考程序如下:#include<reg51.h>unsignedcharcodearray[18]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0x00,0xff};//顯示代碼unsignedinta=5;//計數(shù)值voidint1sever(void);main(){while(1){P1=0x00;//首顯示碼TMOD=0x10;//計數(shù)器置為方式1TL1=0xb0;//裝入時間常數(shù)TH1=0x3c;IE=0x88;//開放總中斷和T1中斷允許TR1=1;//啟動計數(shù)while(1){while(1){if(a==0)break;//0.5秒是否到了else;}a=5;P1=array[i];if(i<18)i++;//18個代碼是否讀完elsebreak;}}//中斷服務(wù)函數(shù),每0.1秒產(chǎn)生一次中斷,中斷5次就是0.5秒voidint1sever(void)interrupt3using1{TF1=0;TR1=0;//停止計數(shù)a--;//計數(shù)值減一TL1=0xb0;//重裝入時間常數(shù)TH1=0x3c;TR1=1;//開始計數(shù)}借用定時器溢出中斷擴展外部中斷源8051內(nèi)部定時器是16位的,定時器從全“1”變?yōu)槿?”時會向CPU發(fā)出溢出中斷請求。根據(jù)這一原理,我們可以把8051內(nèi)部不用的定時器借給外部中斷源使用,以達(dá)到擴展外部中斷源的目的。借用定時器溢出中斷作為外部中斷的方法如下:⑴使被借用定時器工作在方式2,即8位自動裝載方式。每當(dāng)?shù)?位計數(shù)器產(chǎn)生溢出中斷時高8位的計數(shù)初值自動裝入低8位,以便為下一次計數(shù)溢出中斷做好準(zhǔn)備。⑵借用定時器的高8位和低8位裝載初值均為0xff,以達(dá)到只要輸入一個脈沖就產(chǎn)生一次溢出中斷的目的。⑶把被借用定時器的計數(shù)輸入端T0(或T1)作為擴展

溫馨提示

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

評論

0/150

提交評論