版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、方式0應(yīng)用通過設(shè)置TMOD寄存器中的M1M0位00選擇定時(shí)器方式0,方式0的計(jì)數(shù)位數(shù)是13位,對(duì)T0來說,TL0寄存器的低5位(高3位未用)和TH0寄存器的8位組成。TL0的低5位溢出時(shí)向TH0進(jìn)位,TH0溢出時(shí),置位TCON中的TF0標(biāo)志,向cpu發(fā)出中斷請(qǐng)求。其邏輯圖如下定時(shí)器方式0位13位計(jì)數(shù)器,最多能裝載的個(gè)數(shù) 2的13次方=8192個(gè),當(dāng)TL0和TH0的初始值為0時(shí),最多經(jīng)過8192個(gè)機(jī)器周期該計(jì)數(shù)器就會(huì)溢出一次,向cpu申請(qǐng)中斷。THX=(8192-N)/32 TLX=(8192-N)%32。機(jī)器周期=12 X (1/時(shí)鐘頻率)單片機(jī)定時(shí)器程序的步驟: 對(duì)TMOD賦值、計(jì)算初值、中
2、斷方式,對(duì)IE賦值,開放中斷、使TR0或TR1置位,啟動(dòng)定時(shí)器讓發(fā)光二極管以1s亮滅閃爍 代碼:#include#define uchar unsigned char#define uint unsigned intsbit led1=P10;/ 假定發(fā)光二極管接P10口uchar num;void main()TMOD=0x00;/設(shè)置定時(shí)器0的工作方式為0TH0=(8192-4607)/32;/裝初值TL0=(8192-4607)%32;EA=1;/開總中斷ET0=1;/開定時(shí)器0中斷TR0=1;/啟動(dòng)定時(shí)器0while(1)if( num=20 )num=0;led1=led1;void
3、 T0_time() interrupt 1TH0=( 8192-4607 )/32;TL0=( 8192-4607 )%32;num ;方式1應(yīng)用定時(shí)器方式1 位16位計(jì)數(shù)器,最多能裝載的個(gè)數(shù) 2的16次方=65536個(gè),當(dāng)TL0和TH0的初始值為0時(shí),最多經(jīng)過65536個(gè)機(jī)器周期該計(jì)數(shù)器就會(huì)溢出一次,向cpu申請(qǐng)中斷。TH0=(65536-N)/256;TL0=(65536-N)/256;。機(jī)器周期=12 X (1/時(shí)鐘頻率)#include #define uchar unsigned char#define uint unsigned int sbit led1=P00;uchar t
4、;void main()TMOD=0x01; TH0=(65536-50000)/256;TL0=(65536-50000)/256;EA=1; ET0=1; TR0=1; while(1) if(t=20)t=0;led1=led1;void T0_time() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)/256; t+;方式2應(yīng)用在定時(shí)器的方式0和1中,當(dāng)計(jì)數(shù)溢出后,計(jì)數(shù)器變?yōu)?,因此在循環(huán)定時(shí)過程中反復(fù)的裝初值必然會(huì)影響到定時(shí)的精度。方法2可解決裝初值的問題。通過設(shè)置TMOD寄存器中的M1M0位為10選擇定時(shí)器方式2,方式2被稱為
5、8位初值自動(dòng)重裝的8位定時(shí)器/計(jì)數(shù)器,THX被稱為常數(shù)緩沖器,當(dāng)TLX溢出時(shí),在TFX置1時(shí)的同時(shí),還自動(dòng)的將THX中的常數(shù)重新裝入TLX中,使TLX從初值開始重新計(jì)數(shù),這樣避免了人為軟件重裝初值所帶來的時(shí)間誤差,從而提高定時(shí)精度代碼,讓發(fā)光二極管以1s亮滅閃爍#include#define uint unsigned intsbit led1=P10;/二極管接P10口uint num;void main()TMOD=0x02;TH0=6;/ TH0、TL0取6和下面的num取3686是為了得到1s的時(shí)間。也可取其他的數(shù)字TL0=6;EA=1;ET0=1;TR0=1;while( 1 )if
6、( num=3686 )num=0;led1=led1;void T0_time() interrupt 1num ;方式3應(yīng)用方式3只適用于定時(shí)器/計(jì)數(shù)器 T0,當(dāng)設(shè)定定時(shí)器T0處于方式3時(shí),定時(shí)器T1不計(jì)數(shù)。方式3將T0分成2個(gè)獨(dú)立的8位計(jì)數(shù)器TL0和TH0,定時(shí)器3的邏輯結(jié)構(gòu)圖分析上圖可知,定時(shí)器被分成2個(gè)獨(dú)立的計(jì)數(shù)器。其中TL0為正常的8位計(jì)數(shù)器,計(jì)數(shù)溢出后置位TF0,向cpu發(fā)出中斷申請(qǐng),之后再重裝初值。TH0也被固定為一個(gè)8位計(jì)數(shù)器,它占用定時(shí)器T1的中斷請(qǐng)求標(biāo)志TF1和定時(shí)器啟動(dòng)控制位TR1。代碼 讓第一個(gè)二極管1s閃爍、第二個(gè)二極管0.5s閃爍#include#define u
7、char unsigned char#define uint unsigned intsbit led1=P10;/二極管接一個(gè)P10口另一個(gè)接P12口sbit led2=P11;uint num_1,num_2;void main()TMOD=0x03;TH0=6;/ TH0、TL0取6和下面的num取3686是為了得到1s的時(shí)間。也可取其他的數(shù)字TL0=6;EA=1;ET0=1;ET1=1;TR1=1;TR0=1;while( 1 )if( num=3686 )num_1=0;led1=led1;if( num_2=1843 )num_2=0;led2=led2;void TL0_time
8、() interrupt 1TL0=6;num_1 ;void TH0_time() interrupt 3TH0=6;num_2 ;256的意思:定時(shí)器0設(shè)置于模式1時(shí),計(jì)數(shù)寄存器為16位模式,由高8位TH0和低8位TL0兩個(gè)8位寄存器組成,當(dāng)設(shè)定計(jì)算值為65536-50000=15536(D)時(shí),轉(zhuǎn)換為十六進(jìn)制就是3CB0(H),此時(shí),TH0=3C,TL0=B0分別裝入即可,為了免除這些計(jì)算步驟,很多編程者采用“TH0=(65536-50000)/256;TL0=(65536-50000)%256“的編程方式,去讓單片機(jī)自己去計(jì)算結(jié)果,那么為什么要介入256呢?其實(shí)并不難理解,做一下101
9、6進(jìn)制的換算就知道了,256(D)=0100(H),這里01就是高8位的數(shù)據(jù),00就是低8位的數(shù)據(jù),通俗點(diǎn)說,15536(D)里有多少個(gè)256,就相當(dāng)于高8位有多少數(shù)值,就是除的關(guān)系了,商存入高8位寄存器后余下的數(shù)存入低8位即可,取商計(jì)算就是TH0=(65536-50000)/256;而取余計(jì)算就是TL0=(65536-50000)%256 。TMOD |= 0x01;請(qǐng)問中間“ |=”是什么意思?P3 &= 0x7f意思為 P3=P3&0x7f 表示P3的最高位(P3.7)清0,不影響P3其他位 P3 |= 0x80意思是 P3=P3|Ox80 表示P3的最高位(P3.7)為1,不影響P3其
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)產(chǎn)品冷鏈運(yùn)輸協(xié)議樣本
- 2025年新能源車銷售服務(wù)合同范本2篇
- 2025年新能源發(fā)電項(xiàng)目設(shè)備采購與服務(wù)合同3篇
- 湛江2025年廣東湛江市坡頭區(qū)社會(huì)保險(xiǎn)基金管理局招聘編外工作人員筆試歷年參考題庫附帶答案詳解
- 深圳廣東深圳市光明區(qū)區(qū)屬公辦幼兒園招聘園長副園長財(cái)務(wù)人員筆試歷年參考題庫附帶答案詳解
- 2025年房屋買賣貸款服務(wù)合同3篇
- 延安2025年陜西延安市教育類事業(yè)單位校園招聘141人筆試歷年參考題庫附帶答案詳解
- 個(gè)體服裝店2024年度承包經(jīng)營合同版
- 2025年度雞肉制品安全生產(chǎn)與監(jiān)管合同3篇
- 廣東廣東海洋大學(xué)后勤保障部招聘非編制水電維修工筆試歷年參考題庫附帶答案詳解
- 網(wǎng)絡(luò)與信息安全管理責(zé)任制度
- 2024-2025學(xué)年五年級(jí)科學(xué)上冊(cè)第二單元《地球表面的變化》測(cè)試卷(教科版)
- 小區(qū)物業(yè)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 2025屆高考數(shù)學(xué)一輪復(fù)習(xí)建議-函數(shù)與導(dǎo)數(shù)專題講座課件
- 心電圖基本知識(shí)
- 中煤電力有限公司招聘筆試題庫2024
- 消防接警員應(yīng)知應(yīng)會(huì)考試題庫大全-上(單選、多選題)
- 2024風(fēng)電場(chǎng)在役葉片維修全過程質(zhì)量控制技術(shù)要求
- 湖南省岳陽市岳陽樓區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題(解析版)
- 自適應(yīng)噪聲抵消技術(shù)的研究
- 山東省臨沂市羅莊區(qū)2024屆中考聯(lián)考化學(xué)試題含解析
評(píng)論
0/150
提交評(píng)論