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次。

組合語言微控制器,組合語言怎麼寫入微控制器

rlc 是帶進位的迴圈左移,rlc a即將a的內容左移一位,將進位位c中的值移到累加器a的最低位,a的最高位移到c裡。譬如說 設a 01000001,c 1 則如果執行rl 則a 10000010,c 1 a所有位左移一位,最低位補零,c不參加移位操作,保持原值不變 如果執行rlc後,則a 1000...

微控制器組合語言程式設計,全國微控制器組合語言程式設計師

org 0000h main mov dptr,3000h clr r0 clr r1 clr r2 mov r3,100 loop mov a,dptr clr c cjne a,0h,loop1 inc r0 djnz r3,loop loop1 rl a jc fushu inc r1 djn...

大學80C51微控制器程式設計題,請使用組合語言編寫,謝謝

1 mov a,r1 anl a,0f0h xch a,r2 anl a,0fh orl a,r2 mov r3,a 2 mov r0,30h mov 40h,0 mov 41h,0 mov r2,16 loop mov a,r0 add a,40h mov 40h,a mov a,41h addc...