文档库 最新最全的文档下载
当前位置:文档库 › 80C51的中断系统及定时计数器

80C51的中断系统及定时计数器

80C51的中断系统及定时计数器
80C51的中断系统及定时计数器

1、中断的概念

中断过程示意图

(1)中断:单片机的CPU 暂时停止正在执行的程序,转去执行提出请求的中断源的服

务程序,然后再返回原程序继续执行的过程。 (2)中断源:提出中断的请求源。

中断源的类型:

① 外部I/O 设备。如键盘、打印机、A/D 转换器等,向微处理器发出中断请求。 ② 定时时钟。当需要定时时,微处理器发出命令,启动时钟电路开始计时,达到规定的时间后,发出中断请求。

③ 系统故障。电源断电要求把正在执行的程序保存下来,以便重新供电后能从断点处继续执行。

④ 内部软件设定。在调试程序时,为了检查中间结果的正确与否或为了寻找问

题所在,往往在程序中设置断点或单步运行程序(在程序开发中,为了找到程序的bug ,通常采用的一种调试手段,一步一步跟踪程序执行的流程,

根据变量的值,找到错误的原因。在需要调试的代码段设置断点,然后按预设的快捷键步进。),一般称这种中断为自愿中断。

5个中断源如下:

①外部中断0(0IN T ,0IN T 入口地址为0003H ):可由IT0选择其是低电平有效还是下降沿有效。当P3.2引脚上出现有效地中断信号时,IE0置1,申请中断。 ②

0T 溢出中断(入口地址为000BH ):发生溢出时,置位TF0,请求中断。

③外部中断1(1IN T ,入口地址为0013H ):可由IT1选择其是低电平有效还是下降沿有效。当P3.3引脚上出现有效地中断信号时,IE1置1,申请中断。 ④

1T 溢出中断(入口地址为001BH ):发生溢出时,置位TF1,请求中断。

⑤串口中断(RXD/TXD ,入口地址为0023H ):当串行口接收完一帧串行数据时置位RI 或TI ,请求中断。

(3)中断系统:为实现中断功能而设置的软件和硬件。

(4)可屏蔽中断:受中断允许程序控制和影响的中断源。 (5)不可屏蔽中断:不受中断允许程序控制和影响的中断源。 (6)中断向量:中断服务程序的入口地址。 (7)中断向量地址:保存中断向量的地址。 (8)外部中断:由I/O 设备产生的中断。

(9)内部中断:执行软件指令时产生的中断。

(10)中断的特点:分时操作、实时响应、可靠性高。

2、中断控制(两级管理)

中断系统时软件通过寄存器来控制硬件的。中断允许寄存器(IE )控制微处理器是否屏蔽中断请求;由中断优先级寄存器(IP )安排各中断源的优先级;同一优先级内各个中断同时提出中断请求时,由内部的查询逻辑确定其相应次序。

(1) 中断请求标志

① TCON (timer control register) 定时器/计数器控制寄存器

② SCON (serial port control register) 串口控制寄存器

A 外部中断请求源:即外中断0和1,经由外部引脚引入,在单片机上有两个

引脚,分别为0IN T (P3.2)和0IN T (P3.3)。

●0IT :0IN T 触发方式控制位,由软件进行置位(触发器可以理解为一个

执行机。有两个状态,执行或不执行,复位的时候不执行,置位的时候执行)

和复位,0IT =0,0IN T 低电平触发方式;0IT =1,0IN T 负跳变触发方式(边沿触发,上升0变成1;下降1变成0))。

●0IE :0IN T 中断请求标志位。外部有中断请求时,此位置1,CPU 响应中

断后,由硬件将0IE 清零。

1IT 、1IE 的用途和0IT 、0IE 相同。 B 内部中断请求源

●0TF :定时器0T 的溢出中断标志,0T 计数产生溢出时,硬件置位 0TF 。

CPU 响应中断后,0TF 被硬件清零。

●1T F :与0TF 类似。

●TI 、R I :串行口发送、接受中断。

(2) 中断控制

① 中断允许寄存器IE

其中EA 是总开关,如果它等于0,所有中断都不允许。 ●ES :串行口中断允许。 ●1ET :定时器1中断允许。 ●1EX :外中断1中断允许。 ●0E T :定时器0中断允许。 ●0E X :外中断0中断允许。 ② 中断优先级控制寄存器

●PS :串行口中断控制位。 ●1PT :定时器1中断控制位。 ●1PX :外中断1中断控制位。 ●0P T :定时器0中断控制位。

P X:外中断0中断控制位。

如果其中某一位为1,则对应的中断源优先级就为高;为0,对应的中断源优

先级就为低。

1)有中断优先级的原因

CPU同一时间只能响应一个中断请求。由IP控制。

2)同一个级别中的5个中断源的优先顺序如下:

I N T中断高

T中断↓

IN T中断低

1

T中断

1

串口中断

3)中断优先原则

●低级不打断高级。

●高级不睬低级。

●同级不能打断。

●同级、同时中断,事先约定。

4)中断嵌套的概念

是指终端系统在执行一个中断服务时,有另一个优先级更高的中断提出中

断请求是,会暂时终止当前正在执行的级别较低的中断源的服务程序,去

处理级别更高的中断源,处理完毕后,再返回到被中断了的中断服务程序

继续执行。

3、80C51单片机中断处理过程

(1)中断的响应过程

采样中断源→查询中断标志→条件判断→硬件生成长调用LCALL →进入中断服务子

程序→中断返回RET1

(2)中断响应的条件

① 中断源由中断请求。 ② 此中断源的中断允许位为1。 ③ 微处理器开中断(EA=1)。

(3)中断响应时间

一般情况下,中断响应时间都是大于3个机器周期而小于8个机器周期。若中断

请求发生在同级或高级中断正在响应或服务中的时候,需要的时间久无法计算了。

(4)应用举例

① 设置0IN T 、1IN T 中断的触发方式分别为电平触发和边沿触发。

当0IN T =0时,0IN T 为电平触发方式。微处理器在每个机器周期的S5P2

