当前位置:首页 > 经验 >

proteus计数器的应用

来源:原点资讯(www.yd166.com)时间:2022-10-30 06:44:58作者:YD166手机阅读>>

1. 基于proteus的51单片机开发实例(9)--定时器的定时模式

51单片机的定时器模块可谓大名鼎鼎,利用定时器可以大大提高程序的执行效率,为什么这样说呢?举个例子来简单证明一下。在实例2中,我们实现LED闪烁的方法是,点亮小灯,延时一会,然后再熄灭小灯,如此循环。那么问题来了,在点亮小灯后延时的这一段时间里,程序实际上是处于空转状态,这时程序不能执行别的操作,只能等待延时结束后才能继续向下执行。这样是不是很影响程序执行效率?而如果使用定时器的定时功能的话,这个延时等待就可以不要了,单片机空出来的经历就可以去干别的更有用的事情了,至于定时器为什么有这么神奇的效果,我们慢慢来了解。

1.1. 实验目的

图1是本实例的电路图。

proteus计数器的应用,(1)

图1 定时器演示电路

本实例的目的是了解51单片机的定时/计数器模块的功能,实现利用定时/计数器设置一个定时间隔,控制单片机端口P1.0输出高低变化的电平。

1.2. 设计思路

51单片机有T0和T1两个定时/计数器模块,本实例使用定时/计数器T0实现设定功能,通过将51单片机的定时/计数器T0设置为定时器模式,设置一定的定时间隔,定时时间达到后,控制单片机端口的状态翻转,并通过连接该端口的示波器和LED来直观和准确的观察定时时间是否准确。

1.3. 基础知识

本实例主要用到51单片机的定时/计数器T0。从字面意思来看,51单片机的定时/计数器既具备定时功能,,也具备计数功能。计数功能是对外埠信号的计数,定时功能则是可以每间隔一定的时间去处理某些事。

本实例是使用51单片机的定时/计数器的定时功能,那么我们就先来了解定时功能,至于计数功能,我们在下一个实例来学习。

定时在实际生活中有着极为重要的应用阻值,例如我们家用的电饭锅可以实现定时开始煮饭,空调可以定时开关等等。图2是51单片机定时器的使用方法。

proteus计数器的应用,(2)

图2 定时器的工作方法示意图

从图中可以看出,如果将定时/计数器设为定时工作方式,这时定时/计数器与外部电路断开了,同时与内部的脉冲信号相连,开始对内部信号进行计数。这里有一个很重要的知识点需要说明,传统的51单片机如果外接的是12MHz的晶振,那么单片机的实际运行频率是1MHz。原因大家可以查阅相关资料,这里就不再赘述。

假设单片机接的是12MHz的晶振,则经过单片机内部12分频后得到1MHz的脉冲信号,1MHz信号脉冲的周期是1/1M=1us,如果定时器T0对这个1MHz信号计数,计数初值是0,则计到65535时,需要的时间是65536*1us=65.536ms。此时,定时器的计数值达到最大值(因为定时器0的最大计数器是16位的,相当于一个无符号整型数,其最大值是65535,因为是从0开始计数的,所以计数的最大值是65536),此时定时器内部会自动产生溢出,并送给CPU一个信号,于是产生一个中断,使CPU停止正在执行的任务,转而来执行这个事件。

我们上面讲的定时器的初值是从0开始的,而定时器则是计数到65535才会溢出,如果仅只是这样的话,那这个定时器的功能就有些low了,所以,在51单片机设计时,已经考虑到这个问题了,并且有了改进措施:定时器的初值是可以自行设置的,也就是说,我们可以把定时器的初值设为0~65535之间的任何值。这样的一大好处是,定时器的定时时间可以在0~655.36ms之间任意设定,例如我们设置一个10ms的定时,那么定时器的初值设置为55536即可,因为65536-55536=10000us=10ms。这样是不是就方便多了?

1.3.1. 51单片机定时/计数器的结构及工作原理

51单片机的定时/计数器是一个非常重要的功能模块(51单片机除了通用I/O端口外,有三个重要功能模块,定时/计数器是其中之一,另两个是外部中断模块,串口通信模块。要使用这些功能模块,就必须了解和配置这些功能)。一个很浅显的道理,我们想要使用某个器件,必须要非常清楚的了解它的结构和工作原理,才能够很熟练、准确的使用它。

51单片机中的定时/计数器结构如图3所示。图中T0和T1分别是单片机的两个定时/计数器,本例中我们使用定时/计数器T0,所以就先来了解T0。T0是16位定时器,由TH0和TL0组成。TH0和TL0是两个8位计数器,合起来就是16位的。TH0和TL0都是加1计数器。从图中还可以看出,还有两个寄存器TCON和TMOD。其中TCON是控制定时/计数器的启动和停止的寄存器,而TMOD则是用来设置定时/计数器的工作方式(例如设置为定时器模式还是计数器模式)。定时/计数器在单片机内部通过总线与CPU连接,因而可以接受CPU的控制,并能传送信号给CPU,从而让CPU执行设定的操作任务。

