欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
匯編用單片機(jī)定時(shí)器0產(chǎn)生1s時(shí)間不準(zhǔn)
[打印本頁(yè)]
作者:
心靈的塵埃
時(shí)間:
2019-7-28 15:44
標(biāo)題:
匯編用單片機(jī)定時(shí)器0產(chǎn)生1s時(shí)間不準(zhǔn)
想做一個(gè)60秒倒計(jì)時(shí)的單片機(jī)程序,晶振為11.0592,在用定時(shí)器0產(chǎn)生1S的時(shí)間時(shí)發(fā)現(xiàn)1s的時(shí)間產(chǎn)生不準(zhǔn),設(shè)定的時(shí)間為每50ms產(chǎn)生一次中斷,每20次秒減一,實(shí)際測(cè)試時(shí),每20次秒減一大概為實(shí)際時(shí)間的7秒左右,每30次減一秒的時(shí)間和實(shí)際時(shí)間比較接近,想問(wèn)一下是哪里出的問(wèn)題,謝謝!
SharedScreenshot.jpg
(158.51 KB, 下載次數(shù): 43)
下載附件
2019-7-28 15:43 上傳
單片機(jī)匯編語(yǔ)言源程序如下:
SECOND EQU 30H
TCOUNT EQU 31H
ORG 0H
JMP START
ORG 0BH
JMP TIMER0
START: //初始化
SETB EA
SETB ET0
MOV TMOD,#01H
MOV TH0,#(65536-46080)/256
MOV TL0,#(65536-46080) MOD 256
SETB TR0
MOV DPTR,#LED ;數(shù)碼管顯示
MOV SECOND,#60 ;60S
MOV TCOUNT,#30
LOOP: //數(shù)碼管掃描
MOV A,SECOND
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P0,A
CLR P2.0
LCALL DELAY
SETB P2.0
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
CLR P2.1
LCALL DELAY
SETB P2.1
JMP LOOP
DELAY: //延時(shí)
MOV R0,#2
D1: MOV R1,#50
DJNZ R1,$
DJNZ R0,D1
RET
TIMER0: //定時(shí)器0中斷
PUSH ACC
PUSH PSW
SETB RS0
MOV TH0,#(65536-46080)/256
MOV TL0,#(65536-46080) MOD 256
DEC TCOUNT
DJNZ TCOUNT,NEXT //產(chǎn)生1S時(shí)間
MOV A,SECOND
CJNE A,#00,NEXT1 //判斷60S是否減到0
MOV TCOUNT,#20
MOV SECOND,#60
POP PSW
POP ACC
RETI
NEXT:
POP PSW
POP ACC
RETI
NEXT1:
MOV TCOUNT,#30 //
DEC SECOND //秒減一
JMP NEXT
LED: //數(shù)碼管段碼
DB 0x3f
DB 0x06
DB 0x5b
DB 0x4f
DB 0x66
DB 0x6d
DB 0x7d
DB 0x07
DB 0x7f
DB 0x6f
END
作者:
s414545584
時(shí)間:
2019-7-28 22:45
(65536-46080)/256
作者:
Y_G_G
時(shí)間:
2019-7-29 08:39
定時(shí)器進(jìn)入中斷之后并沒(méi)有重新啟動(dòng)定時(shí)器,中斷返回之前要先啟動(dòng)定時(shí)器
晶振最好是用12MHZ的,或者是用片上的24MHZ,11.0592MHZ的時(shí)間不好計(jì)算
作者:
yzwzfyz
時(shí)間:
2019-7-29 08:49
你用的是硬延時(shí),標(biāo)準(zhǔn)的51是很容易計(jì)算準(zhǔn)確的。但果是改良51就麻煩了,它采用流水取指結(jié)構(gòu),取值會(huì)提升1-12倍,你必須弄清楚執(zhí)行的指令所占用的時(shí)鐘周期,但同樣一條指令可能執(zhí)行周期會(huì)不一樣(要看這條指令能不能流水)。
估計(jì)你不能明白以上說(shuō)明,查看一下相關(guān)流水取指架構(gòu),或CALL我。
作者:
wj_yuq
時(shí)間:
2019-7-30 11:17
必然的,11.059本身就不是整數(shù),等分多少也成不了整數(shù),準(zhǔn)不了;換成整數(shù)的晶振試試是個(gè)好辦法。其它的誤差先不管,至少能分出整數(shù)。
作者:
jiangkeqin_sy
時(shí)間:
2019-7-30 15:03
匯編定時(shí)應(yīng)該準(zhǔn)確的啊定時(shí)器進(jìn)入中斷之后并沒(méi)有重新啟動(dòng)定時(shí)器,中斷返回之前要先啟動(dòng)定時(shí)器
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1