(第5个时钟周期的后半拍)采样0IN T 引脚电平。低电平时,置IE0=1,请求中断,低电平一直保持,直到中断得到响应;高电平时,将IE0清零。在电平触发方式下,中断返回前必须撤除0IN T 引脚的低电平。

当0IN T =1时,0IN T 为边沿触发方式。微处理器在每个机器周期的S5P2

采样0IN T 引脚电平,如果在连续的两个机器周期检测到0IN T 引脚由高电平变为低电平,即第一个周期采样到0IN T =1,第二个周期采样到0IN T =0,置IE=1,请求中断。在边沿触发方式下,微处理器响应中断时,能由硬件自动清除IE0标志。

S E T B E A 0S E T B E X

1S E T B E X

1S E T B I T

0C L R I T

② 设置0T 、1T 分别为高、低优先级。 S E T B E A

0S E T B E T

S E T B E T

1

S E T B P T

C L R P T

1

③允许

T低优先级中断,串行口高优先级中断。

1

S E T B E A

S E T B E T

1

S E T B E S

S E T B P S

C L R P T

1

4.2 80C51的定时/计数器系统

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

80C51单片机内部设有两个16位可编程定时/计数器,即定时器0(T0)和定时器1(T1)。

其中,T0由两个8位特殊功能寄存器TH0(高8位)和TL0(低8位)构成;T1由两个8位特殊功能寄存器TH1(高8位)和TL1(低8位)构成。

80C51的定时/计数器与CPU并行工作。定时/计数器由定时器0、定时器1和两个特殊功能寄存器(TCON、TMOD)组成。

T0和T1定时/计数器的两种功能模式

① 计数模式

计数是对由外部有效脉冲引入的外部计数事件的计数。80C51单片机的P3.4(T0)和P3.5(T1)即为外部计数脉冲的输入端。单片机在每个机器周期对它们进行采样,若在一个机器周期采样到高电平,在下一个机器周期采样到低电平,即得到一个有效的计数脉冲。计数寄存器在下一个机器周期自动加1。在计数模式下,80C51的计数源是外部计数脉冲。 ② 定时模式

定时就是对来自单片机内部的计数脉冲进行计数;在定时模式下,80C51的计数源是晶振频率12分频产生的脉冲。

2、定时/计数器的控制字

由软件写入的TMOD 和TCON 两个8位寄存器,用来设置T0或T1的工作方式和控制功能。

TMOD 主要用于设定定时器的工作方式,TCON 主要用于控制定时器的启动和停止,并保存T0和T1的溢出和中断标志。

(1)定时/计数器方式控制寄存器(TMOD-timer mode control register )

① M1、M0:工作方式控制位。 A 00:方式0。13位计数器。

B 01:方式1。16位计数器。

C 10:方式2。8位计数器,初值自动装入。

D 11:方式3。两个8位计数器,仅适用于T0。

② /C T :定时/计数器方式选择位,/C T =0,工作于定时方式;/C T =1,工

作于计数方式。

③ GATE :门控位。GATE=0,运行与0IN T 或1IN T 无关;GATE=1,运行与0IN T 或

1IN T 有关。

(2)定时/计数器控制寄存器(TCON )

定时/计数器控制寄存器TCON 除了可以进行字节寻址外,还可以进行位寻址操作。

TCON高4位功能如下:

●TF1/TF0:T1/T0溢出标志位。当T1或T0计数溢出时,由硬件自动使中断溢

出标志TF1/TF0置1,既表示计数溢出,又表示请求中断。CPU响应中断后

由硬件自动对TF1/TF0清零。也可以再程序中用指令查询TF1/TF0或置1、

清零。

●TR1/TR0:T1/T0运行控制位,可以通过软件置1或清零来启动或关闭T1/T0。

在程序中用指令“SETB TR1”使TR1位置1,定时器T1开始计数。

3、定时/计数器的4种工作方式

(1)工作方式0

其中TL0的高3位未用,当TL0的低5位溢出时,向TH0进位;当TH0溢出时,向中断标志位TF0进位,并请求中断。

(2)工作方式1

(3)工作方式2

工作方式2是自动装入计数初值的8位定时/计数器。

(4)工作方式3

此时,TL0和TL1被分成两个相互独立的8位定时/计数器。定时器T1无工作方式

3,若将T1设置为工作方式3时,会使T1立即停止计数。

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

单片机计数器与定时器的区别 在的学习过程中,我们经常会发现中断、串口是学习的难点,对于初学者来说,这几部分的内容很难理解。但是我个人觉得这几部分内容是的重点,如果在一个学期的课堂学习或者自学中没有理解这几部分内容,那就等于还没有掌握51单片机,那更谈不上单片机的开发了,我们都知道在成品的单片机项目中,有很多是以这几部分为理论基础的,万年历是以定时器为主的,报警器是以中断为主的,联机通讯是以串口为主的。 在这几部分内容中,计数器/定时器对于初学者说很容易搞混淆,下面我将对这方面的内容结合自己的学习经验谈几点看法。 计数器和定时器相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。 在定时器和计数器中都有一个溢出的概念,那什么是溢出了。我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。同样的道理,假设水龙头的水是一滴滴的往碗里滴,那

么总有一滴水是导致碗中的水溢出的。在碗中溢出的水就浪费了,但是在单片机的中溢出将导致一次中断。 在定时器计数器中,我们有个概念叫容量,就是最大计数量。 把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。 在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。 在这里计数初值有3个,假设: 根据所得的初始值,再将其转换为,就可以进行计数或者定时了。后面讲解定时器初值的。 单片机, 计数器, 定时器

中断系统与定时计数器各个位的定义

