关于定时算法经典总结
扫描二维码
随时随地手机看文章
关于定时器、计数器、中断的一些关键点:
MODE0的定时设定:
TLx的值应为计数值COUNT除以32的余数,即:
TLx=COUNTMOD(%)32
THx的值应为计数值除以32的商,即:
THx=COUNT/32
以设计时间为8000微秒为例:
TLx=(8192-8000)%32=00
THx=(8192-8000)/32=06
设定方式0的步骤:
1、MOV TMOD,#00H(T0)定时器(内部输入)
MOV TMOD,#00H(T1)定时器(内部输入)
MOV TMOD,#04H(计数器T0)
MOV TOMD,#40H(计数器T1)
2、SETB TRx启动定时器
3、MOVTLx,#(8192-COUNT)%32
MOVTHx,#(8192-COUNT)/32
4、检查TFx是否溢出JBCTFx
MODE1的定时设定:
1、MOV TMOD,#01H(T0)定时器(内部输入)
MOV TMOD,#10H(T1)定时器(内部输入)
MOV TMOD,#05H(计数器T0)
MOV TOMD,#50H(计数器T1)
2、SETB TRx启动定时器
3、MOVTLx,#(65536-COUNT)%256
MOVTHx,#(65536-COUNT)/256
4、检查TFx是否溢出JBCTFx
MODE2的定时设定:
1、MOV TMOD,#02H(T0)定时器(内部输入)
MOV TMOD,#20H(T1)定时器(内部输入)
MOV TMOD,#06H(计数器T0)
MOV TOMD,#60H(计数器T1)
2、SETB TRx启动定时器
3、MOVTLx,#(256-COUNT)
MOVTHx,#(256-COUNT)
4、检查TFx是否溢出JBCTFx
外部中断设定:
1、ORG 03H(13H)INT0(INT1)外部中断起始地址
2、JMPZHONGDU中断时跳至中断子程序ZHONGDU
3、MOVIE,#81HINT0中断使能
MOVIE,#84HINT1中断使能
4、MOVIP,#01HINT0中断优先
MOVIP,#04HINT1中断优先
5、MOVTCON,#00H(设定/INT0为电平触发)
MOVTCON,#01H(设定/INT0为下降沿触发)
MOVTCON,#00H(设定/INT1为电平触发)
MOVTCON,#04H(设定/INT1为下降沿触发)
T0和T1中断要求:
1、设定中断起始地址
2、设定工作方式
3、设定计数值
4、设定中断使能