单片机定时器介绍

发布者:雅致人生最新更新时间:2016-12-23 来源: eefocus关键字:定时器  单片机 手机看文章 扫描二维码
随时随地手机看文章

定时器是单片机系统的一个重点,但并不是难点,大家一定要完全理解并且熟练掌握定时器的应用。

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

2) 机器周期
我们的单片机完成一个操作的最短时间。机器周期主要针对汇编语言而言,在汇编语言下程序的每一条语句执行所使用的时间都是机器周期的整数倍,而且语句占用的时间是可以计算出来的,而 C 语言一条语句的时间是不确定的,受到诸多因素的影响。51单片机系列,在其标准架构下一个机器周期是 12 个时钟周期,也就是 12/11059200 秒。现在有不少增强型的 51 单片机,其速度都比较块,有的 1 个机器周期等于 4 个时钟周期,有的 1个机器周期就等于 1 个时钟周期,也就是说大体上其速度可以达到标准 51 架构的 3 倍或 12倍。因为我们是讲标准的 51 单片机,所以我们后边的课程如果遇到这个概念,全部是指 12 个时钟周期。

这两个概念了解即可,下边就来我们的重头戏,定时器和计数器。定时器和计数器是单片机内部的同一个模块,通过配置 SFR(特殊功能寄存器)可以实现两种不同的功能,我们大多数情况下是使用定时器功能,因此我们的课程也是主要来讲定时器功能,计数器功能大家自己了解下即可。

顾名思义,定时器就是用来进行定时的。定时器内部有一个寄存器,我们让它开始计数后,这个寄存器的值每经过一个机器周期就会自动加 1,因此,我们可以把机器周期理解为定时器的计数周期。就像我们的钟表,每经过一秒,数字自动加 1,而这个定时器就是每过一个机器周期的时间,也就是 12/11059200 秒,数字自动加 1。还有一个特别注意的地方,就是钟表是加到 60 后,秒就自动变成 0 了,这种情况在单片机或计算机里我们称之为溢出。

那定时器加到多少才会溢出呢?后面会讲到定时器有多种工作模式,分别使用不同的位宽(指使用多少个二进制位),假如是 16 位的定时器,也就是 2 个字节,最大值就是 65535,那么加到 65535 后,再加 1 就算溢出,如果有其他位数的话,道理是一样的,对于 51 单片机来说,溢出后,这个值会直接变成 0。从某一个初始值开始,经过确定的时间后溢出,这个过程就是定时的含义。

关键字:定时器  单片机 引用地址:单片机定时器介绍

上一篇:单片机LED灯闪烁程序
下一篇:单片机定时器的寄存器

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

