一、實驗目的
1、掌握中斷系統外部中斷源的使用方法。
2、掌握延時程式的程式設計及使用方法。
3、掌握proteus軟體與keil軟體的使用方法。
4、掌握微控制器系統的硬體和軟體設計方法。
二、設計要求
1、用proteus軟體畫出電路原理圖,在微控制器的p1.0口線上接按鍵k0 ,作為外部中斷源0使用,用於開啟波形,在微控制器的 p1.1口線上接按鍵k1,作為外部中斷源1使用,用於關閉波形。
2、在微控制器的p1.2口線上產生週期50ms的連續方波,在p1.2口線上接示波器觀察波形。
三、電路原理圖
6、實驗總結
通過本實驗能夠準確安排各種型別的中斷服務程式入口,中斷源提出中斷申請後,卻執行到相應的中斷服務程式。弄清楚了中斷服務程式與子程式的共同點和不同點。
七、思考題
1、在p1.2口線上產生週期為100ms,占空比為2:5的連續矩形波,要求只採用按鍵k0來控制其開啟和關閉。
答:程式見程式清單。
4、實驗程式流程框圖和程式清單。
1、在微控制器的p1.2口線上產生週期50ms的連續方波。p1.
0口線上接按鍵k0 ,作為外部中斷源0使用,用於開啟波形, p1.1口線上接按鍵k1,作為外部中斷源1使用,用於關閉波形。
匯程式設計序:
org 0000h
start: ljmp main
org 0003h
ljmp ext0
org 000bh
ljmp ttco
org 0013h
ljmp ext1
org 0100h
main: mov tmod, #01h
mov tcon, #01h
mov ie, #87h
mov th0, #9eh
mov tl0, #58h
setb px1
here: ljmp here
ext0: setb tr0
reti
ext1: clr tr0
reti
ttco: cpl p1.2
mov th0, #9eh
mov tl0, #58h
reti
endc語言程式:
#include<>
sbit p12=p1^2;
main()
void ext0() interrupt 0
void ext1() interrupt 2
void ttc0() interrupt 1
2、在p1.2口線上產生週期為100ms,占空比為2:5的連續矩形波,要求只採用按鍵k0來控制其開啟和關閉。
匯程式設計序:
org 0000h
start: ljmp main
org 0003h
ljmp ext0
org 0100h
main: mov tmod, #11h
mov tcon, #01h
setb ea
setb ex0
clr c
loop1: jnb tf0, loop1
mov th0, #63h
mov tl0, #0c0h
clr tf0
clr tr0
cpl p1.2
setb tr1
loop2: jnb tf1, loop2
mov th1, #15h
mov tl1, #0a0h
clr tf1
clr tr1
cpl p1.2
setb tr0
ljmp loop1
org 0200h
ext0: jc stop
setb c
mov th0, #63h
mov tl0, #0c0h
mov th1, #15h
mov tl1, #0a0h
setb tr0
reti
stop: clr tr0
clr tr1
clr c
endc語言程式:
#include""
sbit p12 = p1^2;
void main()
}void ext0() interrupt 0
else }
5、實驗結果(波形圖)
微控制器外部中斷總結
51微控制器的外部中斷有兩種觸發方式可選 電平觸發和邊沿觸發。選擇電平觸發時,微控制器在每個機器週期檢查中斷源口線,檢測到低電平,即置位中斷請求標誌,向cpu請求中斷。選擇邊沿觸發方式時,微控制器在上乙個機器週期檢測到中斷源口線為高電平,下乙個機器週期檢測到低電平,即置位中斷標誌,請求中斷。這個原理...
微控制器中斷實驗實驗報告
實驗三中斷實驗 一 實驗內容 1 當微控制器的int0端出現負脈衝時,進入相應的中斷服務程式,p1口做輸出口,接8只發光二極體,通過程式控制發光二極體依次點亮。2 選擇外部中斷0 p3.2 接按鍵into到地,按下出現負脈衝時,進入相應的中斷服務程式,在中斷服務程式中,數碼管顯示加1,在0 9之間迴...
微控制器中斷
第五章 mcs 51微控制器中斷系統 第一節中斷系統結構 一 學習要求 1 掌握中斷系統中斷源 中斷概念,中斷優先順序及控制方法。2 了解中斷響應過程,中斷請求撤除法。二 內容提要 一 中斷概述 1 中斷源 中斷源指引起正在執行的程式中斷,轉而執行中斷服務程式的裝置或事件。可分為硬中斷 軟中斷。mc...