1. 单片机里边,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
2. 单片机定时里 TH0=(65536-45872)/256; TL0=(65536-45872)%256; 这两句 为什么每算完一次就是50MS
/256和%256 是用于计算TH,和TL的值。即高8位,和低8位。
要了解定时器计数一次是多久,例如:定时器对系统时钟计数,系统时钟周期1US,那么定时器1US计数一次。要计数1MS,那么就计数1000次,计算方法:
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
依次类推。
50MA定时初值应该是50000,但考虑到中断延迟,故把常数改为了45872。
前一个求商后赋值给TH0,后一个求余数赋值给TL0
相当于:
TH0=(65536-100)>>8,所以得到16位的高八位。
TL0=(65536-100)&0x00ff,所以得到16位的低八位。
TH0=(65536-100)/256 ;//这是定时100us时高8位的值。
TL0=(65536-100)%256;//这是定时100us时低8位的值。
(2)单片机tl扩展阅读:
(1)单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。
(2)单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。
(3) 单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。
(4)单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。
3. 单片机中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中断,转而去执行中断处理程序;所以说,定时器/计数器是单片机中效率高而工作灵活的部件。
4. 单片机 程序中的 EA EX ET TR TH TL什么意思
EA是总中断允许位,EX是外部中断允许位(EX0,EX1分别指外部中断INT0,INT1),ET是内部定时器/计数器中断允许位,TR定时器/计数器启动位,它们都是高电平1有效。TH、TL分别指定时器/计数器的高8位和低8位(后面加0/1表示定时器/计数器0/1,如TH0=255表示给定时器0的高八位赋初值255)。
5. 单片机的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。计数初值可能有误,我根据自己的记忆算的,反正根据自己的需要算吧~~~)编好程序后,单片机会自动根据初始值计时,根据需要进行高低脉冲转换,然后由脉冲的改变产生中断。