精华内容
下载资源
问答
  • 利用定时器计数器延时
    千次阅读
    2020-03-02 22:23:59

    @单片机使用定时器/计数器实现精确延时的方法

    单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。

    在实际应用中,定时常采用中断方式,如进行适当的循环可实现几秒甚至更长时间的延时。使用定时器/计数器延时从程序的执行效率和稳定性两方面考虑都是最佳的方案。但应该注意,C51编写的中断服务程序编译后会自动加上PUSH ACC、PUSH PSW、POP PSW和POP ACC语句,执行时占用了4个机器周期;如程序中还有计数值加1语句,则又会占用1个机器周期。这些语句所消耗的时间在计算定时初值时要考虑进去,从初值中减去以达到最小误差的目的。

    更多相关内容
  • 定时/计数器是单片机系统一个重要的部件,其工作方式灵活、编程简单、使用方便,可用来实现定时控制、延时、频率测量、脉宽测量、信号发生、信号检测等。此外,定时/计数器还可作为串行通信中波特率发生器。
  • 单片机定时器计数器实验报告.pdf单片机定时器计数器实验报告.pdf单片机定时器计数器实验报告.pdf单片机定时器计数器实验报告.pdf单片机定时器计数器实验报告.pdf单片机定时器计数器实验报告.pdf单片机定时器计数器...
  • 单片机定时器计数器实验报告.docx单片机定时器计数器实验报告.docx单片机定时器计数器实验报告.docx单片机定时器计数器实验报告.docx单片机定时器计数器实验报告.docx单片机定时器计数器实验报告.docx单片机定时器...
  • 51单片机利用定时器计数来作为延时函数调用 使用前提是,定时器不作为其他函数调用的时候可以拿来使用,如果定时器有做其他使用,就不行此方法。毕竟51单片机的定时器就比较少。 函数代码 void delay_ms(uint16_t...

    51单片机利用定时器计数来作为延时函数调用


    使用前提是,定时器不作为其他函数调用的时候可以拿来使用,如果定时器有做其他使用,就不行此方法。毕竟51单片机的定时器就比较少。

    函数代码

    void delay_ms(uint16_t t)
    {
       
      uint16_t count = 0;
      TMOD |= 0x01;
      TH0 = 0xFC
    展开全文
  • 单片机学习——定时器/计数器

    千次阅读 2022-04-21 08:44:44
    单片机学习——定时器/计数器51单片机必学系列——定时器前言我们怎样定时软件定时硬件定时可编程定时器定时定时器/计数器结构和工作原理 前言 一般51单片机是两个定时器定时器0和定时器1),本文以STC8H8K64U为...

    单片机必学系列

    单片机学习——中断系统

    单片机学习——存储器详解(程序存储器、片内RAM、拓展RAM、EEPROM)

    单片机学习——定时器/计数器

    单片机学习——A/D转换

    更新ing



    前言

    一般51单片机是两个定时器(定时器0和定时器1),本文以STC8H8K64U为例(只是多了三个定时器,定时器0-4),讲解定时器,原理与其他单片机并无区别。注意哈:定时器和计数器是一体的,定时器的本质就是个加1计数器,不可能单独再设置一个计数器,那样也太麻烦了。

    一、我们怎样定时

    1.软件定时

    初学单片机的朋友对软件定时非常熟悉,这就是Delay延时函数,让CPU循环执行一段程序,通过选择指令和安排循环次数实现软件定时,软件定时会完全占用CPU,让CPU执行无意义指令,此方法增加了CPU开销,降低了CPU的工作效率。(仅适用于CPU空闲的程序)

    2.硬件定时

    硬件定时则不占用CPU时间,定时功能全部由硬件电路(如555时基电路)完成,但是需要改变参数调节定时时间,使用不方便,还增加了硬件成本。

    3.可编程定时器定时

    该定时器的定时值及定时范围可以通过软件进行确定和修改。通过系统时钟/输入信号进行计数与控制,可以用于定时控制、记录事件、输出可编程时钟信号或用作分频器。

    二、定时器/计数器结构和工作原理

    先给一个STC8H8K64U框架图,再详细讲解。
    在这里插入图片描述
    我们可以清楚看到TH0、TL0、TH1、TL1,里面H就是高、L就是低的意思,TH0就是定时器0高8位的意思(定时器是16位的),TL0就是定时器0低8位。
    TMOD是T0、T1工作方式寄存器,由它确定T0、T1工作方式以及功能。
    TCON是T0、T1的控制寄存器,用于控制T0、T1的启动与停止,并且记录T0、T1计满溢出标志位(TF0和TF1稍后详细讲解)。
    AUXR是辅助寄存器,它内部的T0x12和T1x12分别用于设定T0、T1内部计数脉冲的分频系数,上图中的P3.4、P3.5分别是T0、T1的外部输入端。

    T0、T1的核心电路是一个加1计数器,加1计数器的脉冲来源有两个:一是外部脉冲,P3.4和P3.5,另一个就是系统时钟信号,加1计数器会对脉冲源计数,一个脉冲加1,计数器加满(全1)的时候再加1就会归0,同时使得溢出标志位TF0或者TF1为1(这取决于你在使用哪个定时器/计数器),框架图如下:
    在这里插入图片描述

    1.定时功能

    根据上图,当脉冲源为系统时钟(等间隔脉冲,就是那种固定多久有一个高电平的脉冲)时,由于计数脉冲为同一个时间基准(因为晶振用的是同一个),脉冲数乘以计数脉冲周期(系统周期或12倍系统周期,具体看是否选择12分频)就是定时时间。即当系统时钟确定时,计数器的计数值就确定了时间。意思就是,只是计算加1加了多少次,每次加1的时间间隔(1秒除以晶振频率=振动一次的时间,也就是脉冲的间隔时间)一样,加的次数 x 间隔时间 = 总计时

    2.计数功能

    根据上图,当脉冲源为单片机外部引脚的输入脉冲时,就是外部事件的计数器。如定时/计数器T0,在其对应的计数输入端T0(P3.4)有一个负跳变时,T0计数器的状态值加一。

    负跳变:由高电平变成低电平的过程,又被称为下降沿
    正跳变:由低电平变成高电平的过程,也被称为上升沿

    三、定时/计数器(T0/T1)的控制

    1.TMOD

    在这里插入图片描述
    B6和B2位都是(C非/T) 特殊符号打不出来

    (C非/T) :功能选择位。(C非/T)=0时,设置为定时工作模式;(C非/T)=1时,设置为计数工作模式。
    M1和M0:T0、T1工作方式选择位.

    GATE:门控位。
    当(GATE)=0时,软件控制位TR0或TR1置1即可启动定时/计数器;
    当(GATE)=1时,软件控制位TR0或TR1须置1,同时还须INT0(P3.2)或INT1(P3.3)引脚输入为高电平方可启动定时/计数器,即允许外部中断INT0(P3.2)、INT1(P3.3)输入引脚信号参与控制定时/计数器的启动与停止。
    在这里插入图片描述

    2.TCON

    在这里插入图片描述
    TF1:定时/计数器1溢出标志位。
    当定时/计数器1计满产生溢出时,由硬件自动置位TF1,在中断允许时,向CPU发出中断请求,中断响应后,由硬件自动清除TF1标志。也可通过查询TF1标志,来判断计满溢出时刻,查询结束后,用软件清除TF1标志。

    TR1:定时/计数器1运行控制位。
    由软件置1或清0来启动或关闭定时/计数器1。当(GATE)=0时,TR1置1即可启动定时/计数器1;当(GATE)=1时,TR1置1且INT1(P3.3)输入引脚信号为高电平时,方可启动定时/计数器1。

    3.AUXR

    在这里插入图片描述
    T0x12:
    当(T0x12)=0,定时计数脉冲完全与传统8051单片机的计数脉冲一样,计数脉冲周期为系统时钟周期的12倍,即12分频;当(T0x12)=1,计数脉冲为系统时钟脉冲,计数脉冲周期等于系统时钟周期,即无分频。

    T1x12:
    当(T1x12)=0,定时计数脉冲完全与传统8051单片机的计数脉冲一样,计数脉冲周期为系统时钟周期的12倍,即12分频;当(T1x12)=1,计数脉冲为系统时钟脉冲,计数脉冲周期等于系统时钟周期,即无分频。

    四、定时/计数器的工作方式

    工作方式部分过多,本人建议找视频讲解便于理解,文字部分阐述不容易理解,故在此仅放不同工作方式原理图。

    方式0

    在这里插入图片描述
    GATE、INT0和TR0之间的关系
    GATE、INT0和TR0之间的关系,决定定时器/计数器是否能正常工作。这三个信号通过逻辑或门和逻辑与门产生control信号,用于控制内部SYSclk信号或者外部脉冲通过T0引脚是否能接入该定时器/计数器。

    展开全文
  • 第五章2 单片机的定时器计数器;第一节 定时器/计数器的结构和功能;一结构和功能 8051单片机内有两个可编程16位定时器/计数器常称为定时器0和定时器1简称为T0和T1每个定时计数器都由两个8位专用寄存器组成T0由TH0,TL0...
  • 实验四:中断实验 使用定时器来实现延时,编程实现数码管静态显示秒表的倒计时。 实验四:中断实验 使用定时器来实现延时,编程实现数码管静态显示秒表的倒计时。
  • 定时计数电路是任何计算机系统中必不 可少的基本电路 实现定时/延时控制的基本方法 软件定时 不可编程硬件定时 可编程硬件定时数据控制字寄存器读计数初值寄存器CLK写控 制 逻 辑复位计数器计数工作单元GATE准备就绪...
  • elecfans.com 定时器计数器基础.ppt
  • 实验目的 1.学会8253芯片和微机接口的原理和方法。 2.掌握8253定时器/计数器的工作方式和编程原理。 实验环境 系统平台:Windows XP 编译环境:启东试验教学平台
  • T0和T1的控制由两个8位特殊功能寄存器完成:一个为定时器的方式选择寄存器TMOD用于确定定时器还是计数器工作模式;另一个叫做定时器控制寄存器TCON,可以决定定时器计数器的启动、停止及进行中断控制。 ...

    时钟周期

    时钟周期 T 是时序中最小的时间单位,具体计算的方法就是 1/时钟源频率,假如单片的晶振是 11.0592M,那么对于我们这个单片机系统来说,时钟周期=1/11059200 秒。

    状态周期

    在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。即两个时钟周期=状态周期

    机器周期

    机器周期是 12 个时钟周期,也就是 12/11059200 秒。一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。 在51单片机中 一个机器周期=6状态周期=12时钟周期。

    定时器

    51单片机,有两个16位的可编程定时/计数器,分别是T0和T1。而52单片机和51单片机的定时器是一样的,只是52比51多了一个定时器/计数器T2。
    T0由两个8位寄存器TH0和TL0拼装而成,其中TH0为高8位,TL0为低8位。T1和T0类同。
    T0和T1有定时器和计数器两种工作模式,在每个模式下又分为若干工作方式。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    定时器的寄存器

    T0和T1的控制由两个8位特殊功能寄存器完成:一个为定时器的方式选择寄存器TMOD用于确定定时器还是计数器工作模式;另一个叫做定时器控制寄存器TCON,可以决定定时器或计数器的启动、停止及进行中断控制。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • C51单片机————定时器计数器

    万次阅读 多人点赞 2018-07-14 21:16:38
    51单片机定时器/计数器 定时(定时控制、测量、延时。。。)和计数(对外部事件统计数目)。 Created with Raphaël 2.1.2张三张三李四李四嘿,四哥, 定时器计数器有哪几种实现哦?想了想主要有三种方法那三种...
  • 单片机应用技术C语言版定时器计数器.ppt方法1: 初值: C=65536-50000=15536 =3CB0H ∴ TH0=3CH, TL0=B0H * * 方法2 初值: TH0=(65536-N)/256; TL0=(65536-N)%256; N=t/T(计数个数)。 若采用的晶振为11.0592MHz, T...
  • 实验二 单片机定时器计数器编程

    千次阅读 2021-05-21 01:33:56
    仲恺农业工程学院实验报告纸信息学院 (院、系)专业班组单片机原理及接口技术课实验...2、利用单片机定时器/计数器编写程序驱动开发板上的led和蜂鸣器按一定规律工作。三、实验设备1、STC单片机开发板;2、PC机以及串...
  • 第五章定时器计数器(修改)-计算机原理及应用资源共享课.ppt1第5章 MCS-51单片机定时器/计数器主要内容定时/计数器的工作原理模式定时/计数器的工作方式定时/计数器的应用2(1) 定时器/计数器的概念(2) MCS-51的定时器...
  • PIC16F87X单片机内部配置了3个定时器计数器,分别记为TMR0、TMR1、TMR2。这3个定时器计数器模块不仅在电路结构上不相同,而且其在设计的初衷和使用上也各有不同。 · 定时器计数器TMR0。 定时器计数器TMR0...
  • 定时器/计数器 什么是定时器/计数器? 在51单片机中,定时器/计数器是用来实现定时功能,并且具有计数的功能,来实现对外部信号的计数,其实他们是同一个物理的电子元件。 定时器实际上也是工作在计数方式下,只是计数的...
  • 80C51 定时器 计数器 包括如何设置和各寄存器的使用
  • MCS-51单片机内部共有两个16位可编程定时器计数器,即TO、Tl。既有定时功能,又有计数的功能。每个定时器都是由两个8位的特殊功能寄存器THi和TLi组成(i=0、1)。TMOD是TO和Tl的工作方式控制寄存器,TCON是TO和Tl的...
  • C51单片机定时器/计数器的应用 想要定时1秒该怎么做? 下面介绍定时器方式1的使用方法: 总共可计655366个数,每加一次计时1μs,因此,方式1一次最大可以计时65536μs,约为65ms。 第一步:设置TMOD T0:低四位 T1:...
  • 定时器延时函数

    万次阅读 多人点赞 2018-05-05 09:29:12
    STM32定时器包含基本定时器、通用定时器和高级定时器,其中TIM6和TIM7是STM32当中的基本定时器,作为初学者,先从最基本的学起最容易,下面我们用这个定时器实现毫秒延时函数来入门STM32定时器的应用。学习单片机,...
  • 第六章 定时器/计数器6.1 时器的结构及工作原理6.2 时器的... 利用软件实现(延时程序)优点:简单,控制方便;缺点:CPU效率低。2. 外部硬件实现:单稳态定时器、计数定时器优点:CPU效率高;缺点:修改参数麻烦。...
  • 摘 要:本文介绍了可编程定时器/计数器8253的基本功能,以及一种用VHDL语言设计可编程定时器/计数器8253的方法,详述了其原理和设计思想,并利用Altera公司的FPGA器件ACEX 1K予以实现。关键词:FPGA;IP;VHDL ...
  • //标志位置0, 延时结束 } } //====================================================================== // 精准延时函数-单位ms //====================================================================== ...
  • 二、实验目的了解定时器的各种工作方式掌握定时器/计数器的使用和编程方法三、实验设备DELL台式机 、keilC51版本7、proteus版本6四、实验电路图 五、程序流程图 六、程序源码#include#include#define uchar unsigned...
  • (2).Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。比如UCOS中,分时复用,需要一个最小的时间戳,一般在STM32+UCOS系统中,都采用Systick做UCOS心跳时钟。 (3...
  • 定时器则是利用定时器的溢出间隔,如果时间上不够,可以在溢出中断中配合软件计数器来实现。 前者浪费cpu,后者更高效。 言归正传,现在来计算初值了,直接用例子说明,就比如用定时器0延时50ms 一言不合,先上...
  • 一、定时器/计数器简介 设置等待时间,到达等待时间之后执行指定的硬件操作。 定时器最基本的功能就是定时,比如说定时发送串口数据,定时采集AD数据,如果将定时器和IO结合起来就可以实现非常丰富的功能,可以...
  • 51单片机的定时器计数器

    千次阅读 2020-05-05 22:45:36
    (3)定时器是用计数器来实现的。 1.0.2计数器 (1)计数器可以计数外部脉冲的个数. (2)脉冲:(个人理解)单片机中一个低电平跳变成高电平在回到低电平的这么一个过程就称为一个脉冲。 1.0.3定时器是如何工作的 (1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,151
精华内容 6,060
关键字:

利用定时器计数器延时