版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)定時(shí)器中斷原理和單片機(jī)定時(shí)器中斷原理和C語言代碼詳解語言代碼詳解我之前都是用ARM7,單片機(jī)基本不會(huì)。但一個(gè)項(xiàng)目要用到51,所以克了一下51還是有點(diǎn)模糊,今天調(diào)了這個(gè)代碼之后,對51定時(shí)器中斷有些心得,拿來和大家共享。廢話不說了,上代碼。#define_1231_C_#include“reg51.h“#include“1231.h“sbitOE=P2^3unsignedintSystemTimevoidtimer0(void)in
2、terrupt1using3中斷部分代碼,見下文的釋疑TH0=0xdbTL0=0xffTF0=0SystemTimevoidmain()TMODTMOD|=0x01TMOD的值表示定時(shí)器工作方式選擇TH0=0xdb寫入初始值初始值可以決定定時(shí)多久TL0=0xff根據(jù)下文的木桶比喻的話,如果TH0=0x00TL0=0x00;則表示從桶底開始裝水。TH0=0xdbTL0=0xff可以這樣子理解相當(dāng)于木桶里已經(jīng)有部分液鉛在里面,TH0和TL0
3、這個(gè)兩個(gè)值表示木桶里液鉛的高度,即此時(shí)桶里只能從液鉛的高度以上開始裝4串行中斷實(shí)際上編譯的時(shí)候就是把你這個(gè)函數(shù)的入口地址方到這個(gè)對應(yīng)中斷的跳轉(zhuǎn)地址usingy這個(gè)y是說這個(gè)中斷函數(shù)使用的那個(gè)寄存器組,51里面一般有4組r0r7寄存器,一共有32個(gè),如果你的終端函數(shù)和別的程序用的不是同一個(gè)寄存器組則進(jìn)入中斷的時(shí)候就不會(huì)將寄存器組壓入堆棧返回時(shí)也不會(huì)談出來節(jié)省代碼和時(shí)間初始值算法:定時(shí)器是當(dāng)總數(shù)達(dá)到FFFFH后產(chǎn)生中斷吧!那你要讓它計(jì)數(shù)10
4、000,是不是用FFFF(16進(jìn)制)減去10000(十進(jìn)制)的數(shù)當(dāng)計(jì)數(shù)初值???TH0=(10000256)TL0=(10000%256)跟FFFF(16進(jìn)制)減去10000(十進(jìn)制)的數(shù)是一樣的。從TH0=(10000256)TL0=(10000%256)開始計(jì)數(shù),計(jì)數(shù)到10000剛好滿。跟用FFFF(16進(jìn)制)減去10000(十進(jìn)制)的數(shù)一樣?。?!寫起來更簡單,不用算?。?!看看原碼、補(bǔ)碼就知道。正數(shù)的補(bǔ)碼是對應(yīng)的二進(jìn)制數(shù),符號(hào)位為零,
5、負(fù)數(shù)的補(bǔ)碼是它的絕對值對應(yīng)的二進(jìn)制數(shù)按位取反再加一,符號(hào)位為一。無符號(hào)數(shù)不考慮符號(hào),那么這個(gè)結(jié)果就跟用FFFF減去它的絕對值一樣中斷的理解。這里將涉及到單片機(jī)中斷的應(yīng)用,在cpu的一步步按照指令運(yùn)行的過程中(主程序),可能會(huì)有其它的更緊急的需要做的事情(中斷服務(wù)程序),需要cpu暫時(shí)停止當(dāng)前的程序(主程序),做完了(中斷服務(wù)程序)之后,又可以繼續(xù)去運(yùn)行先前的程序(主程序)。就像你正在吃飯,一邊又在給水桶里放水,吃著吃著,水滿了,你就得趕
6、快去把水龍頭關(guān)掉或者換一個(gè)空的水桶,再回來吃飯。單片機(jī)的定時(shí)器就像是一個(gè)水桶,你讓它啟動(dòng)了,也就是水龍頭打開了;開始裝水了;定時(shí)在每個(gè)機(jī)器周期不斷自動(dòng)加1,最后溢出了;水桶的水不斷增加,最也就滿出來了;定時(shí)器溢出時(shí),你就要去做處理了;水桶的水滿了,你也應(yīng)該處理一下了;處理完后,單片機(jī)又可以回到剛剛開停止的地方繼續(xù)運(yùn)行;水桶處理了,先前你在做什么也可以繼續(xù)去做什么了。單片機(jī)的主程序是從0x0000開始運(yùn)行的,單片機(jī)服務(wù)程序從哪里開始運(yùn)行呢
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)定時(shí)器
- 定時(shí)器中斷原理
- 單片機(jī)原理及應(yīng)用c語言版6mcs-51單片機(jī)定時(shí)器計(jì)數(shù)器
- 課程設(shè)計(jì)---基于定時(shí)器的單片機(jī)仿真和c語言開發(fā)
- 十天學(xué)會(huì)單片機(jī)和c語言編程-數(shù)碼管靜態(tài)顯示及定時(shí)器和中斷應(yīng)用
- 單片機(jī)實(shí)驗(yàn)二 定時(shí)器
- 為什么不給我財(cái)富值 單片機(jī) 定時(shí)器中斷程序
- 單片機(jī)定時(shí)器的使用總結(jié)
- 定時(shí)器中斷
- 習(xí)題4答案單片機(jī)的中斷系統(tǒng)、定時(shí)器與串行通信
- 電子定時(shí)器-單片機(jī)原理及應(yīng)用課程設(shè)計(jì)
- 畢業(yè)論文 --單片機(jī)定時(shí)器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)智能定時(shí)器
- 第五章-單片機(jī)定時(shí)器
- 單片機(jī)課程設(shè)計(jì)--秒表定時(shí)器
- 單片機(jī)課程設(shè)計(jì)--定時(shí)器實(shí)驗(yàn)
- 單片機(jī)課程設(shè)計(jì)---加熱定時(shí)器
- 定時(shí)器c 語言程序
- 音樂提示定時(shí)器單片機(jī)原理與應(yīng)用課程設(shè)計(jì)
- 單片機(jī)定時(shí)器的應(yīng)用與誤差糾正
評(píng)論
0/150
提交評(píng)論