![鍵控雙向流水燈_第1頁](http://file4.renrendoc.com/view/8fad2859e3ee8a17f07e2d8e078306a4/8fad2859e3ee8a17f07e2d8e078306a41.gif)
![鍵控雙向流水燈_第2頁](http://file4.renrendoc.com/view/8fad2859e3ee8a17f07e2d8e078306a4/8fad2859e3ee8a17f07e2d8e078306a42.gif)
![鍵控雙向流水燈_第3頁](http://file4.renrendoc.com/view/8fad2859e3ee8a17f07e2d8e078306a4/8fad2859e3ee8a17f07e2d8e078306a43.gif)
![鍵控雙向流水燈_第4頁](http://file4.renrendoc.com/view/8fad2859e3ee8a17f07e2d8e078306a4/8fad2859e3ee8a17f07e2d8e078306a44.gif)
![鍵控雙向流水燈_第5頁](http://file4.renrendoc.com/view/8fad2859e3ee8a17f07e2d8e078306a4/8fad2859e3ee8a17f07e2d8e078306a45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、任務(wù)九 鍵控雙向流水燈中斷控制是單片機(jī)最重要的技術(shù)之一,實(shí)時控制及人機(jī)交互等應(yīng)用都是通過中斷實(shí)現(xiàn)的。本任務(wù)通過制作一個用按鍵控制移動方向的流水燈來學(xué)習(xí)MCS-51單片機(jī)的中斷系統(tǒng),以及外部中斷的簡單應(yīng)用。1 中斷控制是單片機(jī)最重要的技術(shù)之一,實(shí)時控制及人機(jī)交互等應(yīng)用都是通過中斷實(shí)現(xiàn)的。本任務(wù)通過制作一個用按鍵控制移動方向的流水燈來學(xué)習(xí)MCS-51單片機(jī)的中斷系統(tǒng),以及外部中斷的簡單應(yīng)用。 【任務(wù)目的】 利用單片機(jī)外部中斷,完成左右移動的流水彩燈設(shè)計,實(shí)現(xiàn)用按鍵對信號燈的控制?!救蝿?wù)描述】 用單片機(jī)的P3.2、P3.3各接一只按鍵,按下一個按鍵時,實(shí)現(xiàn)彩燈左移花樣,按下另一個按鍵時,實(shí)現(xiàn)彩燈右移
2、花樣。2一.電路原理圖3二、中斷的基本概念 1.中斷 當(dāng)中央處理器CPU正在處理某事件時,與它并行工作的外圍部件或者外部設(shè)備由于工作的需要或者出現(xiàn)故障,請求CPU迅速去處理,CPU暫停當(dāng)前工作,轉(zhuǎn)去處理所發(fā)生的事件,處理結(jié)束之后,再回到被打斷的地方繼續(xù)原來的工作。這樣的過程稱為中斷。如圖8-2所示。2.中斷源 能夠產(chǎn)生中斷請求的條件稱為中斷源。中斷源可以來自單片機(jī)的外部和內(nèi)部。在不同種類的單片機(jī)中,中斷源的數(shù)量一般并不相同。MCS-51單片機(jī)有5個中斷源 4(1). MCS-51的中斷源 外部 :INT0,INT1低電平觸發(fā) 內(nèi)部:TF0 , TF1 , RI/TI (2).與中斷有關(guān)的寄存器
3、: 定時控制寄存器TCON 串行控制寄存器SCON 中斷允許控制寄存器IE 中斷優(yōu)先級控制寄存器IP53.MCS-51的中斷系統(tǒng) 64.中斷的響應(yīng)過程CPU響應(yīng)中斷時,會根據(jù)不同的中斷源,自動轉(zhuǎn)向不同的規(guī)定地址,執(zhí)行中斷服務(wù)程序,這個規(guī)定地址,稱為中斷向量。響應(yīng)中斷請求后,CPU按照中斷源的不同,自動轉(zhuǎn)到各個中斷入口地址去執(zhí)行程序。由于每個中斷向量僅間隔8個字節(jié),不可能放下一般的中斷處理程序。因此一般在中斷向量處放置一條無條件轉(zhuǎn)移指令,轉(zhuǎn)到真正的中斷處理程序。7與中斷有關(guān)的指令 :RETI -中斷返回 , BIT -位地址符 號偽指令 3、中斷程序的編寫: 中斷程序的編寫步驟如下:(1)設(shè)置堆
4、棧指針SP(2)中斷源的相關(guān)控制(如設(shè)置外部中斷觸發(fā)方 式、啟動定時器等)(3)設(shè)置中斷優(yōu)先級(4)開中斷(5)編寫中斷服務(wù)程序其中前4個步驟稱為中斷初始化,一般放在主程序的開始處 8三.實(shí)訓(xùn)內(nèi)容與步驟1.電平觸發(fā)方式鍵控流水燈程序(1)參考程序FX BIT 00H ;位地址00H命名為FXORG 0000HLJMP MAIN ;轉(zhuǎn)移到主程序ORG 0003H;外中斷0服務(wù)程序入口LJMP INT0;轉(zhuǎn)移到外中斷0服務(wù)程序ORG 0013H;外中斷1服務(wù)程序入口LJMP INT1;轉(zhuǎn)移到外中斷1服務(wù)程序ORG 0030H9MAIN: MOV SP,#5FH ;設(shè)置堆棧棧底 CLR IT0 ;設(shè)
5、置外中斷0為低電平觸發(fā) CLR IT1 ;設(shè)置外中斷1為低電平觸發(fā)CLR PX0 ;設(shè)置外中斷0為低優(yōu)先級CLR PX1 ;設(shè)置外中斷1為低優(yōu)先級,由 于復(fù)位時被清零,以上 ;4條清零標(biāo)志位的指令可以省 略,SETB EX0;開外中斷0SETB EX1;開外中斷1SETB EA ;開總中斷 MOV A,#0FEH;顯示代碼初值送累加器 A10K0:MOV P0,A;把顯示代碼傳送到P0口輸 出,控制LED 亮滅JB FX,K;FX=1(00H位為1),移至K1, 執(zhí)行 右移RL A;FX=0,執(zhí)行顯示代碼左移,暫存在A中SJMP K2;轉(zhuǎn)移到K2,避開右移指令K1:RR A;顯示代碼右移K2:
6、LCALL DELAY;調(diào)用延時子程SJMP K0;返回,繼續(xù)下一拍INT0:CLR FX;外中斷0服務(wù)程序,方向標(biāo)志位清0 RETI;中斷返回INT1:SETB FX;外中斷1服務(wù)程序,方向標(biāo)志位 置1 RETI;中斷返回DELAY:MOV R7,#0FFH;延時子程序L1:MOV R6,#0FFHDJNZ R6,$DJNZ R7,L1RETEND;程序結(jié)束11(2)程序分析 按下P3.2處連接的按鍵,會在P3.2引腳()輸入一個低電平,觸發(fā)外部中斷0,運(yùn)行外部中斷0服務(wù)程序,把方向標(biāo)志位清零;按下P3.3處連接的按鍵,會觸發(fā)外部中斷1,運(yùn)行外部中斷1服務(wù)程序,把方向標(biāo)志位置1。當(dāng)主程序中執(zhí)
7、行到 JB FX,K1這條指令時,會根據(jù)FX的值是0還是1,選擇不同的流向,去執(zhí)行RL A 或者執(zhí)行RR A,使彩燈出現(xiàn)不同的移動方向。 如果一直按下一只按鍵,會發(fā)現(xiàn)流水燈的運(yùn)行速度明顯變慢,這是因為這段程序外部中斷是采用了電平觸發(fā),當(dāng)執(zhí)行完中斷服務(wù)程序,回到主程序時,外部中斷觸發(fā)信號仍然存在,所以在執(zhí)行了一條主程序指令以后,又去執(zhí)行中斷服務(wù)程序,如此反復(fù),使執(zhí)行主程序的速度大大降低。 為了解決這個問題,可以采用下降沿觸發(fā)外部中斷。按下按鍵會產(chǎn)生一個下降沿,CPU響應(yīng)中斷,執(zhí)行完中斷服務(wù)程序程序以后,只要不再次按下按鍵,就不會再有下降沿出現(xiàn),不會再次響應(yīng)中斷,避免了上述問題。122.下降沿觸發(fā)
8、方式鍵控流水燈的程序FX BIT 00H;位地址00H命名為FXORG 0000HLJMP MAIN ;轉(zhuǎn)移到主程序ORG 0003H;外中斷0服務(wù)程序入口LJMP INT0;轉(zhuǎn)移到外中斷0服務(wù)程序ORG 0013H;外中斷1服務(wù)程序入口LJMP INT1;轉(zhuǎn)移到外中斷1服務(wù)程序ORG 0030H13MAIN:MOV SP,#5FH ;設(shè)置堆棧棧底 SETB IT0 ;設(shè)置外中斷0為下降沿觸發(fā), 注意此處做了修改, SETB IT1 ;設(shè)置外中斷1為下降沿觸發(fā), CLR PX0 ;設(shè)置外中斷0為低優(yōu)先級 CLR PX1 ;設(shè)置外中斷1為低優(yōu)先級,由于復(fù)位時被清零,以上 4條清零標(biāo)志位的指令可以
9、省略, SETB EX0;開外中斷0 SETB EX1;開外中斷1 SETB EA;開總中斷 ;*以下和程序(1)完全一樣。 MOV A,#0FEH;顯示代碼初值送累加器A14K0:MOV P0,A;把顯示代碼傳送到P0口輸出, 控制LED亮滅JB FX,K1 ;FX=1(00H位為1),轉(zhuǎn)移至K1,執(zhí)行右移RL A ;FX=0,執(zhí)行顯示代碼左移,暫存在A中SJMP K2;轉(zhuǎn)移到K2,避開右移指令K1:RR A ;顯示代碼右移K2:LCALL DELAY;調(diào)用延時子程序SJMP K0;返回,繼續(xù)下一拍15INT0:CLR FX ;外中斷0服務(wù)程序,方向標(biāo)志位清0RETI ;中斷返回INT1:SETB
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版歷史九年級下冊:第11課 《蘇聯(lián)的社會主義建設(shè)》 聽課評課記錄
- 《溝通中外文明的“絲綢之路”》名師聽課評課記錄(新部編人教版七年級上冊歷史)
- 生物醫(yī)藥產(chǎn)業(yè)園監(jiān)理合同(2篇)
- 電力價格調(diào)整合同(2篇)
- 五年級上冊數(shù)學(xué)聽評課記錄《7.1 誰先走》(3)-北師大版
- 部編人教版歷史九年級上冊第15課《探尋新航路》聽課評課記錄
- 湘教版數(shù)學(xué)八年級上冊《小結(jié)練習(xí)》聽評課記錄5
- 人教版數(shù)學(xué)七年級上冊3.2《解一元一次方程(一)-合并同類項與移項》聽評課記錄1
- 五年級上冊數(shù)學(xué)聽評課記錄-總復(fù)習(xí)2-北師大版
- 新版湘教版秋八年級數(shù)學(xué)上冊第二章三角形課題三角形的內(nèi)角和定理聽評課記錄
- 必修3《政治與法治》 選擇題專練50題 含解析-備戰(zhàn)2025年高考政治考試易錯題(新高考專用)
- 二零二五版電商企業(yè)兼職財務(wù)顧問雇用協(xié)議3篇
- 課題申報參考:流視角下社區(qū)生活圈的適老化評價與空間優(yōu)化研究-以沈陽市為例
- 《openEuler操作系統(tǒng)》考試復(fù)習(xí)題庫(含答案)
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 《中南大學(xué)模板》課件
- 2024-2025學(xué)年人教版生物八年級上冊期末綜合測試卷
- 道教系統(tǒng)諸神仙位寶誥全譜
- 中國經(jīng)濟(jì)轉(zhuǎn)型導(dǎo)論-政府與市場的關(guān)系課件
- 新視野大學(xué)英語讀寫教程 第三版 Book 2 unit 8 教案 講稿
- 村務(wù)公開表格
評論
0/150
提交評論