如果你的程序是需要将查询结果展示在jsp页面上,你需要在jsp页面上使用js写定时器代码,参考SetInterval方法。
如果你的程序是桌面应用程序,你可以使用java的定时器Timer。当然,你的项目中如果使用了spring,那有更好的解决方案Quartz。
具体问题要具体分析了。
MOV TMOD,#00000001B 设定定时器0工作方式为1如果设为工作方式2,则MOV TMOD,#00000010B
如果设为工作方式0,则MOV TMOD,#00000000B
TMOD的M1M0位确定定时器工作方式:
M1M0工作方式 功能说明00方式0 13位定时器/计数器
01方式116位定时器/计数器
10方式2自动重载8位定时器/计数器
11方式3T0分为2个8位独立计数器,T1无方式3
TIME1S EQU 30HTIME50ms EQU 31H
ORG 0000H 程序入口
AJMP main
ORG 000BH TO中断入口
AJMP INT_T0
ORG 100H
main: MOV TIME1S,#0
MOV TIME50ms,#0
MOV TMOD ,#02H 写控制字,将T0设为方式2( 8位自动重装)
MOV TH0, #06H THO和TL0的计算为:2的16次方-(晶振*定时时间 /12)
MOV TL0, #06H TC =0FFH-06H= 6H =6===》延时时间为(2^8-TC)*12/16 =250us 定时时间为250us
SETB TR0 启动T0
SETB ET0 允许T0中断
SETB EA 开放CPU中断
LOOP: NOP
AJMP LOOP
INT_T0:PUSH PSW
PUSH ACC
INC TIME50ms
MOV A,TIME50mS
CJNE A,#200,INT_01 200次为TIME1S加1,此处时间为200*250us=50ms
MOV TIME50ms,#0
INC TIME1s
MOV A,TIME1S
CJNE A,#20,INT_01 此处再做20次即为1S
2020
MOV TIME1S,#0
此处你可以编你要的程序,我在这里将P3。1脚取反,每秒变一次电平
CPL P3.1
INT_01:POP ACC
POP PSW
RETI
END
注:以上设计为12M晶振,仿真通过。此方法并未达到精确的定时,因为8位定时器,要做好多4000次才完成1秒的定时。它的时间会延长了一点点,每一秒种有0。01秒的误差左右,要看你用的是什么单片机。若要精确定时建议用16位定时方式,这样误差会更小一点。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)