第5章中断系统与定时/计数器 本章概要及学习目标 本章介绍单片机中断系统的概念及89C51三种中断类型的工作方式;介绍定时/计数器的结构、类型及控制方式。并通过实训介绍中断技术、定时/计数器的具体应用及中断服务子程序的基本编程方法。 通过对本章的学习,读者应掌握和了解以下知: 1.89C51中断系统的概念及中断系统的功能 2.特殊功能寄存器TCON、SCON、IE、IP、TH、TL和TMOD各控制位的功能及设置方法 3.定时/计数器的结构、两种工作方式、四种工作模式及应用 4.中断服务子程序的结构及基本编程方法 5.MCS-51单片机外部中断源的扩展方法 5.1 中断系统 中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机的工作效率。中断技术的应用使计算机的功能更强,效率更高。 5.1.1 中断的概念 1.中断技术 中断是指CPU正在执行程序的过程中,CPU以外发生的某一事件(如芯片引脚一个电平的变化、一个脉冲沿的发生或定时/计数器的溢出等)向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。例5.1中,50ms定时时间到则发生定时器0溢出,向CPU提出中断请求,CPU 响应中断请求,就暂时终止当前执行的程序,转去执行相应的处理程序ISSR(Interrupt Service Subroutine)。 “中断”之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为“断点”。引起中断的原因或能发出中断申请的来源,称为“中断源”。中断源要求服务的请求称为“中断请求”(或中断申请)。例5.1中的中断服务子程序是ISSR程序,主程序中的断点(读者自行查找),中断源是定时器0,在50ms定时时间到后由硬件置位TCON寄存器中的TF0位,然后自动向CPU发出中断请求。 调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先无法确定,因为“中断”的发生是由外部因素随机决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。对这个中断全过程的分析,研究及实现方法称为中断技术。 2.中断技术的应用 采用中断技术能实现以下的功能: (1)并行处理有了中断技术,就解决了快速的CPU与慢速外设之间的速度匹配问题,CPU可以与多台外设并行工作,CPU可分时与多台外设进行信息交换。CPU在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。当外设准备就绪时,就向CPU

定时器计数器

定时器/计数器 MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0(由TH0和TL0组成)和定时器T1(由TH1和TL1组成),它们既可用作定时器定时,又可用作计数器记录外部脉冲个数,其工作方式、定时时间、启动、停止等均用指令设定。 定时器/计数器的结构 1.定时器/计数器的工作原理 定时器/计数器T0和T1的工作方式通过八位寄存器TMOD设定,T0和T1 的启动、停止由八位寄存器TCON控制。工作前需先装入初值,利用传送指令将初值装入加1计数器TH0和TL0或TH1和TL1,高位数装入TH0或TH1,低位数装入TL0或TL1。当发出启动命令后,加1计数器开始加1计数,加到满值(各位全1)后,再加1就会产生溢出,系统将初值寄存器清0。如果需要继续计数或定时,则需要重新赋计数初值。 2.定时器的方式寄存器TMOD 特殊功能寄存器TMOD为定时器的方式控制寄存器。TMOD是用来设定定时器的工作方式,其格式如下: 各位功能如下: (1)GATE控制定时器的两种启动方式 当GATE=0时,只要TR0或TR1置1,定时器启动。 当GATE=1时,除TR0或TR1置1外,还必须等待外部脉冲输入端(P3.3)或(P3.2)高电平到,定时器才能启动。若外部输入低电平则定时器关闭,这样可实现由外部控制定时器的启动、停止,故该位被称为门控位。定时器1类同。 (2)定时/计数方式选择位 当该位为0时,T0或T1为定时方式;当该位为1时,T0或T1为计数方式。(3)方式选择位M1、M0 M1、M0两位可组合成4种状态,控制4种工作方式。每种方式的功能如表5-1。 表5-1 M1、M0控制的工作方式 M1 M0 工作方式说明 0 0 0 1 1 0 1 1 0 1 2 3 13位计数器 16位计数器 可再装入8位计数器

中断及定时计数器

单片机的中断与定时器/计数器 中断就是停止当前的任务,去做另一个需要马上处理的任务,做完后再回去做原来的任务! P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/V PD P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD XTAL2XTAL1V SS V CC P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/V PP PSEN P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 RST P3.0/RXD P3.1/TXD XTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1 GND V CC P1.7P1.6P1.5P1.4P1.3P1.2 P1.1/AIN1P1.0/AIN0P3.7 注:类似的还有Philips公司的 87LPC64,20引脚 8XC748/750/(751),24引脚 8X749(752),28引脚 8XC754,28引脚 等等 如上图 8051中有5个中断: P3.2和P3.3为外部中断INT0和INT1端口, P3.4和P3.5为定时器/计数器中断T0和T1端口, 以及一个串行口中断,(此内容暂时不讲) 8052中有6个中断,比8051多一个特殊的定时器/计数器中断。(暂时不讲) 外部中断: INT0和INT1 外部中断通过其对应的引脚来接受外部中断请求,触发方式有两种: 1.低电平触发,即得到地电位就触发中断。 2.负边沿触发,即由高电平降至低电平的瞬间触发。 区别在于低电平触发属于静态触发,只要是低电平就一定触发;而负边沿触发为动态触发,必须由高电平变为低电平的时候才会触发。 控制触发方式的开关为:IT 。 IT0和IT1分别对应控制INT0和INT1的触发方式。 0为低电平触发,1为负边沿触发。 例:外部中断INT0开启低电平触发: IT0=0; 定时器/计数器中断: T0和T1 它有两种工作模式:定时器与计数器。 1. 定时器模式下,单片机对内部时钟脉冲进行计数。不使用外部端口。 2. 计数器模式下,单片机对外部脉冲进行计数,使用外部端口,外部脉冲由外部对应

用定时器计数器设计一个简单的秒表

目录 摘要................................................................................................ 错误!未定义书签。 1 Proteus简介错误!未定义书签。 2 主要相关硬件介绍错误!未定义书签。 AT89C52简介错误!未定义书签。 四位数码管错误!未定义书签。 74LS139芯片介绍错误!未定义书签。 3 设计原理错误!未定义书签。 4 电路设计错误!未定义书签。 电路框图设计错误!未定义书签。 电路模块介绍错误!未定义书签。 控制电路错误!未定义书签。 译码电路错误!未定义书签。 数码管显示电路错误!未定义书签。 仿真电路图错误!未定义书签。 5 设计代码错误!未定义书签。 6 仿真图错误!未定义书签。 7 仿真结果分析错误!未定义书签。 8 实物图错误!未定义书签。 9 心得体会错误!未定义书签。 参考文献错误!未定义书签。

