通过51单片机定时器/计数器实现精确延时

发布者:HarmonySpirit最新更新时间:2017-12-29 来源: eefocus关键字:51单片机  定时器  计数器  精确延时 手机看文章 扫描二维码
随时随地手机看文章

  MCS-51单片机内部共有两个16位可编程定时器,计数器,即TO、Tl。既有定时功能,又有计数的功能。每个定时器都是由两个8位的特殊功能寄存器THi和TLi组成(i=0、1)。TMOD是TO和Tl的工作方式控制寄存器,TCON是TO和Tl的运行状态控制寄存器。在实际应用时,应首先根据需要对这些寄存器进行初始化,即设置TO和Tl的工作方式并对TO和Tl定时器装入初始值以得到精确的定时时间。TO和Tl的工作方式及运行状态是由TMOD和TCON两个特殊功能寄存器控制的,而TMOD和TCON是由用户所编的程序控制的。
  
  定时器的核心是一个加l计数器,加l计数器的脉冲有两个来源:一个是系统时钟振荡器,另一个是外部脉冲,计数器对脉冲进行计数。当定时器/计数器用作定时器时是对机器周期进行计数,每经过一个机器周期计数器就加1,不断自加直到数满溢出,定时器的定时时间不仅与计数器初值有关,而且与系统的时钟频率有关。当定时器/计数器用作计数器时,计数器对来自输入引脚TO和Tl的外部脉冲计数。
  
  MCS-51每个定时器有4种工作方式:方式0是13位计数结构,计数器由TLi的8位与THi的低5位构成,定时范围为(1—213)个机器周期;方式1是16位计数结构,定时范围为(1~216)个机器周期;方式2是8位计数结构,计数器由TLi的8位组成,当定时器溢时.THi的值能自动装入TLi中,并在此值基础上自动计数;在方式3下,也是8位的计数器,并且TO的各控制位和引脚归TLO使用,THO借用Tl的各控制位和引脚信号,Tl只能按不需要中断的方式0、1、2工作。通常用做串行通信的波特率发生器。
  
  在实际应用中,定时器可以采用查询和中断方式,用查询的方式,程序执行的效率比较低,比较常用的是中断方式,使用定时器/计数器延时从程序的执行效率和稳定性两方面考虑都是最佳的方案。
  
  下面我们看一个例子,需要延时为50ms,我们可以取定时器TO在工作方式1,计数初值为65536-50000=15536=3CBOH,用汇编编写中断服务程序如下:

  从定时器溢出,发出中断要求,系统接受该中断要求,执行类似“LCALLXX”的动作,将正在执行的程序PC低位、高位压人堆栈,然后加载中断失量地址(0013H)到PC中,这一段过程要耗3个机器周期。在中断服务程序中把初值重新装入定时器并开启计数器①~⑥共占了10个机器周期,TLO初值应该赋值#OBDH。因为而此段位于0013H的程序超过8个字节会影响定时器1的中断入口(OOIBH),所以,要么0013H放一个中断跳转子程序,要么压缩语句。我们选用后者。因为在中断子程序中没有用累加器A,也没有运算操作,所以程序①、②、⑦、⑧可以省去。将程序③、⑥省去使计数器0-直打开,从⑤赋值后开始计算。程序修改为:


关键字:51单片机  定时器  计数器  精确延时 引用地址:通过51单片机定时器/计数器实现精确延时

上一篇:通过单片机软件实现精确延时
下一篇:基于8051单片机的多功能用电故障控制器的实现

推荐阅读最新更新时间:2024-03-16 15:50

