單片機定時器中斷原理和c語言代碼詳解_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機定時器中斷原理和單片機定時器中斷原理和C語言代碼詳解語言代碼詳解我之前都是用ARM7,單片機基本不會。但一個項目要用到51,所以克了一下51還是有點模糊,今天調(diào)了這個代碼之后,對51定時器中斷有些心得,拿來和大家共享。廢話不說了,上代碼。#define_1231_C_#include“reg51.h“#include“1231.h“sbitOE=P2^3unsignedintSystemTimevoidtimer0(void)in

2、terrupt1using3中斷部分代碼,見下文的釋疑TH0=0xdbTL0=0xffTF0=0SystemTimevoidmain()TMODTMOD|=0x01TMOD的值表示定時器工作方式選擇TH0=0xdb寫入初始值初始值可以決定定時多久TL0=0xff根據(jù)下文的木桶比喻的話,如果TH0=0x00TL0=0x00;則表示從桶底開始裝水。TH0=0xdbTL0=0xff可以這樣子理解相當于木桶里已經(jīng)有部分液鉛在里面,TH0和TL0

3、這個兩個值表示木桶里液鉛的高度,即此時桶里只能從液鉛的高度以上開始裝4串行中斷實際上編譯的時候就是把你這個函數(shù)的入口地址方到這個對應(yīng)中斷的跳轉(zhuǎn)地址usingy這個y是說這個中斷函數(shù)使用的那個寄存器組,51里面一般有4組r0r7寄存器,一共有32個,如果你的終端函數(shù)和別的程序用的不是同一個寄存器組則進入中斷的時候就不會將寄存器組壓入堆棧返回時也不會談出來節(jié)省代碼和時間初始值算法:定時器是當總數(shù)達到FFFFH后產(chǎn)生中斷吧!那你要讓它計數(shù)10

4、000,是不是用FFFF(16進制)減去10000(十進制)的數(shù)當計數(shù)初值?。縏H0=(10000256)TL0=(10000%256)跟FFFF(16進制)減去10000(十進制)的數(shù)是一樣的。從TH0=(10000256)TL0=(10000%256)開始計數(shù),計數(shù)到10000剛好滿。跟用FFFF(16進制)減去10000(十進制)的數(shù)一樣!?。懫饋砀唵?,不用算!?。】纯丛a、補碼就知道。正數(shù)的補碼是對應(yīng)的二進制數(shù),符號位為零,

5、負數(shù)的補碼是它的絕對值對應(yīng)的二進制數(shù)按位取反再加一,符號位為一。無符號數(shù)不考慮符號,那么這個結(jié)果就跟用FFFF減去它的絕對值一樣中斷的理解。這里將涉及到單片機中斷的應(yīng)用,在cpu的一步步按照指令運行的過程中(主程序),可能會有其它的更緊急的需要做的事情(中斷服務(wù)程序),需要cpu暫時停止當前的程序(主程序),做完了(中斷服務(wù)程序)之后,又可以繼續(xù)去運行先前的程序(主程序)。就像你正在吃飯,一邊又在給水桶里放水,吃著吃著,水滿了,你就得趕

6、快去把水龍頭關(guān)掉或者換一個空的水桶,再回來吃飯。單片機的定時器就像是一個水桶,你讓它啟動了,也就是水龍頭打開了;開始裝水了;定時在每個機器周期不斷自動加1,最后溢出了;水桶的水不斷增加,最也就滿出來了;定時器溢出時,你就要去做處理了;水桶的水滿了,你也應(yīng)該處理一下了;處理完后,單片機又可以回到剛剛開停止的地方繼續(xù)運行;水桶處理了,先前你在做什么也可以繼續(xù)去做什么了。單片機的主程序是從0x0000開始運行的,單片機服務(wù)程序從哪里開始運行呢

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論