摘要 现在单片机的运用越来越宽泛,大到导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理,小到广泛使用的各种智能IC卡、各种计时和计数器等等。本次课设我们要设计一个能显示计时状态和结果的秒表,它是基于定时器/计数器设计一个简单的秒表。 本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,显示时间为0~秒,计时精度为秒,能正确地进行计时,并显示计时状态和结果。其中软件系统采用汇编或者C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在keil中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键词:秒表,AT89C51,proteus,C语言

定时器计数器答案

定时器/计数器 6·1 80C51单片机内部有几个定时器/计数器?它们是由哪些专用寄存器组成? 答:80C51单片机内部设有两个16位的可编程定时器/计数器,简称为定时器0(T0)和定时 器l(Tl)。在定时器/计数器中的两个16位的计数器是由两个8位专用寄存器TH0、TL0,THl、TLl组成。 6·2 80C51单片机的定时器/计数器有哪几种工作方式?各有什么特点? 答:80C51单片机的定时器/计数器有4种工作方式。下面介绍4种工作方式的特点。 方式0是一个13位的定时器/计数器。当TL0的低5位溢出时向TH0进位,而TH0溢出时向中断标志TF0进位(称硬件置位TF0),并申请中断。定时器0计数溢出与否,可通过查询TF0是否置位或产生定时器0中断。 在方式1中,定时器/计数器的结构与操作几乎与方式0完全相同,惟一的差别是:定时器是以全16位二进制数参与操作。 方式2是能重置初值的8位定时器/计数器。其具有自动恢复初值(初值自动再装人)功;能,非常适合用做较精确的定时脉冲信号发生器。 方式3 只适用于定时器T0。定时器T0在方式3T被拆成两个独立的8位计数器TL0: 和TH0。其中TL0用原T0的控制位、引脚和中断源,即:C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INTO(P3.2)引脚。除了仅用8位寄存器TL0外,其功能和操作与方式0、方式1 完全相同,可定时亦可计数。此时TH0只可用做简单的内部定时功能。它占用原定时器Tl 的控制位TRl和TFl,同时占用Tl的中断源,其启动和关闭仅受TRl置1和清0控制。6·3 定时器/计数器用做定时方式时,其定时时间与哪些因素有关?作计数时,对外界计数频率有何限制? 答: 定时器/计数器用做定时方式时,其定时时间与时钟周期、计数器的长度(如8位、13位、16位等)、定时初值等因素有关。作计数时,外部事件的最高计数频率为振荡频率(即时钟周期)的1/24。 6·4 当定时器T0用做方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭? 答:定时器T0用做方式3时,由于TRl位己被T0占用,此时通过控制位C/T切换其定时器或计数器工作方式。当设置好工作方式时,定时器1自动开始运行;若要停止操作,只需送入一个设置定时器1为方式3的方式字。

定时器中断程序设计实验

实验一定时器/中断程序设计实验 一、实验目的 1、掌握定时器/中断的工作原理。 2、学习单片机定时器/中断的应用设计和调试 二、实验仪器和设备 1、普中科技单片机开发板 HC6800-EM3V3.0; 2、Keil uVision4 程序开发平台; 3、PZ-ISP 普中自动下载软件。 三、实验原理 805l 单片机内部有两个 16 位可编程定时/计数器,记为 T0 和 Tl。8052 单片机内除了 T0 和 T1 之外,还有第三个16位的定时器/计数器,记为T2。它们的工作方式可以由指令编程来设定,或作定时器用,或作外部脉冲计数器用。定时器T0由特殊功能寄存器TL0和TH0组成,定时器Tl由特殊功能寄存器TLl和TH1组成。定时器的工作方式由特殊功能寄存器TMOD编程决定,定时器的运行控制由特殊功能寄存器TCON编程控制。T0、T1在作为定时器时,规定的定时时间到达,即产生一个定时器中断,CPU转向中断处理程序,从而完成某种定时控制功能。T0、T1用作计数器使用时也可以申请中断。作定时器使用时,时钟由单片机内部系统时钟提供;作计数器使用时,外部计数脉冲由P3口的P3.4(或P3.5)即T0(或T1)引脚输入。 方式控制寄存器TMOD的控制字格式如下: 低4位为T0的控制字,高4位为T1的控制字。GATE为门控位,对定时器/计数器的启动起辅助控制作用。GATE=l时,定时器/计数器的计数受外部引脚输入电平的控制。由由运行控制位TRX(X=0,1)=1和外中断引脚(0INT或1INT)上的高电平共同来启动定时器/计数器运行;GATE=0时。定时器/计数器的运行不受外部输入引脚的控制,仅由TRX(X=0,1)=1来启动定时器/计数器运行。 C/-T 为方式选择位。C/-T=0 为定时器方式,采用单片机内部振荡脉冲的12 分频信号作为时钟计时脉冲,若采用12MHz的振荡器,则定时器的计数频率为1MHZ,从定时器的计数值便可求得定时的时间。C/-T=1为计数器方式。采用外部引脚(T0为P3.4,Tl为P3.5)的输入脉冲作为计数脉冲,当T0(或T1)输入信号发生从高到低的负跳变时,计数器加1。最高计数频率为单片机时钟频率的1/24。M1、M0二位的状态确定了定时器的工作方式,详见表。

PLC程序中定时器和计数器的配合应用

