51-定时器、寄存器 新手小白做笔记如有建议希望能够指出十分感谢51定时器存在于单片机内部其电路运行也在内部完成作用1.实现软件计时或使程序隔一段固定时间完成一项操作 2.代替长时间的延时提高CPU运行效率和处理速度原理根据时钟的输出信号每隔一段固定的时间计数单元的数值就加一直到设定的提醒值计数单元就会向中断系统发出中断申请使程序跳转到中断服务函数中执行工作模式见图TL0/1即定时器0/1的低八位TH0/1即定时器0/1的高八位最常用的模式一最多可记数2^16次方-165535两个字节65535再加一就为0. TF即标志位到标志位就会申请中断左边部分为时钟为中间部分的计数单元提供脉冲一次脉冲就加一右边部分为中断系统时钟SYSclksystem clock 系统时钟即晶振周期由此确定时钟提供脉冲的时间也可由外部引脚提供T0 PinC/T中C为counterT为timer赋值0则选择T即定时器模式赋值1则选择C即计数器模式后面的开关用于启动或暂停定时器时钟周期一次脉冲的时间计算如果是12分频12T则为12/晶振赫兹6分频6T则为6/晶振赫兹。中断系统STC89C52的中断系统如图开关的连接由寄存器控制单片机可通过配置寄存器来控制内部电路的连接寄存器连接软硬件的媒介在单片机中寄存器是一段特殊的RAM存储器。不仅可以存储读取数据而且每个寄存器后面都连接了一根导线以控制电路连接方式。定时器/计数器中的寄存器TCON即timer control其中TF为标志位timer flagTR为timer run定时器运行和GATE门控端以及外部引脚INT1一起控制门控端通过非门会输出相反的信号如门控端输出1经非门后变为0再和INT1形成或门的关系两个信号中只要有1荆或门后就输出1信号均为0才输出0最后和TR形成与门的关系两个信号只要有0最后就输出0全为1才输出1最终控制定时器启动暂停可位寻址表示可以给这个寄存器中的每一位单独赋值不可位寻址即只能整体赋值十六进制在头文件REGX52.H中就已经有sfr和sbit声明了寄存器地址所以在程序中就可以直接对寄存器操作TMOD(定时器模式)C/T解释同上中断寄存器ET,EX,ES均为中断允许位理解为允不允许对应位置中断1允许0不允许EA为CPU的总中断控制位1则CPU开放申请0则CPU屏蔽所有中断申请