关于定时器、计数器、中断的一些关键点:
MODE0的定时设定:
TLx的值应为计数值COUNT除以32的余数,即:
TLx=COUNT MOD(%) 32
THx的值应为计数值除以32的商,即:
THx=COUNT32
以设计时间为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、MOV TLx,#(8192-COUNT)%32
MOV THx,#(8192-COUNT)32
4、检查TFx是否溢出JBC TFx
MODE1的定时设定:
1、MOV TMOD,#01H (T0)定时器(内部输入)
MOV TMOD,#10H (T1)定时器(内部输入)
MOV TMOD,#05H(计数器T0)
MOV TOMD,#50H(计数器T1)
2、SETB TRx启动定时器
3、MOV TLx,#(65536-COUNT)%256
MOV THx,#(65536-COUNT)256
4、检查TFx是否溢出JBC TFx
MODE2的定时设定:
1、MOV TMOD,#02H (T0)定时器(内部输入)
MOV TMOD,#20H (T1)定时器(内部输入)
MOV TMOD,#06H(计数器T0)
MOV TOMD,#60H(计数器T1)
2、SETB TRx启动定时器
3、MOV TLx,#(256-COUNT)
MOV THx,#(256-COUNT)
4、检查TFx是否溢出JBC TFx
外部中断设定:
1、ORG 03H(13H) INT0(INT1)外部中断起始地址
2、JMP ZHONGDU中断时跳至中断子程序ZHONGDU
3、MOV IE,#81H INT0中断使能
MOV IE,#84H INT1中断使能
4、MOV IP,#01H INT0中断优先
MOV IP,#04H INT1中断优先
5、MOV TCON,#00H(设定/INT0为电平触发)
MOV TCON,#01H(设定/INT0为下降沿触发)
MOV TCON,#00H(设定/INT1为电平触发)
MOV TCON,#04H(设定/INT1为下降沿触发)
T0和T1中断要求:
1、设定中断起始地址
2、设定工作方式
3、设定计数值
4、设定中断使能