PLC程序中定时器和计数器的配合应用 实际应用中,定时器和计数器,常常有“强强联合”形式的搭配性应用。 一、定时器 1、定时器是位/字复合元件,可以有三个属性: 1)有线圈/触点元件,当满足线圈的驱动(时间)条件时,触点动作; 2)具有时间控制条件,当线圈被驱动时,触点并不是实时做出动作反应,而是当线圈被驱动时间达到预置时间后,触点才做出动作; 3)具有数值/数据处理功能,同时又是“字元件”。 2、可以用两种方法对定时时间进行设置: 1)直接用数字指定。FX编程器用10进制数据指定,如K50,对于100ms 定时器来讲,延时5秒动作。为5秒定时器。对LS编程器,可用10制数或16进制数设定,如50(或h32),对于100ms定时器来讲,延时5秒动作; 2)以数据寄存器D设定定时时间,即定时器的动作时间为D内的寄存数值。 3、由定时器构成的时间控制程序电路: LS编程器中的定时器有多种类型,但FX编程器中的定时器只有“得电延时输出”定时器一种,可以通过编写相应程序电路来实现“另一类型”的定时功能。图1程序电路中,利用M0和T1配合,实现了单稳态输出——断开延时定时器功能,X1接通后,Y0输出;X1断开后,Y0延时10秒才断开;T2、T3、Y2电路则构成了双延时定时器,X4接通时,Y2延时2秒输出;X4断开时,Y2延时3秒断开;Y3延时输出的定时时间,是由T4定时器决定的,T4的定时时间是同D1数据寄存器间接指定的。当X2接通时,T4定时值被设定为10秒;当X3接通时,T4定时值则被设定为20秒。XO提供定时值的清零/复位操作。 单个定时器的定时值由最大设定值所限定(0.1∽3276.7s),换言之,其延时动作时间不能超过1小时。如欲延长定时时间,可以如常规继电控制线路一样,将多只定时器“级联”,总定时值系多只定时器的定时值相加,以扩展定时时间。更好的办法,是常将定时器与计数器配合应用,其定时时间,即变为定时器的定时器与计数器的计数值相乘,更大大拓展了定时范围,甚至可以以月或年为单位

PLC中三种计数器和定时器

COUNTER计数器 1.CTD减计数器 当CD收到一个上升沿,CV递减一,收到第2个上升沿,CV再递减一,直到CV递减到0后,Q输出TRUE。 PV-----装入的是计数器的,初始数值,CV从这个初始数值开始递减(一个CD收到的上升沿脉冲让CV减一) LOAD-------当LOAD变为TRUE,减计数器复位,PV变成设置的最大值。 2.CTU加计数器 CU----接受上升沿个数,收到一个脉冲,CV增加1,直到CV=PV后,

Q输出TRUE,RESET复位----如果RESET=TRUE,则计数器被复位成0。--------------CU,Q,RESET都为BOOL变量,CV和PV为WORD 变量。 3.CTUD增减计数器 CU, CD, RESET, LOAD, QU , QD 都是 BOOL变量, PV 和 CV 都是 INT变量. 如果 RESET=TRUE, CV 被赋值为0. If LOAD=TRUE,那么 CV 被设置成PV的数值. 如果 CU收到一个上升沿脉冲信号, CV在不超出范围的前提下增加1。. 如果CD 收到一个上升沿脉冲信号, CV 在不小于0的情况下,会减少1。 当CV = PV时,QU输出TRUE. 当 CV= 0时,QD输出TRUE. 三种定时器的区别

TP定时器 Q由FALSE变成TRUE被IN上升沿促发,(脉冲促发),由TRUE 变成FALSE为达到延迟时间PT后促发。只要TP检测IN有一个上升沿,Q马上变成TRUE。计时开始-----当达到PT设置的时间后,不管IN为什么状态,Q由TRUE变成FALSE。 TON定时器 (延时接通) 当IN为TRUE,并且IN保持为TRUE,当ET的时间=PT以后,Q 促发,由FALSE变为TRUE。而且IN为TRUE不变,只要IN变为FALSE,IN变FALSE的下降沿马上促发Q由TRUE变成FALSE。

51单片机C语言程序 定时 计数器 中断

51单片机C语言程序定时计数器中断51单片机C语言程序定时计数器 中断 程序一 利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁, #include reg52.h//52单片机头文件 #include intrins.h//包含有左右循环移位子函数的库 #define uint unsigned int//宏定义 #define uchar unsigned char//宏定义 sbit P1_0=P1^0; uchar tt; void main()//主函数 { TMOD=0x01;//设置定时器0为工作方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;//开总中断 ET0=1;//开定时器0中断 TR0=1;//启动定时器0 while(1);//等待中断产生 } void timer0()interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt++;

if(tt==20) { tt=0; P1_0=~P1_0; } } 程序二 利用定时/计数器T1产生定时时钟, 由P1口控制8个发光二极管, 使8个指示灯依次一个一个闪动, 闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环。 #include reg52.h//52单片机头文件 #include intrins.h//包含有左右循环移位子函数的库 #define uint unsigned int//宏定义 #define uchar unsigned char//宏定义 sbit P1_0=P1^0; uchar tt,a; void main()//主函数 { TMOD=0x01;//设置定时器0为工作方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;//开总中断 ET0=1;//开定时器0中断 TR0=1;//启动定时器0 a=0xfe; while(1);//等待中断产生 } void timer0()interrupt 1

定时器与计数器

四川工程职业技术学院 单片机应用技术课程电子教案 Copyright ? https://www.wendangku.net/doc/4917992114.html, 第 讲 15 定时器/计数器基础

本讲主要内容: 15-1.实现定时的方法 15-2.定时器/计数器的结构和工作原理15-3.定时器/计数器的控制 15-4.定时器/计数器的工作方式 15-5.定时器/计数器应用

15-1.实现定时的方法 软件定时 ? 软件延时不占用硬件资源,但占用了CPU时间,降低了CPU的利用 率。例如延时程序。 采用时基电路定时 ?例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬 件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件 进行控制和修改,即不可编程,且定时时间容易漂移。 可编程定时器定时 ?最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时 精确和硬件定时电路独立的特点。 定时器/计数器 如何使用呢?

定时器/计数器的结构 定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD 是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON 是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 G A T E C /T M 1 M 0 G A T E C /T M 1 M 0 TH1TL1TH0TL0 T1方式T0方式 T1引脚 T0引脚 机器周期脉冲 内部总线 TMOD TCON 外部中断相关位 T F 1 T R 1 T F 0 T R 0 T1计数器 T0计数器 控制单元

定时器/计数器的工作原理 ?计数器输入的计数脉冲源 系统的时钟振荡器输出脉冲经12分频后产生; T0或T1引脚输入的外部脉冲源。 ?计数过程 每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断 请求(定时器/计数器中断允许时)。如果定时器/计数器工作于定时模式,则表 示定时时间已到;如果工作于计数模式,则表示计数值已满。

