中斷控制LED流水燈_第1頁
中斷控制LED流水燈_第2頁
中斷控制LED流水燈_第3頁
中斷控制LED流水燈_第4頁
中斷控制LED流水燈_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

中斷控制LED花樣流水燈姓名:楊凡

學(xué)號:1題目內(nèi)容介紹實(shí)驗(yàn)效果:LED先自高位向低位依次亮。中斷效果:按鍵一次會中斷當(dāng)前效果,執(zhí)行反效果定時和按鍵,都采用了中斷方式。即采用定時器0中斷來控制延時時間,用外部中斷0進(jìn)行方向控制;

2硬件原理圖3程序#include<reg52.h>#include<intrins.h>unsignedchari=0,temp;unsignedcharbdataj;//在位尋址區(qū)定義字節(jié)變量sbitj0=j^0;//定義位變量//-------------------------------------------voidmain(void){TMOD=0x01;//設(shè)定T0定時方式1TH0=(65536-10000)/256;//定時10ms@12MHzTL0=(65536-10000)%256;TR0=1;ET0=1;//允許T0中斷

PT0=1;//設(shè)定T0為高優(yōu)先級4

IT0=1;//外部中斷輸入下降沿有效

EX0=1;//允許X0中斷

EA=1;//開放總中斷

temp=0xfe;P1=temp;while(1);}voidT0_int(void)interrupt1//每隔10ms執(zhí)行一次{TH0=(65536-10000)/256;//定時10ms@12MHzTL0=(65536-10000)%256;i++;5

if(i>=100){i=0;if(j0==0)temp=_crol_(temp,1);if(j0==1)temp=_cror_(temp,1);P1=temp;}}//-------------------------------------------voidX0_int(void)interrupt0using1{unsignedchark;j0=~j0;//改變運(yùn)動方向

for(k=200;k>0;k--);//延時一會再退出,以避免抖動}6主程序流程圖子程序流程圖7關(guān)鍵程序代碼(一)voidmain(void){TMOD=0x01;//設(shè)定T0定時方式1TH0=(65536-10000)/256;//定時10ms@12MHzTL0=(65536-10000)%256;TR0=1;ET0=1;//允許T0中斷

PT0=1;//設(shè)定T0為高優(yōu)先級

IT0=1;//外部中斷輸入下降沿有效

EX0=1;//允許X0中斷

EA=1;//開放總中斷

temp=0xfe;P1=temp;while(1);}8關(guān)鍵程序代碼(二)voidX0_int(void)interrupt0using1{unsignedchark;j0=~j0;//改變運(yùn)動方向

for(k=200;k>0;k--);//延時一會再退出,以避免抖動}9單片機(jī)中的中斷CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生或中斷請求);CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回)。中斷請求→中斷響應(yīng)→中斷服務(wù)→中斷返回中斷過程事件B的處理過程事件A事件B什么是中斷?10中斷源80C51單片機(jī)有5個中斷源。見下表中斷源

說明

外部中斷從P3.2引腳引入的外部中斷申請定時器T0中斷定時器T0溢出時引發(fā)中斷申請外部中斷從P3.3引腳引入的外部中斷申請定時器T1中斷定時器T1溢出時引發(fā)中斷申請串行口中斷一次串行發(fā)送或接收完成后,發(fā)出中斷申請11調(diào)試手段KEIL的使用畫仿真硬件圖KEIL與proutes聯(lián)機(jī)調(diào)試12實(shí)訓(xùn)心得由于時間倉促,知識使用能力范圍有限,對中斷理解不夠,此次PPT效果不是很好,但還是自己課后時間做出來的,實(shí)訓(xùn)過程中,多次出現(xiàn)錯誤調(diào)試不出來也很著急,著急是沒用的,于是請教了同學(xué),看了上學(xué)期的中斷內(nèi)容,自己運(yùn)用的是外部中斷利用按鍵的,首先確定INT0是P3.2口,還有就是延時時間用計(jì)數(shù)次數(shù)乘上定時時間。如延時0.5S=50次*10000次*1uS,這些設(shè)定好了還有注意的是要去除按鍵的消抖。13抖動時間抖動時間的長短由按鍵的機(jī)械特性決定,一般為5ms~10ms。這是一個很重要的時間參數(shù),在很多場合都要用到。按鍵按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點(diǎn)幾秒至數(shù)秒。鍵抖動會引起一次按鍵被誤讀多次。為確保CPU對鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩(wěn)定時讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。14硬件消抖和軟件消抖硬件消抖用RS觸發(fā)器軟件消抖如果按鍵較多,常用軟件方法去抖,即檢測出鍵閉合后執(zhí)行一個延時程序,5ms~10ms的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。當(dāng)檢測到按鍵釋放后,也要給5ms~10ms的延時,待后沿抖動消失后才能轉(zhuǎn)入該鍵

溫馨提示

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

評論

0/150

提交評論