1樓:匿名使用者
;p1.0 p1.1接2led,p2.0接一按鍵。上電2led不亮,按第1 次鍵2led同時以1s週期閃爍,按第2 次 2led輪流1s閃爍...同此迴圈。
;11 04 17
org 00h
ajmp main
org 0bh
ajmp t0int
org 30h
main:
mov tmod,#01h ;
mov th0,#3ch
mov tl0,#0b0h
setb ea
setb et0
mov r0,#10
key:
acall disp
jb p2.0,$-2
acall disp
jnb p2.0,$-2
setb tr0
inc r1 ;r1為按鍵按下次數
cjne r1,#2,key0
ajmp key
key0:
mov r1,#1
ajmp key
disp:
cjne r1,#1,disp0
ajmp disp1
disp0:
cjne r1,#2,rt
ajmp disp2
disp1: ;一起閃
jnb f0,disp11 ;f0為0.5s到標誌,每0.5s求反一次
setb p1.0
setb p1.1
retdisp11:
clr p1.0
clr p1.1
rt:ret
disp2: ;交替閃
jnb f0,disp21 ;f0為0.5s到標誌,每0.5s求反一次
setb p1.0
clr p1.1
retdisp21:
clr p1.0
setb p1.1
rett0int:
mov th0,#3ch
mov tl0,#0b0h
djnz r0,rti
mov r0,#10
cpl f0
rti:
retiend
2樓:做而論道
要求很簡單,程式,也就可以簡單一些:
key1 equ p3.7
led1 equ p3.2
led2 equ p3.3
org 0000h
ajmp main
org 000bh
ajmp t0_int
org 0030h
main:
mov tmod, #01h ;
mov th0, #4ch
setb ea
setb et0
mov r2, #10
call wait_kay
setb tr0
;------------------------------m_loop:
call wait_kay
cpl led1
ajmp m_loop
;******************************wait_kay:
jb key1, $
acall delay10ms
jb key1, wait_kay
jnb key1, $
retdelay10ms:
mov r6, #20
djnz r7, $
djnz r6, $ - 2
ret;------------------------------t0_int:
mov th0, #4ch
djnz r2, t0_end
mov r2, #10
cpl led1
cpl led2
t0_end: reti
;------------------------------end
51微控制器組合語言控制兩個p1^0,p1^1的led以一定時間交替閃爍,謝謝。並說明定時器延時子程式。
3樓:匿名使用者
;間隔時間不計較精度
org 00h
loop:
mov p1.0,c
cpl c ;標誌取反
mov p1.1,c
acall delay ;呼叫延時子程式jmp loop ;返回,繼續delay: ;延時子程式
mov r7,#200
lp7:
mov r6,#200
lp6:
mov r5,#200
djnz r5,$
djnz r6,lp6
djnz r7,lp7ret
跪求微控制器c51用組合語言寫的程式,功能為:8只發光二極體依次點亮,從左向右移動,時間間隔0.5秒。
4樓:匿名使用者
main: mov p1, #11111110b ; p1 口 點亮一個發光二極體
acall delay ; 呼叫延時子程式
mov p1, #11111101b ; 從左向右移動 一位
acall delay
mov p1, #11111011b
acall delay
mov p1, #11110111b
acall delay
mov p1, #11101111b
acall delay
mov p1, #11011111b
acall delay
mov p1, #10111111b
acall delay
mov p1, #01111111b
acall delay
jmp main ; 轉移 至 main 迴圈
delay: mov r5,#250 ; 延時子程式 6.000 m 晶振 約 0.5 秒
d1: mov r6,#250
d2: djnz r6,$
djnz r5,d1ret
5樓:小石頭
;假設通過p0口置低位控制二極體點亮
main:
clr c
main1:
rrc a;
mov p0,a
lcall wait2
ljmp main1
;延時程式11.0592m的精震
wait2: ;0.5s
mov r5,#0ah
wait22: mov r4,#5ah
mov r3,#09bh
wait21: djnz r3,wait21djnz r4,wait21
djnz r5,wait22ret
用51微控制器組合語言控制8個發光二極體
6樓:匿名使用者
很簡單的,你好好看看書編一下程式吧,正好可以提高程式設計能力!
如有幫助請採納,謝謝!!
7樓:匿名使用者
key1 bit p3.2
key2 bit p3.3
org 00h
mov p3,#255
mov a,#254
mov p1,a
continue:
jnb key1,right
jnb key2,left
jmp continue
right:
rr a
mov p1,a
acall delay
jmp continue
left:
rl a
mov p1,a
acall delay
jmp continue
delay:
mov r7,#250
lp2:mov r6,#200
lp1:nop
djnz r6,lp1
djnz r7,lp2
retend
需要一個程式,用51微控制器控制led每一秒鐘閃爍一次,並在1602顯示閃爍次數,不要組合語言,速求
8樓:匿名使用者
最好吧你的圖 怎麼接線的 貼出來 這樣清楚明白
求大神寫一個51微控制器組合語言彩燈控制程式
9樓:做而論道
16位拉幕燈,可算是一種顯示模式:
用51微控制器(組合語言寫)寫一個跑馬燈程式??知道的幫個忙寫寫。
10樓:白朮的草戒指
急用!請教!!!
用組合語言程式,程式功能:實現方向可控的跑馬燈
程式設計要求:用八個led發光二極體實現跑馬燈(即:8個燈依次輪流發光,每次只亮一個燈),系統啟動後,跑馬燈右向流轉,按下k1鍵,則反向流轉,再按則再反向……。
接線方法:流水燈接p0口,按鍵k1可自選p1~p3任一引腳。
11樓:胖大海君
答疑解難 跑馬燈程式
org 0000h
ljmp main
org 0100h
main: jb p0.7,main ;等待開始鍵按下
lcall ys ;按鍵延時
jb p0.7,main
mov a,#7fh ;是開始鍵按下 則跑馬燈開始執行
ll: mov p1,a
lcall ys ;顯示延時
rr a ;迴圈右移一位
jb p0.6, ll ;沒有按下停止鍵 則繼續跑馬
lcall ys ;按鍵延時
jb p0.6,ll ;按下停止鍵 則停止跑馬;否則繼續跑馬
mov a,#0ffh
mov p1,a
sjmp main ;轉到程式開始處,等待開始鍵的按下
ys: mov r7,#150 ;延時子程式
yl: mov r6,#200
yy: nop
djnz r6,yy
djnz r7,yl
retend
硬體介面電路如下:
哈哈 還滿意嗎 就請給俺選擇(滿意選項)吧
微控制器組合語言問題
建議你用定時中斷方式,下面的供參考 org 0000h ajmp start org 001bh ljmp time1 定時中斷1入口 org 0030h start mov 30h,0 mov 31h,0 mov 32h,0 mov 33h,0 mov p2,0ffh mov dptr,table...
微控制器串列埠通訊問題(組合語言),微控制器串列埠通訊問題(組合語言)
這倆程式,執行到最後邊,都是 ret,返回指令。返回到何處去呀?呵呵,還是,先解決程式結構的問題。1 程式結構 有問題,沒有呼叫子程式 就不應該有子程式返回指令。2 jnb ti,clr ti 為判斷 串列埠 是否 傳送 完畢的,3 jnb ri,clr ri 為判斷 串列埠 是否 有接收 的,如果...
at89c51微控制器怎麼用組合語言寫「多個延時程式」
微控制器組合語言中要使一個延時程式可以被不同情況下呼叫而延時不同的時間,可以通過類似於c語言中傳遞引數的方式來實現,舉例如下 org 0000h ljmp main org 0030h main mov p0,5ah p0上的led燈間隔點亮mov r7,50 r7是延時傳遞引數lcall dela...