计数器与定时器概念

计数器与定时器概念 一、计数概念的引入 从选票的统计谈起:画“正”。这就是计数,生活中计数的例子处处可见。例:录音机上的计数器、家里面用的电度表、汽车上的里程表等等,再举一个工业生产中的例子,线缆行业在电线生产出来之后要计米,也就是测量长度,怎么测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎么办呢?行业中有很巧妙的方法,用一个周长是1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不就是线长1米嘛,所以只要记下轮转了多少圈,就可以知道走过的线有多长了。 二、计数器的容量 从一个生活中的例子看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。录音机上的计数器最多只计到999….那么单片机中的计数器有多大的容量呢?8031单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。 三、定时 8031中的计数器除了可以作为计数之用外,还可以用作时钟,时钟的用途当然很大,如打铃器,电视机定时关机,空调定时开关等等,那么计数器是如何作为定时器来用的呢? 一个闹钟,我将它定时在1个小时后闹响,换言之,也可以说是秒针走了(3600)次,所以时间就转化为秒针走的次数的,也就是计数的次数了,可见,计数的次数和时间之间的确十分相关。那么它们的关系是什么呢?那就是秒针每一次走动的时间正好是1秒。

图1 结论:只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。 由此,单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机提供一个非常稳定的计数源。 那么提供组定时器的是计数源是什么呢?看图1,原来就是由单片机的晶振经过12分频后获得的一个脉冲源。晶振的频率当然很准,所以这个计数脉冲的时间间隔也很准。问题:一个12M的晶振,它提供给计数器的脉冲时间间隔是多少呢?当然这很容易,就是12M/12等于1M,也就是1个微秒。 结论:计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。 四、溢出 让我们再来看水滴的例子,当水不断落下,盆中的水不断变满,最终有一滴水使得盆中的水满了。这时如果再有一滴水落下,就会发生什么现象?水会漫出来,用个术语来讲就是“溢出”。 水溢出是流到地上,而计数器溢出后将使得TF0变为“1”。至于TF0是什么我们稍后再谈。一旦TF0由0变成1,就是产生了变化,产生了变化就会引发事件,就象定时的时间一到,闹钟就会响一样。至于会引发什么事件,我们下次课再介绍,现在我们来研究另一个问题:要有多少个计数脉冲才会使TF0由0变为1。 五、任意定时及计数的方法 刚才已研究过,计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。这个没有问题,问题是我们现实生活中,经常会有

单片机实验3中断、定时器计数器实验

西南科技大学实验报告 课程名称:单片机原理及应用A 实验名称:中断、定时器/计数器实验姓名: 学号: 班级:生医1401 指导教师:雷华军 西南科技大学信息工程学院制

实验题目 数码管动态扫描显示驱动、键盘动态扫描驱动 一、实验目的 1、熟练巩固单片机开发环境KEIL界面的相关操作和PROTUES仿真软件的操 作,会使用HEX文件进行单片机的仿真。 2、了解定时器的原理和四种工作方式的使用方法,学习定时器的相关应用,包括产生信号和 计数,利用定时器进行延时等。 3、进一步掌握熟练单个数码管以及多位数码管的显示原理,学会将0~1000的数字进行显示。 4、掌握利用单片机产生矩形方脉冲的相关原理。 二、实验原理 1、定时器结构和原理 图① 上图①为定时器T0、T1的结构,其中振荡器经12分频后作为定时器的时钟脉冲,T为外部计数脉冲输入端,通过开关K1选择。反相器,或门,与门共同构成启/停控制信号。TH 和TL为加1计数器,TF为中断标志。每接收到一个脉冲,加1计数器自动加1,当计数器中的数被加为0时产生溢出标志,TF将被置1。计数器工作方式的选择和功能的实现需要配置相应的寄存器TMOD和TCON。 2、定时器工作方式 定时器共有四种工作方式分别为方式0——方式3。 方式0:13位计数器,最大计数值为213个脉冲。 方式1:16位计数器,最大计数值为216个脉冲。 方式2:8位自动重装计数器。该方式下,TL进行计数工作,TH用于存放计数初值,当产生溢出中断请求时会自动将TH中的初值重新装入TL,以使计数器继续工作。 方式3:仅限于T0计数器,在方式3下,T0计数器被分成两个独立的8为计数器TL0和TH0。

定时器和计数器的实例

TSCR1 寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM 方式下的行为,还包括标志的管理方式。其各位的意义如下: TEN:定时器使能位,此外它还控制定时器的时钟信号源。要使用定时器模块的 IC/OC 功能,必须将 TEN 置位。如果因为某种原因定时器没有使能,脉冲累加器也将得不到 ECLK/64 时钟,因为 ECLK/64 是由定时器的分频器产生的,这种情况下,脉冲累加器将不能进行引脚电平持续时间的累加。 0:定时器/计数器被禁止,有利于降低功耗。 1:定时器/计数器使能,正常工作。 TSWAI:等待模式下计时器关闭控制位。 【注意】定时器中断不能用于使 MCU 退出等待模式。 0:在中断等待模式下允许 MCU 继续运行。 1:当 MCU 进入中断等待模式时,禁止计时器。 TSFRZ:在冻结模式下计时器和计数器停止位。 0:在冻结模式下允许计时器和计数器继续运行。 1:在冻结模式下禁止计时器和计数器,用于仿真调试。 【注意】TSFRZ 不能停止脉冲累加。

TFFCA:定时器标志快速清除选择位。 0:定时器标志普通清除方式。 1:对于 TFLGl($0E)中的各位,读输入捕捉寄存器或者写输出比较寄存器会自动清除相应的标志位 CnF。对于 TFLG2($0F)中的各位,任何对 TCNT 寄存器($04、$05)的访问均会清除 TOF 标志;任何对PACN3 和 PACN2 寄存器($22,$23)的访问都会清除PAFLG 寄存器($21)中的 PAOVF 和 PAIF 位。任何对 PACN1 和PACN0 寄存器($24,$25)的访问都会清除 PBFLG 寄存器($21)中的 PBOVF 位。 【说明】这种方式的好处是削减了另外清除标志位的软件开销。此外,必须特别注意避免对标志位的意外清除 可在任何时候读或写。 TOI:定时器/计时器溢出中断使能。 0:中断被禁止。 1:当 TOF 标志被置位时发出硬件中断请求。 【注意】TOF标志位在TFLG中 TCRE:定时器/计数器复位使能。

