按一下按鍵燈就亮,延時 10s 後自動滅。在亮燈期間再按一下鍵,燈立即就滅。
用定時器及中斷實現。
提問者採納 2013-12-09 13:47
led equ p3.3
key equ p3.7
org 0000h
ljmp start
org 000bh
ljmp t0_int
org 0030h
;--------------------------------
start:
mov tmod, #01h
mov th0, #high(65536-62500)
mov tl0, #low(65536-62500)
mov ie, #82h
;--------------------------------
lp1:
setb led ;關燈
jb key, lp1 ;等待第一次按鍵
call delay
jb key, lp1
jnb key, $
;-------------------
mov r2, #160 ;10s
setb tr0 ;啟動定時器
clr led ;開燈
lp2:
jnb tr0, lp1 ;如果已經定時結束,就去等待第一次按鍵
jb key, lp2 ;等待第二次按鍵
call delay
jb key, lp2
jnb key, $
sjmp lp1 ;如果發生了第二次按鍵,就去等待第一次按鍵
;--------------------------------
t0_int:
mov th0, #high(65536-62500)
mov tl0, #low(65536-62500)
djnz r2, t0_e ;定時10s
clr led ;時間到了,關燈
clr tr0
t0_e:
reti
;--------------------------------
delay: ;延時約10ms(fosc=12mhz)
mov r6, #20
djnz r7, $
djnz r6, $ - 2
ret;--------------------------------
end提問者評價:謝謝了
mini2440 LED燈裸機硬體控制程式
查詢mini2440的原理圖,找到led部分的原理圖 然後查詢nled 1到nled 4分別連線的s3c2440的引腳 由圖可知 nled 1 gpb5 nled 2 gpb6 nled 3 gpb7 nled 4 gpb8 在s3c2440的引腳劃分中,這四個引腳都屬於port b,因此可以通過配...
組合語言程式vs 匯程式設計序
組成原理 這是個常常被人拿來挖坑的地方。組合語言程式就是你用組合語言寫的文字型的程式,我們說用一堆助記符來寫的源 匯程式設計序是彙編階段用來把組合語言翻譯成機器語言指令的程式。二者是不同的概念。比如有些時候問,計算機能夠直接執行的是 a.機器語言程式 b.組合語言程式 c.硬體描述語言程式 組合語言...
51彙編按鍵控制霓虹燈程式設計
第一次在這裡寫部落格呀 我也是最近才學微控制器的 問題描述 用p2口控制8個led,實現跑馬燈程式,用軟體延時實現1秒的掃瞄週期。按鍵k1 p3.0 k2 p3.1 作為輸入。k1 p3.1 作為跑馬燈的啟停控制,鬆開時跑馬燈執行,按下時跑馬燈熄滅 k2 p3.0 作為跑馬燈的方式選擇,鬆開時跑馬燈...