使用8051单片机进行计数器/计时器计算和编程

本文概述

  • 计时器和计数器之间的区别
  • 计时器延迟
  • 正常循环延迟
在应用软件中, 延迟是影响软件开发过程的重要因素之一。但是, 正常延迟将不会提供特定的结果来克服实现计时器延迟的问题。
计数器和计时器是微控制器的硬件组件, 在许多应用中使用该计数器来提供带有计数脉冲的宝贵时间延迟。计数器和计时器都通过使用软件技术来实现。
计时器和计数器之间的区别让我们看一下区分计时器和计数器的几点, 如下所示:
计数器 小时
考虑到与外部输入引脚(T0, T1)相对应的1到0的跳变, 该寄存器将递增。 寄存器在每个机器周期内递增。
计数器使用外部信号来计数脉冲。 计时器使用内部时钟信号的频率, 并产生延迟。
最大计数率是振荡器频率的1/24。 最大计数率是振荡器频率的1/12。
计时器延迟【使用8051单片机进行计数器/计时器计算和编程】让我们看一下使用timer1和mode2(T1M2)生成时间延迟的程序:
#include< reg51.h> void main(){unsigned char j; TMOD=0x20; //set the timer mode//for(j=0; j< 2; j++)//double the time delay//{TL1=0x19; //set the time delay//TH1=0x00; TR1=1; //timer is on//While(TF1==0); //check the flag bit//TF1=0; }TR1=0; //timer is off//}

正常循环延迟
void delay(){unsigned int j; for(j=0; j< 30000; j++); }

    推荐阅读