51单片机计数器与定时器的区别

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

  在51单片机的学习过程中,我们经常会发现中断、计数器/定时器、串口是学习单片机的难点,对于初学者来说,这几部分的内容很难理解。但是我个人觉得这几部分内容是单片机学习的重点,如果在一个学期的课堂学习或者自学中没有理解这几部分内容,那就等于还没有掌握51单片机,那更谈不上单片机的开发了,我们都知道在成品的单片机项目中,有很多是以这几部分为理论基础的,万年历是以定时器为主的,报警器是以中断为主的,联机通讯是以串口为主的。

  在这几部分内容中,计数器/定时器对于初学者说很容易搞混淆,下面我将对这方面的内容结合自己的学习经验谈几点看法。

  计数器和定时器的本质是相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。

  在定时器和计数器中都有一个溢出的概念,那什么是溢出了。我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。同样的道理,假设水龙头的水是一滴滴的往碗里滴,那么总有一滴水是导致碗中的水溢出的。在碗中溢出的水就浪费了,但是在单片机的定时计数器中溢出将导致一次中断。

  在定时器计数器中,我们有个概念叫容量,就是最大计数量。

  • 方式0是2的13次方,

  • 方式1是2的16次方,

  • 方式2是2的8次方,

把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。

  在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。

  • 举例1,我如何才能使碗接到10滴水就溢出呢?我可以想象,如果拿一个空碗去接水,那么还是得要100滴水才能溢出,但是如果我们拿一个已经装有水的碗拿去接,那就不用100滴了。到此我们可以算出,要使10滴水让碗中的水溢出,那么碗中就先要装90滴水。在定时计数器中,这90滴水就是我们所谓的初始值。

  • 举例2,在一个车间我们如何利用单片机对100件产品进行计件,并进行自动包装呢?我们可以利用计数器计数100,在中断中执行一个自动包装的动作就可以了。

  在这里计数初值有3个,假设:

  • 方式0:计数初值=8192(2的13次方)—100=8092。

  • 方式1:计数初值=65536(2的16次方)—100=65436。

  根据所得的初始值,再将其转换为16进制,就可以进行计数或者定时了。后面讲解定时器初值的计算方法。


关键字:51单片机  计数器  定时器 引用地址:51单片机计数器与定时器的区别

上一篇:STC51单片机ISP自动下载电路设计
下一篇:51单片机外部中断0实例详解

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

单片机成长之路(51基础篇) - 020 51单片机寄存器功能一览表
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单
[单片机]
单片机成长之路(51基础篇) - 020 <font color='red'>51单片机</font>寄存器功能一览表
51单片机(STC89C52RC)EEPROM操作实验
查看了文档,EEPROM是一种非易失的存储器,常用当做数据存储器,在程序运行当中所需要的数据,配置等等.在STC当中,把Flash当做EEPROM,并不是真正的EEPROM. 基本操作包括字写入/只读取/块擦除三种,更具体的使用可以查阅手册,需要说明的是, 这些是STC特有的,一般并不能用仿真来实现,一开始犯下了这个错误,以为能够用protel来仿真,或许可以,但是获取不到,得到一条经验,那就是在硬件允许的情况下,应该首先考虑用硬件来验证程序.
[单片机]
用74LS161构成十进制计数器的两种方法
第二种方案:利用后10个状态0110~1111,取D3D2D1D0=0110, 反馈置数信号从进位输出端CO取得。
[模拟电子]
用74LS161构成十进制<font color='red'>计数器</font>的两种方法
51单片机-液晶屏代码讲解
关于指针和1602液晶屏的知识讲解我们就不赘述了,《手把手教你学51单片机》文档第12,13章有很详细的讲解,我们也不用再自己搞些与众不同的驱动代码,没必要再“重新发明轮子”,只需直接移植使用宋老师为我们写好的代码就好。那么宋老师的液晶屏代码原理他也在文档详细讲解了,大家只需反复细读都会掌握的了的,这里笔者只对部分代码做出一些解释。打开宋老师的代码lesson12_4。 1.显示字符的执行操作 如果我们需要在液晶屏上显示下图的内容 那么在代码上需要一步步地操作来完成。 首先设置好液晶屏的使用指标,比如需要“16*2显示,5*7点阵”、“显示器开,光标关闭”、“文字不动,地址自动+1”,这些叫做液晶屏的初始化,表明液晶屏
[单片机]
<font color='red'>51单片机</font>-液晶屏代码讲解
基于51单片机的点阵+音乐=祝你生日快乐
//----------------------------------------------------- // 12*12点阵+音乐产生 // MCU:89C51 晶振:12M //编写日期:2010。12。25 //编写人:李春起 #include REG51.H #define uchar unsigned char #define uint unsigned int uint a=0,a1=0,a2=0; uint miusfla,miust,mius=64536; uint disfla1,sta=0; char flag=0,mdflag=0; sbit k1=P3^2; sbit k2=P3^3; sbit Y
[单片机]
构造一个51单片机的实时操作系统的方法
目前,大多数的产品开发是在基于一些小容量的单片机上进行的。51系列单片机,是我目前使用最多的单片机系列之一,有非常广大的应用环境与前景,多年来的资源积累,使51系列单片机仍是许多开发者的首选。针对这种情况,近几年涌现出许多基于51内核的扩展芯片,功能越来越齐全,速度越来越快,也从一个侧面说明了51系列单片机在国内的生命力。 多年来我们一直想找一个合适的实时操作系统,作为自己的开发基础。根据开发需求,整合一些常用的嵌入式构件,以节约开发时间,尽最大可能地减少开发工作量;另外,要求这个实时操作系统能非常容易地嵌入到小容量的芯片中。毕竟,大系统是少数的,而小应用是多数而广泛的。显而易见,μC/OS—II是不太适合于以上要求的,而Keil
[单片机]
用Proteus学习51单片机之I2C(IIC)总线
在学习单片机的过程中,我常有这样的烦恼:随随便便一个芯片,少则占用三五个IO口,一般的就占用8个,稍微想用多一点芯片吧,老觉得IO口不够用。学串口的时候觉得串口是个好东西,连两条线就够了,现在学到I2C,觉得这也是一个非常好的东西,也是两条线,还能给每个总线上的设备设立地址,简直就是一个小网络了。 I2C总线使用两条线,一条是时钟线,称为SCL,一条是数据线,称为SDA,各个设备就并在总线上,每一个总线上的设备都有一个自己的地址,主机在操作设备的时候,都会先发送一个地址码,告诉被操作机,接下来的命令由它接收。 接下来说一下I2C总线的数据有效性。I2C总线进行数据传送时,要求SCL为高电平时,SDA上的数据必需保持稳定,换言之,当
[单片机]
用Proteus学习<font color='red'>51单片机</font>之I2C(IIC)总线
基于51单片机定时器0计时计数器1计数的霍尔传感器精确测速
#include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit RW=P2^6;//定义LCD1602液晶显示器读写端 sbit RS=P2^5;//定义LCD1602液晶显示器数据命令端 sbit EN=P2^7;//定义LCD1602液晶显示器使能端 sbit qiting=P3^0;//定义启停按键 uchar qitingnum;//定义启停次数变量 uint count;//定时器0定时中断次数变量 unsigned long speed=0;//定义速度变量 uchar co
[单片机]
基于<font color='red'>51单片机</font><font color='red'>定时器</font>0计时<font color='red'>计数器</font>1计数的霍尔传感器精确测速
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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