tmod 0x20是指51单片机的定时器/计数器模式控制寄存器TCON中的T1M1位,这是T1的工作方式之一。当T1M1为1时,T1工作在模式2下,即作为8位自动重载计数器工作。
在8位自动重载计数器工作模式下,T1的计数值被自动重载为初始值TH1和TL1的和,并且T1的中断标志位TF1被自动清零。这种模式下,T1通常用于产生一定的时间延迟。
在模式2下,T1的计数范围为0~255,计数周期取决于晶振频率、分频系数、定时器的工作方式等因素,可以根据公式T=(65536-FOSC/12/分频系数)*计数值计算出T1的计数周期,其中FOSC为晶振频率。
通常我们使用T1的中断功能,即当T1计数器计满并被自动重载之后,T1的中断标志位TF1被置位,此时可以通过中断服务函数进行外部中断响应。
要将T1设置为模式2,即使T1M1=1。在51单片机中,可以通过以下程序来设置T1的工作方式:
MOV TCON,#0x10 ;设置T1的GATE=0,TR1=0,T1M1=1,T1M0=0
MOV TH1,#initial_value ;设置T1的初始值
MOV TL1,#initial_value
其中initial_value根据实际需要进行设置。此后,T1将以8位自动重载计数器的方式工作。
当使用T1作为8位自动重载计数器时,需要注意T1计数值是否重载成功,以及中断标志位的清零等问题。此外,需要根据实际需要设置T1的中断优先级、中断服务程序等。