?? 開機8個燈循環.asm
字號:
;;開機8個燈循環, 按p32后暫停,小喇叭響,松開繼續循環,中斷的典型應用。
;***************************************************************************
;* (程序轉載請著明出處 ,未聲明可適應本站騰龍/isp開發套件/倚天版開發套件 *
;* E-mail:sxj1974@163.com (51c51 test web) 51測試網,自學單片機的網站 *
;* Create by :石學軍 www.51c51.com www.8951.com 更多例程請登陸網站 *
;***************************************************************************
org 00h;開始
jmp start;跳到主程序
org 03h;int0中斷入口(p32)
jmp ext0;到中斷子程序
start: mov ie,#10000001b;中斷使能
mov ip,#00000001b;中斷優先
mov tcon,#0000000b;中斷為電平觸發
mov sp,#70h;堆棧指針
main:;主程序循環點亮
mov p1,#00h ;全亮
lcall delay ;延時一段時間
mov a,#0feh ;每次只亮一個燈。
loop: mov p1,a ;輸出到p1
lcall delay ; 延時
rl a ;循環左移。
ajmp loop ; 跳轉main繼續循環
ext0: push acc ;(把A的值壓入堆棧,保存A)
push psw ;(保存現場)
cpl p3.3 ; 小喇叭響
call deL ;小喇叭響的速率
pop psw ; 恢復現場
pop acc
reti
delay: mov r5,#20;延時子程序1閃爍燈調用
d1:mov r6,#20
d2: mov r7,#250
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
del: ;延時子程序2小喇叭調用
mov r4,#250
djnz r4,$
ret
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -