51微控制器求用組合語言編寫延時1小時的子程式要

時間 2021-09-01 18:48:17

1樓:匿名使用者

延時一小時,這麼長,應該要用定時器,不能用迴圈的方式。

org 00h

ajmp main

org 0bh

ajmp t0int0

org 30h

main:

mov sp,#60h

mov r4,#20

mov tmod,#01h

mov th0,#3ch ;12m晶振時定時初值取#3cb0h,還可細調如 tl=#0b7h,可以更準

mov tl0,#0b7h

setb ea

setb et0

setb tr0

ajmp $

t0int0:

mov th0,#3ch ;定時中斷子程式。重灌定時常數mov tl0,#0b7h

djnz r4,rti ;未1s,跳出中斷mov r4,#20

inc 26h ;秒+1

mov a,26h

cjne a,#60,rti

mov 26h,#0

inc 27h ;分+1

mov a,27h

cjne a,#60,rti

mov 27h,#0

inc 28h ;時+1

mov a,28h

cjne a,#24,rti

mov 28h,#0

rti:

retiend

2樓:做而論道

微控制器時鐘,時分秒。

時,即每隔一小時,加一次一。

利用這種程式即可,不用單獨編寫子程式。

編寫一個定時一秒的子程式,利用該子程式編寫一個延時一分鐘的程式。微控制器組合語言題目求解

3樓:匿名使用者

equ min 60h ;分存放單元;精度不是很高的,看著辦

delay1min:

acall delay1sec

djnz r6,exit

mov r6,#60

inc min

retdelay1sec:

mov r5,#250

de2:

mov r4,#20

de1:

mov r3,#10

djnz r3,$

djnz r4,de1

djnz r5,de2ret

4樓:

這個把你們教科書上的延時程式改改就行了。子程式定時一秒,然後主程式中迴圈60次。

51微控制器組合語言學習軟體,51微控制器用組合語言需要什麼軟體?

我想告訴你,keil可以編輯彙編的檔案.你建好一個project後,在source group 1上點右鍵,選add files to group source group 1 這時,就可以選中你的asm檔案 要選asm檔案得先把對話方塊中的檔案類弄選為 雙擊就可以新增到source group 1...

用匯編怎麼寫51微控制器的延時程式

哈爾濱微控制器 假定晶振是12m的 cpu at89x51mov r0,10 這條是1us 一個機器週期 執行1次 1us djnz r0,這條是兩us 兩個機器週期 執行10次 2 20us 一共 1us 20us 21us 也就是 總的時間 1us 2 r0 us 呵呵,我大概給你說說吧,例如m...

在51微控制器中用組合語言rlca為什麼左移兩位

51微控制器中,rlc a是帶進位的迴圈左移,所以執行的結果不是將低位清0,要想將低位清零,實現點亮兩個燈可以採取的方法 1 直接賦值實現 a mov p1,0fch b mov a,p1 anl a,0fch mov p1,a 2 用迴圈命令,但每迴圈一次,需要將c清0mov a,p1 clr c...