微控制器大神請進,51微控制器彙編程式,程式可發至

時間 2021-06-29 05:25:58

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就更加簡單,具體的方法 用定時器定時,定時到了就給...