关于51单片机IO引脚的驱动能力与上拉电阻设计方案
单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是 单片机 的输出电压。但是,程序控制不了单片机的输出电流。 单片机的输出电流,很大程度上是取决于引脚上的外接器件。单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为 灌电流 ,外部电路称为 灌电流负载 ;单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为 拉电流 ,外部电路称为 拉电流负载 。这些电流一般是多少?最大限度是多少? 这就是常见的 单片机 输出驱动能力的问题。 早期的 51 系列单片机的带负载能力,是很小的,仅仅用 能带动多少个 TTL 输入端 来说明的。P1、P2 和 P3口,每个引脚可以都带动 3 个 TTL
[单片机]
关于<font color='red'>51单片机</font>IO引脚的驱动能力与上拉电阻设计方案
基于51单片机的nrf24l01无线的接受和发射程序
通过灯的闪烁来判断数据的接受和发射 有接收端和发射段的程序 如果24L01用reg51那么两个设备都要用reg51,如果用reg52就都得用reg52! PC通过串口发送给单片机命令 ,单片机把命令通过24L01无线发送给另一个单片机,另一个单片机控制灯LED1,LED2,LED3,LED4闪烁。 无线发射程序: #include 2401.h #define uint unsigned int #define uchar unsigned char //1//sbit KEY1=P0^0; //发送按键 //1//sbit KEY2=P0^1; //1//sbit KEY3=P0^2; /
[单片机]
基于<font color='red'>51单片机</font>的nrf24l01无线的接受和发射程序
TIMER2定时器不能进入中断的问题
STM8S103的引脚封装图如下 是一个20管脚的51类型单片机,8Kflash 1kRAM。 STM8S207引脚封装如下 一个48引脚64KFLASH和6K的RAM,也是51单片机,但串口和定时器的功能多了。 从手册看,timer1是ADVANCED 定时器,timer 2 3是通用型定时器。 在移植过程中以为只要改动器件类型同时在stm8s.h内将 #ifndef __STM8S_H #define __STM8S_H #define STM8S207 //STM8S103 103注释掉并开通207的宏定义。 定时器初始化如下 void TIM1_Init(void) {
[单片机]
TIMER2<font color='red'>定时器</font>不能进入中断的问题
PIC18f2580下TMR0定时器初值设置方法
机器频率Fosc:单片机的振荡频率,如果用外置的晶振电路,晶振上会有频率标志,常用的有4MHz、8MHz、20MHz等,本例使用的是4MHz。 机器周期Tosc:机器频率的倒数,本例中Fosc=4MHz,Tosc=1/4=0.25us 指令周期:运行一条指令所需的时间,等于4个机器周期,本例中机器周期为0.25us,则指令周期为1us。 【注】PIC系列大部分为单指令周期,就是说一条指令运行只需要一个指令周期的时间。但有有几条指令,允许需要两个指令周期的时间;如RETURN、GOTO等;而有些指令需要1~2个指令周期,需要具体分析,如DECFSZ,如果无调整只需1指令周期,如果有跳转则需要2个指令周期。 定时时间的
[单片机]
探讨PC机与多MCS-51单片机间的串行通信设计
简介:本文主要探讨PC机与多MCS-51单片机间的串行通信设计,本系统软硬件在IBM PC/XT机和DICE系列的MCS-51单片机上进行过调试,运行良好,验证了其在 仿真平台的控制,现已用于实际系统,且特别适用于从机实时性要求较高的中小型工控系统。 引言 在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。它们大多由IBM-PC微机和MCS-51单片机组成。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。各单片机独立
[单片机]
探讨PC机与多MCS-<font color='red'>51单片机</font>间的串行通信设计
基于AT89C51单片机的微型PLC详解
可编程控制器PC(Programmable Controller),为与个人计算机PC(Personal Computer)相区别,可简称为PLC。它是按照成熟而有效的继电控制概念和设计思想,用先进的单片机技术来实现I/O的实时检测和控制,可靠性高,编程简单、易学,因此,得到广泛应用。 将PLC技术引进电工学、电力拖动课程,是课程建设现代化的重要措施。在教学经费相对紧张的情况下,我们自己动手,以AT89C51单片机为核心,设计并研制了LD型微型PLC,应用于继电控制实验,取得了良好的效果。 用单片机构成的PLC,实际上就是一个单片机测控系统。用这样一个程序控制的计算机系统去执行继电控制的梯形图程序,由于继电控制梯形图中各被
[单片机]
基于AT89C<font color='red'>51单片机</font>的微型PLC详解
INT1 中断五位计数器 PROTEUS 和51单片机教程
程序源代码如下: /* INT1中断5位计数 */ #include reg51.h typedef unsigned char uint8; typedef unsigned int uint16; sbit K2 = P3^4; void delay(uint16 x) { uint16 i,j; for(i = x; i 0; i --) for(j = 114; j 0; j --); } code uint8 LED_CODE = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF}; code uint8 Scan_BITs =
[单片机]
INT1 中断五位<font color='red'>计数器</font> PROTEUS 和<font color='red'>51单片机</font>教程
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved