⑴ 单片机的TH和TL应怎么理解和怎么用(C语言)
TH,TL是定时中断中写初始值用的,定时器T0,T1定时中分别对应TH0/TL0和TH1/TL1,初始值是把需要定时的十进制时间写成单片机中16进制机器时间,当然并不是把十进制直接改成十六进制,机器周期时间不全相同,初始值可以根据自己的需要选用不同的算法,(比如需要产生1ms的方波,即500us的高电平,500us的低电平,如果你选用T0方式0产生500us定时,晶振fosc=12MHz,那么初始值是F00CH,把0CH写入TL0,把0F0H写入TH0。计数初值可能有误,我根据自己的记忆算的,反正根据自己的需要算吧~~~)编好程序后,单片机会自动根据初始值计时,根据需要进行高低脉冲转换,然后由脉冲的改变产生中断。
⑵ 单片机中TH0和TL0是什么意思
TH 0和TL0都是单片机的8位定时器。TH 0中的H即为HIGH缩写,它是表示定时器高八位。TL 0中L即为LOW缩写,它所代表为低八位。
单片机定时器的工作就是,当低八位定时器满溢后,向高八位进行进位。两个八位的TH 0和TL 0构成了单片机的16为定时/计数器。
8051系列单片机有两个定时器:T0和T1,分别称为定时器和定时器T1,这两个定时器都是16位的定时器/计数器;8052系列单片机增加了第三个定时器/计数器T2;它们都有定时或事件计数功能,常用于时间控制、延时、对外部时间计数和检测等场合。
8051单片机的两个定时器T0和T1分别都由两个特殊功能寄存器组成;T0由特殊功能寄存器TH0和TL0构成,而T1则是由TH1和TL1构成。
作为定时器使用时,定时器计数8051单片机片内振荡器输出经过12分频后的脉冲个数,即:每个机器周期使定时器T0/T1的寄存器值自动累加1,直到溢出,溢出后继续从0开始循环计数;所以,定时器的分辨率是时钟振荡频率的1/12。
作为计数器使用时,通过引脚T0(P3.4)或T1(P3.5)对外部脉冲信号进行计数,当输入的外部脉冲信号发生从1到0的负跳变时,计数器的值就自动加1;计数器的最高频率一般是时钟振荡频率的1/24。
由此可知,不论是定时器还是计数器工作方式,定时器T0和T1均不占用CPU的时间,除非定时器/计数器T0和T1溢出,才可能引起CPU中断,转而去执行中断处理程序;所以说,定时器/计数器是单片机中效率高而工作灵活的部件。
⑶ 单片机里边,TH0是什么,TL0是什么,还有那个0xee的0x是什么意思
51单片机基本型片内集成两个可编程的定时/计数器:T0和T1.以T0为例,通过编程指定,T0既可以作为定时器,也可以作为计数器。T0由两个8位寄存器组成一个16位的定时/计数器。其中高8位记为TH0,低8位记为TL0.类似,T1也由TH1和TH0组成。计算机中十六进制数要加前缀0x。十六进制数0-9与十进制相同,10开始就用字母来表示,如A、B、C、D、E、F,分别表示10,11,12,13,14,15.如果是16,则要往前进一位。如0x10则表示十进制的16.至于0xee,相当于16*14+14=238
⑷ 单片机中th1和tl1是干什么的
1、TH1和TL1 分别指的是单片机中定时器1的Timer寄存器的高八位,低八位。
2、定时器的核心部件是一个加法(也有减法)的计数器,其本质是对秒冲进行计数。
只是计数脉冲来源不同:
如果计数脉冲来自系统时钟,则为定时方式,此时定时器/计数器每12个时钟或者每1个时钟得到一个计数脉冲,计数值加1;
如果计数脉冲来自单片机外部引脚(T0为P3.1,T1为P3.5),则为计数方式,每来一个脉冲加1。
3、定时器1作为计数器时,TH1和TL1 保存计数值,当计数值到达最大时,可产生溢出标志位TF1。
定时器1作为定时器时,先对TH1和TL1设置初值(可以控制溢出时间,达到定时的目的),然后对系统内部时钟进行计数,当溢出引起中断时,需在定时器1的中断服务函数中重新对TH1和TL1赋初值。