1樓:生活如歌
1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1—l8按16進位制加一方式點亮發光二極體。程式如下:
org 0540h
ha1s: mov a,#00h;a初值為0
ha1s1: jb p3.3,ha1s1;如果p3.3為1則等待(有脈衝變0一次)
mov r2,#20h;r2賦值為20
lcall delay;延時(去抖動)
jb p3.3,ha1s1;如果為1則返回繼續判斷
ha1s2: jnb p3.3,ha1s2;等待脈衝變為高電平(等待鍵釋放)
mov r2,#20h;r2重新賦值為20
lcall delay;延時
jnb p3.3,ha1s2;如果沒釋放則返回繼續等待
inc a;a加1
push acc;a入堆疊保護
cpl a;a取反
mov p1,a;a送p1
pop acc;a的值出棧恢復原值
ajmp ha1s1;返回程式開始處
delay: push 02h;02h(r2)入棧保護,因為下面的迴圈中都是20次(r2中的數,所以三次入棧),不過這個程式這樣寫真是很彆扭
delay1: push 02h
delay2: push 02h
delay3: djnz r2,delay3
pop 02h
djnz r2,delay2
pop 02h
djnz r2,delay1
pop 02h
djnz r2,delay
retend
二、把上面的要求p3.3輸入替換成int0外部中斷輸入,寫個完整的彙編程式,其他要求不變!
org 0000h
ljmp main
org 0013h
ljmp zdx1
org 0100h
main: setb ex1
setb ea
mov a,#00h
mov p1,#0ffh
sjmp $
zdx1: inc a
push acc
cpl a
mov p1,a
pop a
retiend
2樓:匿名使用者
p3.3是外中斷1,不是0.
org 00h
ajmp main
org 13h
ajmp ex1int
org 30h
main:
setb ea
setb ex1
setb it1
main1:
mov p1,r0
cjne r0,#0,main1
mov r0,#0
ajmp main1
ex1int:
inc r0
retiend
3樓:匿名使用者
org 0000h ; protues**通過jmp main
org 0003h
int00: inc a ; int0 中斷 計數cpl a
mov p1,a ; p1 輸出顯示 計數cpl a
reti
main: mov sp, #7fh ; 初始化設定setb it0 ; 開中斷
setb ex0
setb ea
sjmp $end
51微控制器多位元組除法彙編程式,51微控制器(彙編)怎麼實現雙位元組除以單位元組的除法運算,求程式帶註釋,謝謝!
電子粉絲 不會,應根據進位標誌來處理 51微控制器 彙編 怎麼實現雙位元組除以單位元組的除法運算,求程式帶註釋,謝謝! jtya0 equ 50h jtya1 equ 51h jtya2 equ 52h jtya3 equ 53h jtya4 equ 54h jtya5 equ 55h jtya6 ...
51微控制器組合語言學習軟體,51微控制器用組合語言需要什麼軟體?
我想告訴你,keil可以編輯彙編的檔案.你建好一個project後,在source group 1上點右鍵,選add files to group source group 1 這時,就可以選中你的asm檔案 要選asm檔案得先把對話方塊中的檔案類弄選為 雙擊就可以新增到source group 1...
微控制器秒錶程式設計,用51微控制器做秒錶設計
這個問題我可以用51系列微控制器解決,不知是否可以。可以的話發個訊息或qq聯絡 103949436 用51微控制器做秒錶設計 遇到懶學生了,復這個不就制是一個定時器加顯示嗎,有什麼難的,自己翻翻微機原理書就可以做 了,也就四五十行組合語言就行了,用c就更加簡單,具體的方法 用定時器定時,定時到了就給...