holtek单片机图文全面详解
、堆栈未满且相关内部中断允许位打开,定时/计数器溢出时会发生内部中断。对于只有一个定时/计数器的单片机将调用地址08H的子程序。对于有两个定时/计数器的单片机,定时/计数器0中断将调用地址08H的子程序,而定时/计数器1中断将调用地址0CH的子程序。内部中断发生时,中断请求标志位TF、T0F或T1F被清零,且EMI位将被清零来屏蔽其它中断 。
中断优先级
注意:此表应用于HT48R70A-1/HT48C70-1和HT48R50A-1/HT48C50-1,它们拥有两个定时/计数器,即为TMR0和TMR1。而HT48R10A-1/HT48C10-1和HT48R30A-1/HT48C30-1只有一个定时/计数器,定时/计数器0代表唯一的定时/计数器,即TMR。
8位定时/计数器结构
16位定时/计数器结构
定时/计数器的相关寄存器(续)
定时/计数控制寄存器 – TMRC,TMR0C,TMR1C
配置定时/计数器输入时钟源
定时/计数寄存器–TMR, TMR0, TMR0L/TMR0H, TMR1L/ TMR1H
定时器模式
事件计数模式
可编程分频器(PFD)和蜂鸣器的应用
TIMER应用举例:
TMR是向上计数的寄存器
l在定时或计数时,当计数到OFFH时,再來一个CLK,计数器就会溢出(在中断开启且堆栈未满时,就会发生TIMER中断),计数器重新装载初始值,并从此初始值开始重新计数。
寄存器TMR或者TMR0L/TMR0H写入初始值
控制寄存器TMRC设置工作模式、时钟、触发条件,开关。
TMRC控制寄存器
TIMER定时模式
TIMER定时模式时时间计算
(以上面程序为例)
条件: OSC : Crystal = 4 MHz
Timer source: system clock
计算每次发生中断的时间间隔T=?
PSC2 PSC1 PSC0 = 000
f INT = fsys/2 =2MHZ
t = 1/ f INT = 0.5us
T= (256-96)* t=160*0.5us= 80us
TIMER 计数模式
a) 將TMRC中 设置为
TM1 TM0 = 01定时器就工作于定时模式 ,计数模式和定时模式原理相同,只是计数器的时钟源选择不同。
b) 计数器的时钟源由芯片的
TMR腳输入。
c) TE= 0 上升沿计数 /1 下降沿计数
TIMER 脉宽測量模式
(a) TMRC中设置 TM1,TM0=11
TE= 0 脉宽下降沿开始计数/1 脉宽上升沿开始计数
TO=1 脉宽测量启动,測量完一次会被清0,再次測量必須重新设置此位
(b) 如果TO,TE=1, TMR腳上脉冲上升沿开始计数,下降沿停止计数。測量结果存放在TMR中。
编程注意事项
当定时/计数器运行在定时器模式时,定时器的时钟源是使用内部系统时钟或RTC,与单片机所有运算都能同步。在这个模式下,当定时器寄存器溢出时,单片机将产生一个内部中断信号,使程序进入相应的内部中断向量。对于脉冲宽度测量模式,计数器的时钟源也是使用内部系统时钟或RTC,但定时器只有在正确的逻辑条件出现在外部定时/计数器输入引脚时才执行动作。当这个外部事件没有和内部定时器时钟同步时,只有当下一个定时器时钟到达时,单片机才会看到这个外部事件,因此在测量值上可能有很小的差异,需要程序设计者在程序应用时加以注意。在定时器配置为外部事件计数模式时,它的时钟来源是外部事件,和内部系统时钟或者定时器时钟不同步。
holtek单片机—振荡器
l三种系统时钟可供选择:看门狗定时器也有多种时钟源选择,另外还有实时时钟RTC
l三种方法产生系统时钟:使用外部晶体/陶瓷振荡器、外部RC电路或是内部RC时钟源
晶体/陶瓷振荡器
外部RC振荡器
三种振荡电路
RTC振荡器
如果选择RTC作为定时/计数器的时钟源,则即使单片机工作在暂停即HALT时,定时/计数器依然有效工作,当定时器溢出时,还会发出正常的内部中断信号,此信号使单片机从HALT状态下被唤醒,并且继续正常工作直到下一个"HALT"指令被执行。
看门狗定时振荡器
WDT振荡器是一种完全独立在芯片上自由动作的RC振荡器,它在5V条件下的周期时间典型值是65us周期,且不需外部的器件搭配。当单片机进入暂停模式时,系统时钟将停止动作,但WDT振荡器继续自由动作且保持看门狗有效。某些应用中为降低功耗,可通过掩膜选项来关闭WDT振荡器。
系统的暂停和唤醒
暂停模式是通过"HALT"指令实现且造成如下结果:
系统振荡器将被关闭
在RAM芯片和寄存器上的数据保持不变
假如WDT时钟源是来自WDT振荡器,WDT和WDT预分频器(Prescaler)将被清零然后再重新计数
所有输入/输出端口状态保持不变
PDF标志位被置位而TO标志位被清零
holtek单片机—看门狗定时器和节电模式
看门狗定时器用于程序防止单片机死机,或进入死循环。一般用在
Holtek单片机 相关文章:
- LT3751如何使高压电容器充电变得简单(08-12)
- 三路输出LED驱动器可驱动共阳极LED串(08-17)
- 浪涌抑制器IC简化了危险环境中电子设备的本质安全势垒设计(08-19)
- 严酷的汽车环境要求高性能电源转换(08-17)
- 适用于工业能源采集的技术 (08-10)
- 单片式电池充电器简化太阳能供电设计(08-20)