




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精心整理/實例42:用定時器 T0查詢方式P2 口 8位控制LED閃爍#include/void main(void) / EA=1;/ET0=1;TMOD=0x01;TH0=(65536-46083)/256;TL0=(65536-46083)%256; TR0=1; TF0=0;包含51單片機寄存器定義的頭文件開總中斷/定時器T0中斷允許/使用定時器T0的模式1/定時器T0的高8位賦初值/定時器T0的高8位賦初值/啟動定時器T0P2=0xff;while(1)/無限循環(huán)等待查詢 while(TF0=0);TF0=0;P2=P2;TH0=(65536-46083)/256;/定時器T0的高8
2、位賦初值TL0=(65536-46083)%256;/定時器 T0的高8位賦初值/實例43:用定時器T1查詢方式控制單片機發(fā)出1KHz音頻#include/ 包含51單片機寄存器定義的頭文件sbit sound=P3A7;/將 sound 位定義為 P3.7 引腳void main(void)/ EA=1;/開總中斷/ET0=1;TMOD=0x10;TH1=(65536-921)/256;TL1=(65536-921)%256;/定時器T0中斷允許/使用定時器T1的模式1/定時器T1的高8位賦初值/定時器T1的高8位賦初值TR1=1;/啟動定時器 T1- -*ITF1=0;while(1)/無
3、限循環(huán)等待查詢while(TF1=0);TF1=0;sound=sound; /將P3.7引腳輸出電平取反TH1=(65536-921)/256;/定時器T0的高8位賦初值TL1=(65536-921)%256;/定時器T0的高8位賦初值 /實例44:將計數(shù)器 T0計數(shù)的結(jié)果送 P1 口 8位LED顯示#include/ 包含51單片機寄存器定義的頭文件sbit S=P3A4;將S位定義為 P3.4弓|腳 void main(void)精心整理/ EA=1;開總中斷/ET0=1;/定時器T0中斷允許TMOD=0x02;/使用定時器 T0的模式2TH0=256-156;/定時器T0的高8位賦初值
4、TL0=256-156;/定時器T0的高8位賦初值TR0=1;/啟動定時器T0while(1)/無限循環(huán)等待查詢 while(TF0=0)/如果未計滿就等待 if(S=0)按鍵S按下接地,電平為 0P1=TL0;/計數(shù)器TL0加1后送P1 口顯示 TF0=0;/計數(shù)器溢出后,將 TF0清0/實例45:用定時器 T0的中斷控制1位LED閃爍 #include / 包含51單片機寄存器定義的頭文件 sbit D1=P2A0;將D1位定義為 P2.0引腳void main(void) EA=1;開總中斷ET0=1;/定時器T0中斷允許TMOD=0x01;/使用定時器T0的模式2TH0=(65536-
5、46083)/256; /定時器 T0的高8位賦初值TL0=(65536-46083)%256; /定時器 T0的高8位賦初值TR0=1;/啟動定時器T0while(1); 函數(shù)功能:定時器 T0的中斷服務程序 */- . L -void TimeO(void) interrupt 1 using 0 寄存器 D1=D1;/按位取反操作,將P2.0引腳輸出電平取反TH0=(65536-46083)/256; /定時器T0的高8位重新賦初值TL0=(65536-46083)%256; /定時器 T0的高8位重新賦初值 /實例46:用定時器 T0的中斷實現(xiàn)長時間定時#include / 包含51單
6、片機寄存器定義的頭文件 sbit D1=P2A0; 將D1位定義為 P2.0引腳unsigned char Countor;/設(shè)置全局變量,儲存定時器T0中斷次數(shù)void main(void) EA=1;開總中斷ET0=1;/定時器T0中斷允許TMOD=0x01;/使用定時器T0的模式2TH0=(65536-46083)/256; /定時器 T0的高8位賦初值TL0=(65536-46083)%256; /定時器 T0的高8位賦初值TR0=1;/啟動定時器T0Countor=0;從0開始累計中斷次數(shù)while(1);/*函數(shù)功能:定時器 T0的中斷服務程序*/void Time0(void)
7、interrupt 1 using 0Countor+; 中斷次數(shù)自力口 1if(Countor=20)D1=D1;Countor=0;/若累at滿20次,即計時滿is/按位取反操作,將 P2.0引腳輸出電平取反/將Countor清0,重新從0開始計數(shù)TH0=(65536-46083)/256; /定時器T0的高8位重新賦初值TL0=(65536-46083)%256; /定時器T0的高8位重新賦初值/實例47:用定時器T1中斷控制兩個LED以不同周期閃爍#include / 包含51單片機寄存器定義的頭文件sbit D1=P2A0; 將D1位定義為 P2.0引腳sbit D2=P2A1;將D
8、2位定義為 P2.1弓|腳unsigned char Countor1; /設(shè)置全局變量,儲存定時器 unsigned char Countor2; /設(shè)置全局變量,儲存定時器T1中斷次數(shù)T1中斷次數(shù)void main(void) EA=1;ET1=1;TMOD=0x10;開總中斷/定時器T1中斷允許/使用定時器T1的模式1TH1=(65536-46083)/256;/定時器T1的高8位賦初值TL1=(65536-46083)%256;/定時器 T1的高8位賦初值TR1=i;Countori=0;Countor2=0; while; /啟動定時器T1 L.產(chǎn)從0開始累計中斷次數(shù)從0開始累計中斷
9、次數(shù)void Timel(void) interrupt 3 using 0Countor1+; /Countori 自力口 1Countor2+; /Countor2 自力口 1if(Countor1=2)/若累計滿 2次,即計時滿 100msD1=D1;按位取反操作,將P2.0引腳輸出電平取反Countor1=0;/將Countor1清0,重新從 0開始計數(shù) if(Countor2=8)D2=D2;/若累11滿8次,即at時滿400msCountor2=0;按位取反操作,將P2.1引腳輸出電平取反將Countori清0,重新從0開始計數(shù)THi=(65536-46083)/256;/定時器T
10、1的高8位重新賦初值精心整理TL1=(65536-46083)%256;/定時器T1的高8位重新賦初值 /實例50-1 :輸出50個矩形脈沖#include/包含51單片機寄存器定義的頭文件sbit u=P1A4;將 u 位定義為 P1.4/*函數(shù)功能:延時約 30ms (3*100*100=30 000 心 s =30m */ void delay30ms(void) unsigned char m,n;for(m=0;m100;m+)for(n=0;n100;n+); void main(void)unsigned char i;u=1;/初始化輸出高電平for(i=0;i50;i+)/輸
11、出50個矩形脈沖 u=1;delay30ms();u=0;delay30ms();while(1) :/實例50-2 :計數(shù)器T0統(tǒng)計外部脈沖數(shù)#include/包含51單片機寄存器定義的頭文件void main(void)TMOD=0x06;EA=1;ET0=0;TR0=1;TH0=0;TL0=0;whileP1=TL0;/ TMOD=0000 0110B,使用計數(shù)器 T0的模式2開總中斷 1- Ir-/不使用定時器T0的中斷/啟動T0/計數(shù)器T0高8位賦初值/計數(shù)器T0低8位賦初值/無限循環(huán),不停地將TL0計數(shù)結(jié)果送 P1 口void main(void)TMOD=0x0a;EA=1;/實
12、例51-2:定時器T0的模式2測量正脈沖寬度#include/包含51單片機寄存器定義的頭文件sbit ui=P3A2; 將ui位定義為 P3.0 (INT0 )弓|腳,表示輸入電壓/ TMOD=0000 1010B,使用定時器 T0的模式2, GATE置1開總中斷ET0=0;/不使用定時器 T0的中斷TR0=1;/啟動T0TH0=0;/計數(shù)器T0高8位賦初值TL0=0;/計數(shù)器T0低8位賦初值while(1) /無限循環(huán),不停地將 TL0計數(shù)結(jié)果送P1 口while(ui=0) : /INTO 為低電平,T0不能啟動TL0=0;/INTO為高電平,啟動 T0計時,所以將 TL0清0while
13、(ui=1):/在INTO高電平期間,等待,計時P1=TLO;/將計時結(jié)果送 P1 口顯示 /實例53:用外中斷0的中斷方式進行數(shù)據(jù)采集#include/包含51單片機寄存器定義的頭文件sbit S=P3A2; 將 S 位定義為 P3.2, void main(void)EA=1;/開放總中斷EX0=1;允許使用外中斷IT0=1;/選擇負跳變來觸發(fā)外中斷P1=Oxff;while;void intO(void) interrupt 0 using 0 / 外中斷 0 的中斷編號為 0P1=P1;每產(chǎn)生一次中斷請求,P1取反一次。/實例54-1 :輸出負脈寬為 200微秒的方波#include/
14、包含51單片機寄存器定義的頭文件sbit u=P1A4;將 u 位定義為 P1.4void main(void)TMOD=0x02;/TMOD=0000 0010B ,使用定時器 T0 的模式 2EA=1;開總中斷ET0=1;/定時器T0中斷允許TH0=256-200;/定時器T0的高8位賦初值TL0=256-200;/定時器T0的高8位賦初值TR0=1;/啟動定時器T0while(1) :/無限循環(huán),等待中斷void Time0(void) interrupt 1 using 0 /interrupt聲明函數(shù)為中斷服務函數(shù)u=u; 將P1.4引腳輸出電平取反,產(chǎn)生方波 /實例54-2:測量負
15、脈沖寬度#include/包含51單片機寄存器定義的頭文件sbit u=P3A2;將 u 位定義為 P3.2void main(void)TMOD=0x02; /TMOD=0000 0010B,使用定時器 T0 的模式 2EA=1;/開放總中斷EX0=1;允許使用外中斷IT0=1;/選擇負跳變來觸發(fā)外中斷ET0=1;/允許定時器 T0中斷TH0=0;/定時器T0賦初值0TL0=0;/定時器T0賦初值0TR0=0;/先關(guān)閉 T0while(1) ;/無限循環(huán),不停檢測輸入負脈沖寬度 void int0(void) interrupt 0 using 0 / 外中斷 0 的中斷編號為 0TR0=1
16、;外中斷一到來,即啟動 T0計時精心整理TL0=0; 從0開始計時while(u=0) 低電平時,等待 T0計時JP1=TL0;/將結(jié)果送 P1 口顯示TR0=0;/關(guān)閉 T0/實例55:方式0控制流水燈循環(huán)點亮#include/包含51單片機寄存器定義的頭文件#include /包含函數(shù)_nop_ ()定義的頭文件unsigned char code Tab尸0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F;/流水燈控制碼,該數(shù)組被定義為全局變量sbit P17=P1A7;/*函數(shù)功能:延時約 150ms*/*void delay(void)unsigned char m,n;for(m=0;m200;m+) for(n=0;n250;n+);/*函數(shù)功能:發(fā)送一個字節(jié)的數(shù)據(jù)*/ void Send(unsigned char dat)P17=0;/P1.7引腳輸出清 0信號,對 74LS164清0_nop_();/延時一個機器周期_nop_(
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機二級MySQL互聯(lián)網(wǎng)應用試題及答案
- 2025經(jīng)濟法知識體系完善試題及答案
- 財務成本管理考試常見問題及答案
- C++標準庫考題及答案總結(jié)
- C++編程中斷與異??刂圃囶}及答案
- 計算機二級MySQL應用實例試題及答案
- 邏輯考試復習指導試題及答案
- 軟件測試用例編寫技巧試題及答案
- Delphi數(shù)據(jù)類型的試題及答案
- 2025年計算機二級MySQL全面解析法試題及答案
- 施工組織課程設(shè)計完整
- GB/T 5271.1-2000信息技術(shù)詞匯第1部分:基本術(shù)語
- GB/T 23703.3-2010知識管理第3部分:組織文化
- BD每月績效考核表
- GB/T 16535-1996工程陶瓷線熱膨脹系數(shù)試驗方法
- 野生動物馴養(yǎng)繁殖項目可行性研究報告
- GB 14934-2016食品安全國家標準消毒餐(飲)具
- 《新聞學概論》第一章
- CA6140車床撥叉加工工藝及工裝設(shè)計
- 《血透的抗凝方案》課件
- 企業(yè)負責人經(jīng)營業(yè)績考核專項審計報告格式范本
評論
0/150
提交評論