单片机TMOD说明 如有侵权请联系网站删除,仅供学习交流 单片机定时器工作模式TMOD设置 TMOD:定时器/计数器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER) 定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。 其格式为: TMOD结构图 ================================================================================= 其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,各位的说明: Ⅰ,GATE——门控制。 ●GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。 当INT0引脚为高电平时TR0置位,启动定时器T0; 当INT1引脚为高电平时TR1置位,启动定时器T1。 ●GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。 Ⅱ,C/T——功能选择位 C/T=0时为定时功能,C/T=1时为计数功能。 置位时选择计数功能,清零时选择定时功能。 仅供学习交流 如有侵权请联系网站删除,仅供学习交流 Ⅲ,M0、M1——方式选择功能 由于有2位,因此有4种工作方式 ================================================================ M1M0 工作方式 计数器模式 TMOD(设置定时器模式) 0 0 方式0 13位计数器 TMOD=0x00 0 1 方式1 16位计数器 TMOD=0x01 1 0 方式2 自动重装8位计数器 TMOD=0x02 1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 TMOD=0x03 单片机定时器0设置为工作方式1为TMOD=0x01;定时器1设置工作方式1时TMOD=0x10 没有用到的定时器一般设置为0 ================================================================ 初始化定时器0 TH0=(65535-50000)/256;Tl0=(65535-50000)%256; 在51单片机中,如果你的定时器0选择的是“方式一”,则表示定时器0的计数器从0开始加到50000,其中每加一次的时间为你的晶振频率的倒数。如12MHz,则每加一个数的时间为 1*12/12000000 秒。你的公式中是加50000次,即 50000*1*12/12000000 = 50MS。注:数值只能从0加到65535,否则就会溢出。如果需要定时的时间长,可在定时器中断函数中,使用全局变量计数。如使用你的公式进行定时器初始化,想要实现1S的定时,则等到全局变量从0加至20时,即定时器0发生20次中断,就可以了。 仅供学习交流 本文来源:https://www.wddqw.com/doc/dd36bfd507a1b0717fd5360cba1aa81145318f57.html