單片機(jī)之呼吸燈(LED)

單片機(jī)之呼吸燈(LED)

ID:40817937

大?。?06.51 KB

頁數(shù):9頁

時(shí)間:2019-08-08

單片機(jī)之呼吸燈(LED)_第1頁
單片機(jī)之呼吸燈(LED)_第2頁
單片機(jī)之呼吸燈(LED)_第3頁
單片機(jī)之呼吸燈(LED)_第4頁
單片機(jī)之呼吸燈(LED)_第5頁
資源描述:

《單片機(jī)之呼吸燈(LED)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、原理:用定時(shí)器模擬PWM,改變其占空比,用以控制LED的亮度。呼吸燈主要是控制好亮度顯示的時(shí)間。順便復(fù)習(xí)一下中斷和定時(shí)/計(jì)數(shù)器的知識。?一、先了解LED的連接情況:??VCC接上1K的排阻,再連接LED,當(dāng)單片機(jī)I/O口為0時(shí),LED點(diǎn)亮,I/O口為1時(shí),LED熄滅。?二、有關(guān)中斷和定時(shí)/計(jì)數(shù)器:(1)中斷???????????第一個,是中斷的理解圖。??如圖,從左向右,可以很清楚的看出中斷所需的條件。?A、IP寄存器為優(yōu)先級的選擇(一般默認(rèn)就OK了,不用管它)。B、IE寄存器為中斷允許控制:???????

2、??EX0(IE.0),外部中斷0允許位;???????????ET0(IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位;????????????EX1(IE.2),外部中斷0允許位;???????????ET1(IE.3),定時(shí)/計(jì)數(shù)器T1中斷允許位;???????????ES(IE.4),串行口中斷允許位;?????EA(IE.7),CPU中斷允許(總允許)位。(只要涉及中斷,EA必須為1,即CPU開總中斷)?C、中斷請求標(biāo)志(TCON和SCON)??????主要說說TCON的中斷標(biāo)志,TCON寄存器:????I

3、T0(TCON.0),外部中斷0觸發(fā)方式控制位。??????????????????當(dāng)IT0=0時(shí),為電平觸發(fā)方式。??????????????????當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。??????????IE0(TCON.1),外部中斷0中斷請求標(biāo)志位。??????????IT1(TCON.2),外部中斷1觸發(fā)方式控制位。??????????IE1(TCON.3),外部中斷1中斷請求標(biāo)志位。??????????TF0(TCON.5),定時(shí)/計(jì)數(shù)器T0溢出中斷請求標(biāo)志位。?????????TF1

4、(TCON.7),定時(shí)/計(jì)數(shù)器T1溢出中斷請求標(biāo)志位。?中斷響應(yīng)條件?????1、中斷源有中斷請求;?????2、此中斷源的中斷允許位為1;?????3、CPU開中斷(即EA=1)。以上三條同時(shí)滿足時(shí),CPU才有可能響應(yīng)中斷。?如:EA=1;//開總中斷??????EX0=1;//開外部中斷0??????TCON=0x01;//即IT0=0,此為電平觸發(fā)方式?最后,要寫一個中斷函數(shù),如下:??????????????????????????????????????????????????voidtimer0

5、()interrupt?nusingm??????????????????????????????????????????????????????????{????????????????????????????????????????????????????????????????????此處寫中斷后要執(zhí)行的程序???????????????????????????????????????????????????????????}????其中n對應(yīng)中斷的編號,以80C51單片機(jī)為例,編號從0~4,分別對應(yīng)

6、外中斷0、定時(shí)器0中斷、外中斷1、定時(shí)器1中斷和串行口中斷。使用using?m指定,其中m的值是0~3,對應(yīng)使用四組工作寄存器。例如可以這樣來寫:????voidtimer0()interrupt1using2????{…}????即表示在該中斷程序中使用第2組工作寄存器。說明:using最好不用,CPU會自動分配的。?????????(2)定時(shí)/計(jì)數(shù)器(重要說說定時(shí)器)????????????定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個寄存器組成。????????????TMOD是定時(shí)/

7、計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;????????????TCON是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標(biāo)志。????????加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個來源,一個是由系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后送來;一個是T0或T1引腳輸入的外部脈沖源。每來一個脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1時(shí),再輸入一個脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時(shí)/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式

8、,則表示計(jì)數(shù)值已滿。??????設(shè)置為定時(shí)器模式時(shí),加1計(jì)數(shù)器是對內(nèi)部機(jī)器周期計(jì)數(shù)(1個機(jī)器周期等于12個振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t。說明:如果振蕩頻率為12MHZ,那么一個機(jī)器周期為(1/12)*12=1us,如果計(jì)數(shù)值為1000,則定時(shí)時(shí)間為1000*1us=1ms。?1、工作方式寄存器TMOD??????工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。