接口 定时器与计数器实验(8253)-- 8253定时器实验

同组同学学号: 同组同学姓名: 实验日期:2012 年 3月 26日交报告日期:2012 年 5月 30日实验(No. 1_1 )题目:定时器与计数器实验(8253)-- 8253定时器实验 实验目的及要求: 实验目的: 1、学习8253可编程定时器/计数器定时方法。 2、学习8253多级串联实现大时间常数的定时方法。 3、学习8088/86控制8253可编程定时器的方法。 实验要求: 用8253对标准脉冲信号进行计数,就可以实现定时功能。用板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高/1秒钟低的脉冲信号。因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。 实验电路及连线: 连线连接孔1 连接孔2 1 8253_CS CS4 2 8253_OUT0L0 3 8253_GATE0VCC 4 8253_CLK08253_OUT1 5 8253_GATE1VCC 6 8253_CLK1F/4(1M) 7 4MHz Fin 实验说明: 1、本实验工作方式0,计数值减完后输出一个脉冲宽度的高电平。而本实验在计数值减完后,管脚状态产生变化(从高到低或从低到高)。直到下一次计数值减完。这样输出的波形为方波。 2、由于定时常数过大,就要用多级串联方式。本实验采用两级计数器。定时常数分别为100和10000。将计数器的输出接到计数器0输入。计数器0 的输出接到LED0。

实验框图: 主程序框图 源程序及分析: CONTROL equ 0c003h ;设置命令寄存器 COUNT0 equ 0c000h ;设置计数器0 COUNT1 equ 0c001h ;设置计数器1 COUNT2 equ 0c002h ;设置计数器2 code segment assume cs:code start proc near ;第一次定时器设定: mov al, 36h; ; 计数器0,16位,方式3,二进制(00110110B=36h) mov dx, CONTROL out dx, al mov ax, 1000 mov dx, COUNT0

89C51定时器和计数器

AT89C51定时器/计数器 1.定时和计数功能: AT89C51有两个可编程的定时器和计数器:T0和T1。它们可以工作在定时状态也可以工作在计数状态。做定时器时不能用作计数,反之亦然。 2.计数器: 当定时器/计数器作“计数器”用时,可对接到14引脚(T0/P3.4)或15引脚(T1/P3.5)的脉冲信号数进行计数,每当引脚发生从“1”到“0”的负跳变时,计数器加1. 3.定时器: 当定时器/计数器作“定时器”用时,定时信号来自内部的时钟发生电路,每个机器周期等于十二个震荡周期,每过一个机器周期,计数器加1.当晶振频率为12MHz时,则机器周期为1微秒;在此情况下,若计数器为100, 则所定时的时间为:100 x 1 =100微秒。

4.与定时器/计数器有关的特殊功能寄存器 5.定时器/计数器的控制 AT89C51单片机定时器/计数器的工作由两个特殊的寄存器TMOD和TCON的相关位来控制, TMOD用于设置它的工作方式,TCON用于控制其启动和中断的请求。 1).TMOD用于设置定时器/计数器的工作方式,其字节地址为89H。低四位用于T0,高四位用于T1。虽有位名称,

但无位地址,不可进行位操作。 TMOD中的结构和各位名称 ○1M1,M0:工作方式选择位。M1、M0为两位二进制数,可表示四种工作方式,见下表: ○2C/T:计数/定时方式选择位。 C/T = 1,为计数工作方式,对输入到单片机T0、T1引用的外部信号脉冲计数,负跳变脉冲有效,用作计数器。C/T = 0,为定时工作方式,对片内机器周期(1个机器周期等于12晶振周期)信号计数,用作定时器。

系统定时器和计数器

系统定时器和计数器 在GSM系统中有许多系统定时器和计数器,其作用主要是用来检测网络的运行、报告线路故障等。可以分为三个大类: 无线资源管理的定时器和计数器 移动性管理的定时器 电路交换呼叫定时器 其中每一类的定时器又分为MS侧的和网络侧的,后面主要列出了无线资源管理的定时器和计数器和移动性管理的定时器,因为它们涉及较多上层的内容。 1. 无线资源管理的定时器和计数器 1.1 MS侧的定时器 T3126 作用: 用于立即指配过程。在移动台发出信道请求(Channel Request)或收到立即指配拒绝(Immediate Assignmnet Reject)后启动,当收到立即指配(Immediate Assignment)或立即指配扩展(Immediate Assignment Extended)后停止。如果溢出则移动台退出立即指配过程。 取值: T3126的最小值是T+2S个时隙,最大值是5秒。 T3122 作用: 用于随机接入过程,在收到立即指配拒绝消息后设置。 具体见等待指示。

Mobile Station Network ┌──┐ ││ ││ RR connection established ││ └──┘ ┌──┐ handover │ HANDOVER COMMAND │ old channel, │ <------------------------ │ old cell -│- - - - - - - - - - - - - -│- - - - - - - - │ T3124 expiry or │ new channel, │ lower layer failure │ new cell -│- - - - - - - - - - - - - -│- - - - - - - - - │ HANDOVER FAILURE │ old channel, │ ------------------------>│ old cell └──┘ ┌──┐ │ . │ │ . │ │ . │ └──┘ 图8 切换失败,重建旧信道 作用: 用于两个非同步小区的切换捕获程序,检测来自网络的应答。在移动台发出切换接入(Handover Access)后设置(在切换接入的开始时隙后),当收到一个物理信息(Physical Information)后停止。如果T3124在移动台在新的信道上发送切换完成(Handover Complete)前溢出,则移动台去激活新信道,激活旧信道(仅适用于两个异步小区的情况)。 取值: 在切换命令(Handover Command)中分配的信道是SDCCH(+SACCH)时,取675 ms,其它取320 ms。 T3110

第5讲 中断系统和定时器(一)

