在单片机编程时,tmod寄存器是一个非常重要的寄存器。正确设置tmod寄存器可以影响定时器的计数方式、计数范围以及触发方式等,因此对于学习嵌入式系统编程的人来说必须掌握如何设置tmod寄存器。
1.tmod寄存器初始化怎么设置
在单片机初始化时需要设置tmod寄存器,通常在PCON(电源控制寄存器)中将SMOD位=0,即可使波特率加倍失效,便于直接使用P3.0和P3.1做为普通的IO口使用,而不用作串口(TXD和RXD)功能;再根据实际需要配置tmod寄存器。例如,要将计数器1设为16位自动重装模式并使用系统时钟输入,则应当将计数器1使用方式设置为001b(M1 = 0,M0 = 0),同时选择定时器1时钟源为外部时钟源(T1X12 = 0)。
2.tmod的值怎么确定
tmod的值由两个位分别控制Timer 0和 Timer 1的工作模式,因此需要根据实际需要设置tmod的值。在tmod寄存器中,M1/M0和GATE/T0X都是标志位,用于表示Timer的工作模式、计数方式以及触发源等信息。其中,M1/M0用于设定计数器时钟源和计数方式,共有四种工作模式:00为13位TIMER0或者8位TIMER1计数模式;01为16位TIMER1计数模式;10为8位自动重装载TIMER0或者TIMER1计数模式;11为两个8位计数器分别使用,TIMER0由T0引导,TIMER1由TR1引导的计时器/计数器。而GATE/T0X则用于选择外部输入信号作为计数脉冲还是内部时钟作为计数脉冲。
3.总结
正确设置tmod寄存器十分重要,可保证单片机的正常运行。在进行单片机编程时应认真研究数据手册中tmod寄存器相关设置说明,并理解各标志位的含义与用途。只有充分理解tmod寄存器的功能,才能够在实际应用中取得更好的效果。