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