单片机:若系统晶振频率是12MHZ,利用定时器/计数器1定时1ms,在方式0下的定时初值为 5
2、定时1ms=1*1000=1000us;
3、工作在方式0下:最大计数值是2^13=8192;
4、定时初值=8192-(1*1000)=7192;
5、换算成十六进制数为:定时初值=1C18H。
定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。
定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。
此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。
扩展资料
定时器工作流程介绍:
定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时)
1、确定使用哪个定时器,使用哪种方式,这一步通过TMOD设置,TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的;
其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD = 0X01,就说明定时器0工作在方式1。
2、接下来就要设置定时的时间,用定时器定时50毫秒,可以用这种方式TH0 = (65535 - 50000) / 256,TL0 = (65535 - 50000) % 256;
可以这样理解:因为这是定时器的初值,也就是说计数脉冲就是在这个数的基础上向上递增,到达65535后就溢出产生中断。
3、第三步打开中断,使用IE寄存器,首先打开总中断EA = 1,这一步是所有中断所必须的,然后打开定时器0中断,ET0 =1。
4、这时准备工作结束,启动定时器,使用TCON寄存器,TR0 = 1,实现了一个50毫秒的定时。
参考资料来源:《单片机原理及应用》 曹巧媛 编著 电子工业出版社 第四章 单片机定时功能应用
第一节 定时器/计数器的结构与工作原理
参考资料来源:百度百科--定时器中断
定时1ms的话,初值为:2^13-1000/1=7192=1110000011000,
这个数字的高8位就是TH1,也就是TH1=E0H,
低五位i为11000,在其高位添加3个0,变成00011000,成为TL1,也就是TL1=18H。
不懂的地方随时回复我。
希望我的回答能帮助到你。