您当前的位置:五五电子网电子知识单片机-工控设备源码-程序定时器/计数器方式3的编程和应用 正文
定时器/计数器方式3的编程和应用

定时器/计数器方式3的编程和应用

点击数:7606 次   录入时间:03-04 11:51:14   整理:http://www.55dianzi.com   源码-程序

  方式3下的T0和Tl大不相同。T0工作在方式3时,TL0和TH0被分成两个独立的8位定时器/计数器。其中,TL0可作为8位的定时器/计数器,而TH0只能作为8位的定时器。此时T1只能工作在方式0、1或2。
  
  一般情况下,当定时器Tl用作串行口波特率发生器时,T0才设置为方式3。此时,常把定时器Tl设置为方式2,用作波特率发生器。
  
  假设某AT89S51单片机应用系统的两个外部中断源已被占用,设置定时器Tl工作在方式2,用作波特率发生器。现要求增加一个外部中断源,并控制P1.0引脚输出一个5 kHz(周期为200μs)的方波。假设系统时钟为12 MHz。
  
  基本思想:设置TL0工作在方式3计数模式,TL0的初值设为0FFH,当检测到T0引脚信号出现负跳变时,TL0溢出,同时向CPU申请中断,这里T0引脚作为一个负跳沿触发的外部中断请求输入端。在中断处理子程序中,启动TH0,TH0事先被设置为方式3的100 μs定时,从而控制P1.0输出周期为200 μs的方波信号,如下图所示。

 1101 

      (1)初值X计算。TL0的初值设为0FFH。
  
  5 kHz方波的周期为200 μs,因此TH0的定时时间为100μs。TH0初值X计算如下
  1102

       
  (2)程序设计。参考程序如下:

     




本文关键字:计数器  定时器  源码-程序单片机-工控设备 - 源码-程序