proteus计数器的应用,(3)

图3 定时/计数器的结构

上面我们已经了解了定时/计数器在定时模式下的工作原理:定时模式下,对外接晶振(也可以是外部时钟脉冲)的振荡信号12分频后,提供给计数器,作为计数的输入脉冲,计数器以这个12分频的脉冲周期为基本计数单位,对输入的脉冲进行计数,因为计数方式是加1计数,所以计数一直向上加,直到达到65536后溢出。

无论是定时/计数器处于计数还是计时方式,它们对内部或者外部的时钟脉冲进行计数时,都不会占用CPU的时间(这就是我们前面说的使用定时/计数器时,可以大大加快CPU的工作效率),直到产生溢出为止。它们的作用是当溢出发生后,通知CPU停止正在进行的工作,有限去处理“定时时间到”或者“计数器满”这样的事件。如果让CPU去计时或者计数,结果就是这样的:因为CPU是按顺序一步一步执行程序的,如果让CPU计时1分钟后去执行点亮LED的命令,那么它就必须按顺序执行延时1分钟的程序,才能够去点亮LED,在执行延时程序期间,CPU不能进行其它操作,例如判断按键是否按下等。

定时/计数器必须经过配置才能正确工作,怎么配置?配置什么?这就要用到TCON和TMOD这两个寄存器。所以必须知道这两个寄存器的控制方法,所谓的控制,其实就是对这两个寄存器的相应位进行控制。

定时/计数器的方式控制寄存器TMOD

TMOD是51单片机的特殊功能寄存器,功能是控制定时/计数器T0、T1的工作方式。TMOD不能进行位操作,只能进行字节操作(不能像控制I/O口那样sbit LED P1^7,LED=0;只能是进行像TMOD=0x12这样的操作)。在上电和复位时,TMOD的初始值为0,。

TMOD中各位的含义如图4所示。

proteus计数器的应用,(4)

首页 12下一页

栏目热文

proteus8.6怎么添加单片机(proteus怎样封装单片机的)

proteus8.6怎么添加单片机(proteus怎样封装单片机的)

有了这个软件,很多工作都变得很轻松,用Proteus8.6学单片机的工程建立咱们不知道从那个版本开始,Proteus不用...

2022-10-30 06:35:39查看全文 >>

proteus8.0示例完整教程(proteus8怎样设置成中文版)

proteus8.0示例完整教程(proteus8怎样设置成中文版)

随着电子技术的发展,近年来,电子工程师调试电路的手段和步骤也发生了革命性的变化,传统的调试方式和步骤要经过绘制电路原理图...

2022-10-30 06:53:50查看全文 >>

proteus元件图文对照(proteus元件库对照表图片)

proteus元件图文对照(proteus元件库对照表图片)

Proteus 不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,它是非常给力的仿真单片机及外围器件的工具...

2022-10-30 07:14:00查看全文 >>

proteus如何双击单片机(proteus单片机程序怎么导入)

proteus如何双击单片机(proteus单片机程序怎么导入)

简介:本项目会持续更新,每周一更,希望大家一起学习,一起进步!详细介绍如何新建一个51汇编的Proteus仿真工程。此教...

2022-10-30 06:32:44查看全文 >>

proteus使用教程视频(proteus使用入门教程电子版)

proteus使用教程视频(proteus使用入门教程电子版)

1. 基于proteus的51单片机开发实例(13)-LED指示那个按键被按下1.1. 实验目的本实例将实现两路外部中断...

2022-10-30 07:01:59查看全文 >>

proteus计数器有哪些(proteus单位计数器在哪找)

proteus计数器有哪些(proteus单位计数器在哪找)

1. 基于proteus的51单片机开发实例(12)-数码管显示按键次数1.1. 实验目的图1 数码管显示按键次数本实例...

2022-10-30 07:16:46查看全文 >>

proteus8.9仿真教程(proteus8.9怎么打开仿真界面)

proteus8.9仿真教程(proteus8.9怎么打开仿真界面)

我们紧接着介绍以原理图方式创建Proteus仿真模型的详细过程。有些读者可能会想:不就是从器件库中调出元件创建嘛,我可以...

2022-10-30 06:50:38查看全文 >>

protel99e和altium哪个好(protel99排名)

protel99e和altium哪个好(protel99排名)

EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:EWB、PSPICE、OrCAD、PCAD、Protel、...

2022-10-30 07:10:05查看全文 >>

proteus入门到精通(proteus新手教程)

proteus入门到精通(proteus新手教程)

首先把proteus软件链接发给需要的朋友百度网盘链接:https://pan.baidu.com/s/1gaWBwyV...

2022-10-30 07:05:23查看全文 >>

proteus中怎么选择单片机(proteus怎样添加c51单片机)

proteus中怎么选择单片机(proteus怎样添加c51单片机)

1. 基于proteus的51单片机开发实例(7)--按键的检测1.1. 实验目的图1是本实例的电路图。图1 独立按键检...

2022-10-30 07:08:50查看全文 >>

文档排行