帮我解释一下单片机定时中断程序,每一条语句的详细详细含义。比如TMOD=0x11中的11是什么意思 20
帮我解释一下单片机定时中断程序,每一条语句的详细详细含义。比如TMOD=0x11中的11是什么意思.如图。...
帮我解释一下单片机定时中断程序,每一条语句的详细详细含义。比如TMOD=0x11中的11是什么意思.如图。
展开
展开全部
TMOD是一个8位的寄存器,不能位寻址,所以必须整体写入用来控制定时器模式的,低四位用来控制定时器T0,高四位控制T1。对于每个定时器的四位寄存器,低两位用来定义定时器的工作方式,方式一方式二等;第三位是功能选择位,定义计时器为定时或计数;第四位为门控位,用来决定INTx引脚输入电平的影响,可以理解为是否引入外部控制来控制定时器的启停动作。
TMOD=0x11,转为二进制就是00010001,即T0和T1的最低两位均为01,工作方式为方式1--16位定时器或计数器。第三位为0,设定T0,T1为定时器,对内部脉冲进行计数,用来折算时间。第四位也是0,说明不参考INTx引脚电平,由内部寄存器来控制定时器的启停。
TH0和TL0,是T0的初值,分别写入计时器的高八位和低八位,定时器从这个值开始进行加1计算,直到16位寄存器计满溢出则输出中断。TH1和TL1对应T1。
TR是定时器启动位,TR0和TR1分别对应T0和T1,TR=1时定时器启动,TR=0时停止。这里要注意,前面说的门控位,如果门控位为1,则定时器的启动除TR=1以外,还要求INTx引脚输入1。
ET0可以理解为T0的中断开关,只有ET0=1的时候,T0才可能输出中断。
EA则是中断的总开关,EA=0的时候,所有的中断都无效。
写的很繁琐,要是看不懂可以继续问我。
TMOD=0x11,转为二进制就是00010001,即T0和T1的最低两位均为01,工作方式为方式1--16位定时器或计数器。第三位为0,设定T0,T1为定时器,对内部脉冲进行计数,用来折算时间。第四位也是0,说明不参考INTx引脚电平,由内部寄存器来控制定时器的启停。
TH0和TL0,是T0的初值,分别写入计时器的高八位和低八位,定时器从这个值开始进行加1计算,直到16位寄存器计满溢出则输出中断。TH1和TL1对应T1。
TR是定时器启动位,TR0和TR1分别对应T0和T1,TR=1时定时器启动,TR=0时停止。这里要注意,前面说的门控位,如果门控位为1,则定时器的启动除TR=1以外,还要求INTx引脚输入1。
ET0可以理解为T0的中断开关,只有ET0=1的时候,T0才可能输出中断。
EA则是中断的总开关,EA=0的时候,所有的中断都无效。
写的很繁琐,要是看不懂可以继续问我。
展开全部
TMOD = 0x11; 定时器1和定时器0都工作在模式1(看TMOD寄存器的每个位定义)
TH0 = 0xfc; 定时器0的高八位值为0xfc
TL0 = 0x17; 定时器0低八位值为0x17(51定时器为加1计数,也就是从0xfc17加到0xffff产生中断)
TR0 = 1; 启动定时器0
ET0 = 1; 使能定时器0中断
EA = 1; 开启总中断
TH0 = 0xfc; 定时器0的高八位值为0xfc
TL0 = 0x17; 定时器0低八位值为0x17(51定时器为加1计数,也就是从0xfc17加到0xffff产生中断)
TR0 = 1; 启动定时器0
ET0 = 1; 使能定时器0中断
EA = 1; 开启总中断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TMOD是一个8位的寄存器,不能位寻址,所以必须整体写入用来控制定时器模式的,低四位用来控制定时器T0,高四位控制T1。对于每个定时器的四位寄存器,低两位用来定义定时器的工作方式,方式一方式二等;第三位是功能选择位,定义计时器为定时或计数;第四位为门控位,用来决定INTx引脚输入电平的影响,可以理解为是否引入外部控制来控制定时器的启停动作。
TMOD=0x11,转为二进制就是00010001,即T0和T1的最低两位均为01,工作方式为方式1--16位定时器或计数器。第三位为0,设定T0,T1为定时器,对内部脉冲进行计数,用来折算时间。第四位也是0,说明不参考INTx引脚电平,由内部寄存器来控制定时器的启停。
TH0和TL0,是T0的初值,分别写入计时器的高八位和低八位,定时器从这个值开始进行加1计算,直到16位寄存器计满溢出则输出中断。TH1和TL1对应T1。
TR是定时器启动位,TR0和TR1分别对应T0和T1,TR=1时定时器启动,TR=0时停止。这里要注意,前面说的门控位,如果门控位为1,则定时器的启动除TR=1以外,还要求INTx引脚输入1。
ET0可以理解为T0的中断开关,只有ET0=1的时候,T0才可能输出中断。
EA则是中断的总开关,EA=0的时候,所有的中断都无效。
TMOD=0x11,转为二进制就是00010001,即T0和T1的最低两位均为01,工作方式为方式1--16位定时器或计数器。第三位为0,设定T0,T1为定时器,对内部脉冲进行计数,用来折算时间。第四位也是0,说明不参考INTx引脚电平,由内部寄存器来控制定时器的启停。
TH0和TL0,是T0的初值,分别写入计时器的高八位和低八位,定时器从这个值开始进行加1计算,直到16位寄存器计满溢出则输出中断。TH1和TL1对应T1。
TR是定时器启动位,TR0和TR1分别对应T0和T1,TR=1时定时器启动,TR=0时停止。这里要注意,前面说的门控位,如果门控位为1,则定时器的启动除TR=1以外,还要求INTx引脚输入1。
ET0可以理解为T0的中断开关,只有ET0=1的时候,T0才可能输出中断。
EA则是中断的总开关,EA=0的时候,所有的中断都无效。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询