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...