教案首页 (以2课时为单元) 课序授课日期授课班次授课教师批准人 薛凯凯 课题第5讲中断系统和定时器(一) 目的要求掌握单片机的主要功能部件;掌握单片机的引脚及其功能定义;掌握单片机的复位电路、时钟电路;理解单片机的指令周期 教学内容1)AT89S51单片机内部结构(如图) 2)AT89S51单片机的CPU 3)AT89S51单片机的引脚及其功能 重点难点单片机的主要功能部件;单片机的引脚功能定义单片机的时钟电路及指令周期 教学方法 手段 理论讲述为主,结合举例进行讲解 教学步骤1)回顾与提问 2)课程讲解 3)课堂讨论 4)小结 5)布置作业 复习提问题1、单片机的概念 2、单片机的应用环节 作业题目 预习内容 课时分配(以分钟计算) 教学环节复习提问新课讲解课堂讨论每课小结布置作业时间分配 3 85 7 4 1

教学内容课堂组织 【回顾与提问】第5讲中断系统和定时器(一) 一、中断系统的概念 在日常生活中,“中断”是一种很普遍的现象。例如某同学正在教室写作业,忽然被人叫 出去,回来后,继续写作业。单片机中也有同样的问题。CPU正在执行原程序,突然被意外 打断,转去执行新程序;CPU执行新程序技术后,又回到原程序中继续执行。这种停止当前 工作,转而去做其他工作,做完后又返回来做先前工作的现象称为中断。 1.中断源 要让单片机停止当前程序去执行其他程序,需要向他发出请求信号,CPU接收到中断请 求信息号才能产生中断。让MCS-51单片机提供了5个中断源,其中两个为外部中断请求源 INT0(P3.2)和INT1(P3.3),两个片内定时器/计数器T0和T1的益处请求中断源TF0(TCON 的第5位)和TF1(TCON的第7位),1个片内串行口发送或接收中断请求源TI(SCON的 第1位)和RI(SCON的第0位)。 2.中断的优先级 单片机内部的CPU工作时,如果一个中断源向他发出中断请求信号,它就会产生中断。 但是,如果同时收到两个中断源发出中断请求信号,CPU会优先接收级别高的中断请求源, 然后再接收优先级别低的中断请求。表1列出了C51的独立中断请求源由其硬件结构决定的 自然优先级安排顺序。 对应于MCS-51的5个独立中断,应有相应的中断服务程序。这些中断服务程序有专门 规定的存放位置,即表1中的中断入口地址。当有了中断请求后,CPU可以根据入口地址迅 速找到中断服务程序并开始执行,大大提高执行效率。 需要说明的是,为了便于C语言编写单片机中断程序,C51编译器也支持51单片机的

实验二 中断控制实验实验三 定时/计数器实验

《单片机原理与接口技术》 第3章单片机集成功能模块实验实验二中断控制实验 实验三定时/计数器实验 班级:学号: 姓名:成绩: 指导老师: 日期:2017年11月6日

实验二中断控制实验 一、实验目的 学习中断控制技术的基本原理,掌握中断程序的设计方法。 二、实验原理 1、参照实验电路连线图接线,在8051的P1口上接8个发光二极管,在INT0(P3.2)接入触发脉冲电路,利用下降沿触发产生中断。 2、编制主程序,使P1口的8个发光二极管同时亮,延时一会儿在同时熄灭,延时时间自定。外来脉冲每触发一次,主程序便中断一次,在中断服务子程序中,使P1口的8个发光二极管在某一时刻只有一个点亮,并向左循环移动。 三、仪器设备: 1、PC计算机一台。 2、Dais-386PRO+实验系统一套。 四、实验内容: 1、定时器中断 单片机集成的定时器可以产生定时中断,利用定时器T0,编 写程序,使P1.0控制的发光二极管L0每隔1秒交替点亮或熄灭。 实验步骤: 1)按图3-2-1连接实验电路,参考程序:A51\3_2_1.ASM; 2)编写程序,经编译、链接无语法错误后装载到实验系统; 3)运行程序,观察发光二极管L0,应每隔1秒交替点亮或熄 灭; 4)实验完毕后,应使用暂停命令中止程序的运行。 2、外部中断 L0P1.0 发光二极管 单片机图3-2-2 实验接线图SP 单脉冲 P3.2 L0P1.0 发光二极管单片机图3-2-1 实验接线图

P3.2(INT0)连接单脉冲发生器,编写程序,每按一次脉冲产生一次中断,使P1.0控制的发光二极管L0交替点亮或熄灭。 1)按图3-2-2连接实验电路,参考程序: A51\3-2-2.ASM; 2)编写程序,经编译、链接无语法错误后装载到 实验系统; 3)运行程序,每按动一次单脉冲按钮令发光二极 管L0交替点亮或熄灭; 4)实验完毕后,

51单片机计数器和定时器的本质区别及应用方法

51单片机计数器和定时器的本质区别及应用方法 在51单片机的学习过程中,我们经常会发现中断、计数器/定时器、串口是学习单片机的难点,对于初学者来说,这几部分的内容很难理解。但是我个人觉得这几部分内容是单片机学习的重点,如果在一个学期的课堂学习或者自学中没有理解这几部分内容,那就等于还没有掌握51单片机,那更谈不上单片机的开发了,我们都知道在成品的单片机项目中,有很多是以这几部分为理论基础的,万年历是以定时器为主的,报警器是以中断为主的,联机通讯是以串口为主的。 在这几部分内容中,计数器/定时器对于初学者说很容易搞混淆,下面我将对这方面的内容结合自己的学习经验谈几点看法。 计数器和定时器的本质是相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。 在定时器和计数器中都有一个溢出的概念,那什么是溢出了。我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。同样的道理,假设水龙头的水是一滴滴的往碗里滴,那么总有一滴水是导致碗中的水溢出的。在碗中溢出的水就浪费了,但是在单片机的定时计数器中溢出将导致一次中断。 在定时器计数器中,我们有个概念叫容量,就是最大计数量。 方式0是2的13次方, 方式1是2的16次方, 方式2是2的8次方, 把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。 在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。

相关文档
相关文档 最新文档