新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 中斷系統(tǒng)的應(yīng)用舉例 (含源程序)

中斷系統(tǒng)的應(yīng)用舉例 (含源程序)

作者: 時間:2010-02-26 來源:網(wǎng)絡(luò) 收藏

(含)

本文引用地址:http://2s4d.com/article/173441.htm

6.4.1 外部
【例6-3】使用外部0,當(dāng)每次響應(yīng)中斷時,P1口依次輸出高電
平,使8個發(fā)光二極管依次循環(huán)熄滅閃爍。
1) 電路設(shè)計

ORG0000H
LJMPMAIN;轉(zhuǎn)主程序
ORG0003H;外部中斷0入口地址
LJMPEXTER;轉(zhuǎn)中斷程序
ORG1000H
MAIN:SETBIT0;外部中斷0下降沿有效
SETBEX0;外部中斷0允許
SETBEA;總中斷允許
LOOP:AJMPLOOP;等待中斷
ORG1050H;中斷程序入口
EXTER:MOVR2, #0FFH;置循環(huán)次數(shù)
MOVA, #01H;燈亮初值FLASH:RRA;右移一位
MOVR7, #0FFH;定時
LOOP1:MOVR6, #0FFH
LOOP2:NOP
NOP
DJNZR6, LOOP2
DJNZR7, LOOP1
MOVP1, A;控制燈的亮滅
DJNZR2, FLASH;循環(huán)
RETI;中斷返回
END

定時器

通過定時器1來產(chǎn)生中斷,控制P1.0線上的脈沖輸出,并經(jīng)三極管驅(qū)動揚聲器,發(fā)出音調(diào)信號。
1) 電路設(shè)計

ORG0000H
LJMPMAIN
ORG001BH;中斷入口地址
CPLP1.0
RETI
ORG1000H
MAIN:MOVR1, #00H
MOVR0, #23H
MOVTMOD, #20H;定時器1工作方式2
MOVIE, #88H;定時器1允許中斷
L1:MOVDPTR, #3FFFH
MOVA, R0;取數(shù)
INCR0;修改指針
MOVCA, @A+PC;查表
JZMAIN
MOVR1, A;計算計數(shù)初值
MOVA, #0FFH
CLRC
SUBBA, R1
RLA
MOVTH1, A;置計數(shù)初值
SETBTR1;開始計數(shù)
L2:CLRC
MOVA, DPL;延時
SUBBA, #01H
MOVDPL, A
MOVA, DPH
SUBBA, #00H
MOVDPH, A
ORLA, DPL
JNZL2
CLRTR1
SJMPL1
END
ORG1031H;歌曲“送別”編碼
DB 33H,33H,3DH,33H,26H
DB 26H, 26H, 26H,2DH,2DH
DB 26H,2DH,33H,33H,33H
DB 33H, 33H,33H,4DH,45H
DB 45H, 45H45H, 45H, 45H
DB 45H, 45H,33H,33H,3DH
DB 33H,26H,26H,26H, 28H
DB 2DH, 2DH, 26H,26H,33H
DB 33H,33H,33H,45H,3DH



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