ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:MOV TMOD,#00000100B
MOV TL0,#03CH
MOV TH0,#0B0H
MOV R0,#0
MOV A,#0
MOV DPTR,#CASE
MOV R2,#10
SETB TR0
LOOP:MOV 30H,TL0
MOVC A,@A+DPTR
MOV P1,A
MOV A,TL0
LOOPY:CJNE A,30H,LOOPX
MOV 30H,TL0
SJMP LOOPY
LOOPX:INC R0
MOV A,R0
DJNZ R2,LOOP
SJMP MAIN
CASE:DB 40H,4FH,24H,30H,19H
DB 12H,02H,78H,00H,10H
RET
END
第五行和第六行在整个程序的作用是什么,是不是可有可无呢,还有第五行的#03CH加1之后是什么多少呢?怎么算呢?一经算出,立即采纳
TL0的作用 是啥呢 ???
追答TL0是系统寄存器,只要程序里开启了定时器0,那么TL0和TH0组成的16位定时器器就会累加(有些芯片是累减),你对它赋值就会影响它累加(累减)到0的时间,也就是说TL0和TH0的作用就是确定产生定时器0中断标志的时间
楼主要遵守诺言:“一经算出,立即采纳”。我已经一个个帮你算出
,这只是个选择程序目的是跳到LOOPX,为什么 这么说呢,
追答不好意思,说错了,没死循环。这步可以理解为扫描按键,每给P3.4一个脉冲,程序跳到LOOPX,
楼下Small_tiny 讲得挺细的,