微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > holtek单片机图文全面详解

holtek单片机图文全面详解

时间:09-13 来源:电子发烧友网 点击:

、堆栈未满且相关内部中断允许位打开,定时/计数器溢出时会发生内部中断。对于只有一个定时/计数器的单片机将调用地址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单片机—看门狗定时器和节电模式

看门狗定时器用于程序防止单片机死机,或进入死循环。一般用在

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top