如何用用C语言编写的单片机来控制流水灯
用C语言编写的单片机流水灯程序的软件和硬件,可以让八个LED轮流点亮,每个灯点亮和熄灭时间均为1秒。是利用单片机I/O口控制外部设备的简单例子。当然,在你掌握了本程序后,完全可以充分发挥你的想象,改变一下程序内容和灯的接法(比如用光耦驱动继电器来控制霓虹灯),做出各种变化非凡的大型灯光广告牌。 一、硬件电路 因为电路用单片机控制,所以电路非常简洁。其电路原理图见下图,印制板图如下图所示。 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口,我们这里只用到Pl口,共8个引脚。图中Cl、R9组成典型的上电复位(即在加电时单片机复位)电路,XTAL、C2、C3与AT89C2051片内振荡电路组成时钟振
[单片机]
如何用用C语言编写的<font color='red'>单片机</font>来控制流水灯
单片机最小系统组成与I/O输出控制
单片机是一门实践性较强的技术,很多初学者在学习单片机技术开发的时候往往一头雾水,不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Study-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。 一、内容提要 本讲主要向大家介绍51 系列单片机的最小系统的实现并通过编写程序来实现对单片机IO 口的输出控制。以点亮外部连接的LED(发光二极管)为例,简要的介绍单片机的原理、最小系
[单片机]
<font color='red'>单片机</font>最小系统组成与I/O输出控制
51单片机学习:蜂鸣器实验
实验名称:蜂鸣器实验 接线说明: 实验现象:下载程序后蜂鸣器发出声音,一段时间后关闭 注意事项: ***************************************************************************************/ #include reg52.h typedef unsigned int u16; //对系统默认数据类型进行重定义 typedef unsigned char u8; sbit BEEP=P2^5; //将P2.5管脚定义为BEEP /************************************************************
[单片机]
MCU涉足各个市场,应用百花齐放
MCU厂过去锁定小家电、消费性电子、电脑周边,不过在各厂抢进,加上市场转趋多元化,MCU厂纷纷抢进中高阶触控家电、行动电源、无线充电乃至指纹辨识等商机,使得MCU的应用更趋百花争鸣。   微控制器MCU可将CPU、RAM、ROM、I/O等周边相关记忆与运算功能整合在一起,可谓为一微型电脑,并衍伸出许多运用,使产品智慧化,又依照处理能力不同,可分为8、16、32位元等。   现行MCU厂应用以各家大厂来说,各据鳌头,盛群(6202)以家电应用为主,主打整合型(ASSP)MCU产品应用以电磁炉为大宗,总经理高国栋表示,家电带面板产品具有高附加价值,未来包括微波烤箱、微波炉等都带有触控显示,而家电厂商也往那个趋势走,未来家电产品
[模拟电子]
<font color='red'>MCU</font>涉足各个市场,应用百花齐放
基于AT89S52单片机的无线光电靶
O 引言 中国人民解放军某部高炮部队,在日常训练中有一个难题,就是操炮战士瞄准移动靶标与否不好判断。靶标距离高炮几十米,高度十几米,并且不断移动,射击的机会稍纵即逝。 针对这个问题,查阅了许多现有的光电靶产品,有的是实弹射击的测量装置,使用的方法多数是平行光幕加光敏元件,也有的是采用单光幕,还有的是瞄准训练器,功能都比较完善,但大部分都体积比较大,重量重,只能固定使用,很难移动。针对部队瞄准训练的实际需要,这里研制了一套电路简单、体积小、重量轻、造价低、便于移动和自动报靶的无线光电靶系统,较好地解决了日常训练中的问题。 1 整体设计 该无线光电靶系统主要由悬挂于移动装置上的光电靶;置于操炮手附近的光电靶控制器;一个固
[单片机]
基于AT89S52<font color='red'>单片机</font>的无线光电靶
基于单片机AT89C2051的触摸屏控制器设计方案
随着信息技术的飞速发展,人们对电子产品智能化、便捷化、人性化要求也不断提高,触摸屏作为一种人性化的输入输出设备,在我国的应用范围非常广阔,是极富吸引力的多媒体交互没备。目前,触摸屏的需求动力主要来自于消费电子产品,随着触摸屏技术的不断发展,它在其他电子产品中的应用也会得到不断延伸。电子产品以电子管为核心。四十年代末世界上诞生了第一只半导体三极管,它以小巧、轻便、省电、寿命长等特点,很快地被各国应用起来,在很大范围内取代了电子管。五十年代末期,世界上出现了第一块集成电路,它把许多晶体管等电子元件集成在一块硅芯片上,使电子产品向更小型化发展。集成电路从小规模集成电路迅速发展到大规模集成电路和超大规模集成电路,从而使电子产品向着高效能低
[单片机]
基于<font color='red'>单片机</font>AT89C2051的触摸屏控制器设计方案
最高效率使用单片机,放弃程序中的延时函数
我是PC机底层编程转过来的,以前从来没接触过单片机,五个月前学习AVR,在这里学到很多东西。但也意识到电子工程师们的硬件编程思想与PC机底层编程思想上的很多不同,引发了一些思考。我说一说,供大家参考,只为学习,无意争论。 我第一次看到教程里Delay()函数的代码时我吓了一跳,竟然让单片机空转以实现和外界同步,这怎么可能? 试想,如果PC机CPU空转一秒,那么音乐会断一秒、画面会停顿一秒、下载文件会断一秒,这怎么可行? 我看到很多单片机程序,它们的单片机99.9%的工作时间都在打空转,99.9%大家可能感到有些危言耸听,那就让我们算一算: 已内部8M频的AVR单片机来说,单指令周期仅为1/8 = 0.125us,那一毫秒
[单片机]
微控制器的FSMC到底是咋回事?(下)
摘要:上一篇文章我们具体讲解了FSMC的原理配置,这一章主要是关于使用FSMC的SRAM初始化流程,以及使用STM32CubeMX对FSMC进行配置。 一、SRAM初始化流程 通过上面的讲解,通过对 FSMC 相关的寄存器的描述,大家对 FSMC 的原理有了一个初步的认识,如果还不熟悉的朋友,请一定要搜索网络资料理解FSMC的原理。只有理解了原理,使用库函数才可以得心应手。那么在库函数中是怎么实现FSMC的配置的呢?FSMC_BCRx,FSMC_BTRx 寄存器在库函数是通过什么函数来配置的呢?下面我们来讲解一下 FSMC 相关的库函数: 1.1 使能FSMC时钟 要使用FSMC,当然首先得开启其时钟。然后需要把
[单片机]
<font color='red'>微控制器</font>的FSMC到底是咋回事?(下)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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