当前位置:文档之家› GFS-CN-333E M13 定时器和计数器功能

GFS-CN-333E M13 定时器和计数器功能

GFS-CN-333E M13 定时器和计数器功能
GFS-CN-333E M13 定时器和计数器功能

定时器和计数器

功能

目标

完成本单元学习后,学员应当能够:

?使用定时器和计数器功能编制梯形逻辑应用程序;

?存取定时器/计数器的数据;

?使用定时器和计数器下载、调试和测试梯形逻辑程序。

定时器和计数器功能

13 - 2GE Fanuc Automation 技术培训中心

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 3

概述

梯形图功能

梯形程序块是由梯形逻辑功能构成的。若要创建一个可执行的逻辑单元,你将功能及其操作数插入到梯形程序块中。编辑器自动地按照要求建立新的梯级。每个功能对变量执行一次操作,该变量被定义为与梯形逻辑相关联对象。

注解

全部可用的功能包含在 工具箱的PLC 逻辑开发器的指令抽屉中。将这些功能拖曳到你的梯形逻辑的任一个梯级中。

梯形逻辑功能根据执行的操作类型分组。这些指令组是: ? 梯形图高级数学运算 ? 梯形图位操作 ? 梯形图线圈 ? 梯形图触点 ? 梯形图控制功能 ? 梯形图转换功能 ? 梯形图计数器

? 梯形图数据传送功能 ? 梯形图数据查表功能 ? 梯形图数学运算功能 ? 梯形图程序流向功能 ? 梯形图关系运算功能 ? 梯形图定时器

在前一单元我们已经讨论了梯形图的触点和线圈,在本单元中我们着手讨论梯形图的定时器和计数器。

定时器和计数器功能

13 - 4

GE Fanuc Automation 技术培训中心

定时器

与定时器功能相关联的数据在电源通断时始终是被保留的。

表 13-1. 可供使用的定时器

定时器需要的功能块数据

每个定时器使用一个一维的、由三个字数组排列的%R 存储器,存储下列信息:

当前值 (CV) 字 1 预置值 (PV) 字 2 控制字

字 3

当向定时器输入时,必须为三字数组(寄存器的三字程序块)输入一个起始地址。

字 1: 当前值 (CV)

警告

第一个字(CV) 能够被读取但是不能写入,否则会导致功能运行不正常。

字 2: 预置值 (PV)

当预置值(PV) 操作数是一个变量时,通常将它设定到与字2在定时器功能块中的位置不同的另一个位置。

? 如果你使用一个不同的地址并且直接更改字2,你的更改将不起作用,因为PV 将覆写字2。 ? 如果预置值操作数和字2的地址相同,你能够在定时器运行时更改字2中的预置值,并且更改是有效的。

警告!

不要使用2个连续的字(寄存器)作为二个定时器的起始地址。Logic Developer - PLC 并不检验或警告你寄存器块是否重叠。如果你将第二个定时器的当前值放置到前一个定时器的预置值的第一个记录,定时器将不能按照预定要求工作。

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 5

字 3: 控制字

控制字存储与之相关的定时器的布尔逻辑的输入和输出状态,如下图所示:

图 13-1. 控制字存储布尔逻辑的输入和输出状态

位 0 至位 11 用于定时器精确度;不用于计数器。

警告

第三个字(控制字) 能够被读取,但是不能写入,否则功能不起作用。

断开延迟定时器

图 13-2. 断开延迟定时器

运行

当电源关闭时,断开延迟定时器(OFDT) 增加计时值,当电源开启时,定时器的当前值(CV )复位到零。OFDT 传送电力的过程一直到规定的时间间隔 PV (预置值) 用完才结束。

时间可以按照1/10秒(0.1)、1/100秒(0.01)、或1/1000秒(0.001)进行计算。预置值的范围是0 至 +32,767个时间单位。如果预置值超出范围,它就对定时器的字2不起作用。电源故障时定时器的值是保留的;而通电时不发生自动执行的初始化过程。

当断开延迟定时器初次通电时,当前值设置为零,定时器向右传送电力,即使预置值=0。 只要定时器通电,输出就保持导通。如果断开延迟定时器停止从左面接受电源,它仍继续向右面传送电力,此时断开延迟定时器开始累计时间的当前值。

当每次断开延迟定时器随着电源从开启转换到关闭而被激活时,当前值被更新,反映自从定时器关闭后经过的时间。断开延迟定时器继续向右传送电力,一直到当前值=预置值为止。待到当前值=预置值时,断开延迟定时器停止向右传送电力并且停止累计时间。当前值保持与预置值相等,从来不超过预置值。如果预置值=0,一旦定时器停止通电,它就停止向右传送电力。

? 注解!

当使用位测试、位设置、位清除、或位定位功能时,位的编号从1至16,而不是右图显示的0至15。

? 注解!

当断开延迟定时器使用在不是每次扫描都被调用的程序块中时,定时器累计程序块二次调用它的间隔时间,直到被复位为止。这意味它在程序中的扫描比主程序块中定时器的扫描慢得多。对于长时间不用的程序块,定时器编程时应当考虑到这个弥补特性。例如,如果程序块中一个定时器被复位,并且程序块长达4分钟时间没有被调用(处于停用 ),当程序块被调用时,4分钟时间将予累加。在定时器被启用时要计入这段时间。直至定时器被第一次复位。

定时器和计数器功能

13 - 6

GE Fanuc Automation 技术培训中心

当功能元件再次接受电源时,当前值复位到零。

警告

如果允许在CPU 的一次扫描期间具有相同基准地址的相同的定时器多次出现,定时器的当前值将是相同的,定时器的预置值将等于第一个开启的定时器的预置值。

A B C D E F G

A. E nable 和 Q 二者都变为高电平; 定时器复位(当前值 = 0).

B. E nable 变为低电平; 定时器开始累计时间。

C. E nable 变为高电平; 在当前值可能达到预置值之前定时器复位(当前值 = 0) ,

D. E nable 变为低电平; 定时器开始累计时间。

E . 当前值达到预置值; Q 变为低电平, 定时器停止累计时间。

F. E nable 变为高电平; 定时器复位(当前值 = 0) 同时 Q 变为高电平。

G. E nable 变为低电平; 定时器开始累计时间。

图 13-3. 断开延迟定时器的运行

操作数

操作数 数据类型

存储区

描述

????

一维的

WORD 3个字的数组

R ???? 是一个3字WORD 数组的起始地址:

字 1: 当前值 (CV) 字 2: 预置值 (PV) 字 3: 控制字

警告:其它指令中不要使

用????、 ????+1、或 ????+2 地址。重复的参考变量将造成定时器运行不稳定。

PV

INT 变量或常数 I ,Q, M, T, G, R, AI, AQ 启用或复位定时器时使用的预置值。

0至+32,767范围,如果预置值超出

范围,它对字2没有影响。

表 13-2. 可供使用的操作数

数组

数组是一个由一系列具有相同数据类型的变量单元组成的复合数据类型。任何变量可以成为一个数组,除了另一个数组或变量单元之外。在 Machine

Edition 中,你可以建立一维数组和二维数组。定时器属于一维数组。

Q (output)

Enable

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 7

布尔型存储器中的8位和16位变量

在90?系列和 Versamax? PLCs 中,大多数梯形图指令允许你在%I 、 %M 、 %Q 、 %T 、和 %G 布尔型存储器(位存储器) 中赋值8位和16位变量。通常,%S 布尔型存储器没有这一性能。

为了将布尔型存储器作为寄存器处理,你必须按照“模数8加1”为一个8位或16位变量设置一个起始位存储器地址,换句话说,如地址00001、 00009、 00017、 00025、 00033、 00041、 00049等。

有些用户发现在布尔型存储器中能有效进行数学运算,然后使用 位操作指令询问各个位的状态。 例 1

每当触点%I00001闭合时,断开延迟定时器就接通输出线圈%Q00001。在触点 %I0001断开以后,输出线圈 %Q0001 保持接通2秒钟,然后断路。 例 2

使用逻辑非输出线圈,其输出运行过程相反。在此电路中,每当触点%I0001闭合时,断开延迟定时器使逻辑非输出线圈%Q0001断开。在触点 %I0001断开以后,线圈%Q0001保持断路2秒钟,然后接通。

接通延迟秒表定时器

在本工作手册的最后单元将简要地讨论位操作指令。

图 13-4. 具有输出线圈的OFDT

图 13-5. 具有逻辑非输出线圈的OFDT

图 13-6. 接通延迟秒表定时器

定时器和计数器功能

13 - 8

GE Fanuc Automation 技术培训中心

运行

当能保持的接通延迟秒表定时器(ONDTR)通电时,它增加计时值并且在失电时保持这个值。 计时的时间可以按照1/10秒(0.1)、1/100秒(0.01)、或1/1000秒(0.001)进行。计时范围是0 至 +32,767个时间单位。电源故障时定时器的状态被保留。上电时不发生自动执行的初始化过程。

当该功能元件初次通电时,定时器开始累计时间(当前值 (CV))。 当定时器遇到梯形逻辑时,其当前值被更新。在当前值等于或大于预置值(PV)时, 输出 Q 就被通电激励,不管电源输入的状态如何。

只要定时器继续通电,它就继续累计时间,一直至当前值等于最大值(+32,767 个时间单位)为止。一旦达到最大值,它就保持住,同时输出Q 保持被激励状态,不管启动输入的状态如何。

当定时器失去电源以后,当前值停止增加并被保持。输出Q ,如果处于通电激励状态,将保持激励。当功能元件再次通电时,当前值从被保持的值起步又继续增加。

当复位 R 接受电源时,当前值被设置返回到零,此时输出Q 被断电去除激励。

警告

如果允许在CPU 的一次扫描期间具有相同基准地址的同一个定时器多次出现,定时器的当前值将是相同的,定时器的预置值将等于第一个开启的定时器的预置值。

A. E NABLE 变为高电平; 定时器开始累计时间.

B. 当前值达到预置值P V; Q 变为高电平。定时器继续累计时间, 直至E NABLE 变低电平为止, RE SE T

变为高电平或者当前值等于最大时间值。 C. RESE T 变为高电平; Q 变为低电平, 已经累计的时间值被复位(CV=0).

D. RESE T 变为低电平; 定时器重新开始累计时间, 此时 E NABLE 为高电平。 E . ENABLE 变为低电平; 定时器停止累计时间。已经累计的时间保持不变。. F. E NABLE 再变为高电平; 定时器继续累计时间。

G. 当前值变为等于预置值P V; Q 变为高电平。定时器继续累计时间直至E NABLE 变低电平为止,

RE SE T 变为高电平或者当前值变为相等于最大时间值。 H. E NABLE 变为低电平; 定时器停止累计时间。

图 13-7. 接通延迟秒表定时器的运行

注解!

对于90?-35x 系列和36x CPUs , 如果接通延迟秒表定时器的输入电源为低电平,预置值=0,复位R 接受电源,然后当前值被设置返回到零,输出将变为低电平。但是,对于 90?系列311 和 341 CPUs ,在同样的条件下,输出将是高电平。

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 9

操作数

表 13-3. 可供使用的接通延迟秒表定时器操作数

举例

一个保持的接通延迟定时器用于产生一个输出信号(%Q0011) ,该信号在%Q0010 开启0.8秒之后接通。并且,当%Q0010关闭时断开。

图 13-8. 保持的接通延迟定时器示例

定时器和计数器功能

13 - 10GE Fanuc Automation 技术培训中心

接通延迟定时器

图 13-9. 接通延迟定时器

运行

当接通延迟定时器(TMR)通电时,它增加计时值;当失电时,复位到零。当经过规定的预置时间间隔PV(预置值)以后,只要定时器接通电源,它就传送电力。

计时时间可以按照1/10秒(0.1)、1/100秒(0.01)、或1/1000秒(0.001)进行。计时范围是0 至+32,767个时间单位。电源故障时定时器的状态被保留;上电时不发生自动执行的初始化过程。

当接通延迟定时器功能元件通电时,定时器开始累计时间(当前值(CV))。当定时器遇到梯形逻辑时,当前值被更新,反映从上一次复位以来定时器被启用的总的经过时间。

只要输入电源保持接通,就发生更新。在当前值等于或超过预置值(PV)时,功能元件开始向右传送电力。定时器继续累计时间,一直至达到最大值(32,767 个时间单位)为止。

当输入端电源从开启切换到关闭时,定时器停止累计时间,当前值被复位到零,输出Q 关断。

当启动计时寄存器并且预置值=当前值时,输出 Q 被通电激励。

警告

如果允许在CPU的一次扫描期间具有相同基准地址的同一个

定时器多次出现,定时器的当前值将是相同的,定时器的预置

值将等于第一个开启的定时器的预置值。

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 11

A. E NABLE 变为高电平; 定时器开始累计时间.

B. 当前值达到预置值 P V; Q 变为高电平, 定时器继续累计时间.

C. E NABLE 变为低电平; Q 变为低电平; 定时器停止累计时间、当前时间被清除.

D. E NABLE 变为高电平; 定时器开始累计时间.

E . 在当前值达到预置值P V 之前E NABLE 变为低电平; Q 仍保持低电平; 定时器停止累计时间、并被清

除为零(CV=0)。

图 13-10. 接通延迟定时器的运行

操作数

表13-4. 可供使用的接通延迟定时器操作数

举例

命名为TMRID 的接通延迟定时器被用于控制线圈导通的时间长短。该线圈被赋值为DWELL 变量名。当具有DO_DWL 变量名的常开(瞬时) 触点接通时,线圈DWELL 就被通电激励。

线圈DWELL 的触点使线圈DWELL 保持激励(此时触点DO_DWL 释放),同时启动接通延迟定时器TMRID 。 当TMRID 达到5/100秒的预置值时,线圈 REL 通电激励,中断线圈DWELL 的闭锁状态。触点DWELL 断开接通延迟定时器TMRID 的电源,将其当前值复位并去除线圈REL 的激励。此时,电路又准备接受触点DO_DWL 的另一次瞬时激活。

定时器和计数器功能

13 - 12GE Fanuc Automation 技术培训中心

图 13-11. 接通延迟定时器的示例

计数器

与计数器功能相关联的数据在电源循环期间被保留。

表 13-5. 可用的计数器

计数器需要的功能块数据

每个计数器使用%R存储器中的一个一维的三字数组存储以下信息: 当前值 (CV) 字 1

预置值 (PV) 字 2

控制字字 3

当你向计数器输入时,必须输入一个三字数组(寄存器块)的起始地址,诸如???? 操作数。

警告

不要使用2个连续的寄存器作为二个计数器的起始地址。

CIMPLICITY Logic Developer - PLC 并不检验或警告你寄存器

块是否重叠。如果你将第二个计数器的当前值放置到前一个计

数器的预置值的第一个记录,计数器将不能工作。

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 13

字 1: 当前值 (CV)

警告

如果你向字1(CV )写入数据,必须非常小心,因为可能存在功能不正常的危险。

字 2: 预置值 (PV)

当预置值 (PV) 操作数是一个变量时,通常将它设置在与计数器功能块中字2不同的位置。

? 如果使用一个不同的地址并且直接更改字2,这一更改将无效,因为预置值PV 将覆写字2。 ? 如果预置值PV 操作数和字2使用相同的地址,你可以在计数器运行时更改字2中的预置值,这一更改将有效。

字 3: 控制字

控制字存储相关计数器的布尔型输入和输出状态,如下图所示

:

图 13-12. 控制字存储布尔逻辑的输入/输出状态

警告

第三个字(控制字) 能够被读取,但是不能被写入,否则功能将失去作用。

减法计数器

图 13-13. 减法计数器

运行

减法计数器(DNCTR) 的作用是从一个预置值倒计数。最小预置值(PV) 是零; 最大预置值是+32,767 个数。当当前值(CV) 达到最小值、-32,768,它就保持为这个数直至被复位。当减法计数器复位时,当前值CV 被设置为预置值PV 。当电源输入从断开转换到接通时,当前值CV 减去1。每当 CV

注解!

位0至位11不提供给计数器使用。当使用位测试、位设置、位清除、或数位定位功能时, 位的编号是1至16,而不是图中显示的0至15。

定时器和计数器功能

13 - 14

GE Fanuc Automation 技术培训中心

< 0时,输出被启动。当电源发生故障时,减法计数器的当前值保持不变。在上电时不发生自动初始化过程。 操作数

表 13-6. 减法计数器可用的操作数

例 1

减法计数器对250个新零件计数之后,使输出%Q00005通电激励。

图 13-14. 新零件的计数示例

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 15

例 2

为了保持跟踪临时存储区的零件数量,你可以使用一个减法计数器和一个加法计数器,让它们共用一个寄存器存储累计数和当前值。当一个零件从存储区移出,减法计数器就把存储区中的零件当前数量减去1。当一个零件放入存储区,加法计数器(UPCTR)就加1,使库存存储值增加1。为了避免共用寄存器中的冲突,二个计数器使用不同的寄存器地址。

表 13-7. 加法计数器和减法计数器共用寄存器示例

当寄存器计数时,其当前值必须移送到另一个计数器的当前值寄存器中。

图 13-15. 必须移动当前值的示例

定时器和计数器功能

13 - 16GE Fanuc Automation 技术培训中心

加法计数器

图 13-16. 加法计数器

运行

加法计数器 (UPCTR) 的作用是把数加起来直至达到预置值(PV)。计数范围是0 至 +32,767 。当计数器的当前值(CV) 达到32,767, 它就保持不变直至被复位。当加法计数器被复位,当前值就被复位到零。每次当功率流输入从OFF 转换到ON时,当前值增加1。增加的当前值可以超过预置值(PV)。每当当前值>预置值时,输出被接通。输出的接通状态一直保持到R输入接收到功率流、把当前值复位到零为止。当电源故障时加法计数器的状态保持不变;上电时不发生自动的初始化过程。

操作数

表 13-8. 加法计数器的操作数

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 17

举例

每次当输入 %I0012 从OFF 转换到 ON 时,加法计数器计数加1,当计数到100时,内部线圈%M0001 被通电激励。每当 %M0001 导通时,累计的计数值被复位到零。

图 13-17. 加法计数器逐一向上计数

定时器和计数器功能

13 - 18

GE Fanuc Automation 技术培训中心

实验练习 – 使用定时器和计数器

? 建立一个参考变量查看表,查看实验2a 和2b 中使用的定时器和计数器

的三字数组。

编程实验 2A

在浏览窗口中,建立一个新的梯形图程序块,命名为LAB_2. 在LAB_2 梯形图程序块中开发一个符合下列条件的程序。

该程序的功能是作为一个电机正转/倒转控制器。设计程序的要求是必须在按动停止按钮后,电机才能够切换旋转方向。此外,在按动停止按钮后,需要有一段为时5秒钟的延迟时间,以禁止重新启动。

当编写好程序后,转向操作 _ MAIN LD 程序块,并为LAB_2分配调用功能。

完成实验后,把它下载到PLC ,并且运行。

编程实验 2B

把下面的程序添加到LAB_2 梯形图程序块。

一个泵站有一个水泵电机,如果在30秒钟的时间间隔内使电机起动/

停止二次以上,它就进入过载状态。为了保护电机,控制程序必须防止在30秒钟时间内发生第三次起动操作。为此开发一个防止在30秒内第三次起动的程序。另外,如果已经操作了第三次起动,在再启动电机之前,需要有一个30秒钟的等待期(让电机冷却)。在这30秒钟的等待期中,有一个红灯闪烁,警告操作人员此时不能启动电机。

完成实验后,把它下载到PLC 并且运行。

? 注解!

I/O 模拟器上的全部拨动开关都按照常开开关接线。当需要一个常闭输入时,你应当闭合相应的开关,用以模拟这一状态。

? 注解!

提醒! 建立一个参考变量查看表的步骤,包含在“控制器通讯”单元中。

定时器和计数器功能

GE Fanuc Automation 技术培训中心

13 - 19

复习

在本单元中,你已经学习了如何进行以下操作: ? 利用定时器和计数器功能,编制梯形逻辑应用程序; ? 存取定时器/计数器的数据;

? 使用定时器和计数器进行下载、排错和测试梯形逻辑程序。

定时器、计数器操作与应用实验报告

实验三 定时器、计数器操作与应用实验报告 、实验目的 1、 了解和熟悉FX 系列可编程序控制器的结构和外 部接线方法; 2、 了解 和熟 悉 GX Developer Version 7.0 软件的 使用 方法 ; 3、 掌握 可编 程序 控制器 梯形 图程 序的 编制 与调 试。 二、实验要求 仔 细阅 读实 验指 导书 中关 于编 程软 件的 说明 ,复习 教材 中有 关内 容 , 分 析程 序运 行结 果。 三、实验设备 2 、 开关 量输 入 / 输出 实验 箱 3、 计算 机 4、 编程 电缆 注 意: 1) 开关量输入/输出实验 箱内的钮子开关用来产生模拟的 开关量输入 信 号; 2) 开关量输入/输出实验箱内的LED 用来指示开关 量输出信号; 3) 编程电缆在连接PLC 与计算机时请注意方向。 四、实验内容 1 、梯形图 1 、 FX 系列可 编程 序控 制器 一只 一套 5、 GX Developer Version 7.0 软件 一套

2、梯形图程序 0LD xooo 1OUT YOOO X001 2LD 3OR¥001 4AN I X002 5OUT Y001 6OUT TO K50 9MPS 10AHI TO 11OUT Y002 12MPP 13ASD TO 14OUT¥003 15LD X003 16RST CO 18LD X004 19OUT CO K5 22LD CO 23OUT Y004 24END 3、时序图

r 时序10 □ ?Si 正在进荷囲1SL 金冃勖厂手祜r XI广X3厂X5厂K1Q拧应C 40 J2fl MIB -380 .360 '340 -33 MW 脚 M 创Q,220,200,13Q -1?-14D ,1如■!? 如也 40 如厂「 五、实验步骤 1、程序的编辑、检查和修改; 2、程序的变换; 3、程序的离线虚拟设备仿真测试; 4、程序写入PLC; 5、用PLC运行程序; 6、比较程序的分析结果与实际运行结果。 六、实验报告 1、实验梯形图程序的编写; 2、梯形图程序的理论分析与结果; 3、梯形图程序的实际运行结果; 4、结论。 七、实验心得 通过这样一次实验,我对GX Developer Version 7.0 软件的使用方 法更加的熟悉了,也了解到在实验中需要我们集中精力,仔细认真地完成■XDU "Tlr-.Ll-t-1!- D LJ D-IT--1 z?E I4J 一 — Ti ll IL — 」 ill-t-ll-r — 1

PLC实验定时器计数器实验

实验二定时器、计数器实验 一、目的要求 1、了解和熟悉编程软件的使用方法。 2、了解写入和编辑用户程序的方法。 3、掌握定时器、计数器的使用。 二、实验设备 台达可编程序控制器一台;PLC实验箱一台;装有WPL编程软件和开发软件的计算机一台;编程连接电缆一根。 三、实验内容 1、实验原理 定时器相当于继电器电路中的时间继电器,可在程序中作延时控制。 可编程控制器中的定时器是根据时钟脉冲累积计时的,时钟脉冲有 1ms、10ms、100ms等不同规格。(定时器的工作过程实际上是对时钟脉冲计数)因工作需要,定时器除了占有自己编号的存储器位外,还占有一个设定值寄存器(字),一个当前值寄存器(字)。设定值寄存器(字)存储编程时赋值的计时时间设定值。当前值寄存器记录计时当前值。这些寄存器为16位二进制存储器。其最大值乘以定时器的计时单位值即是定时器的最大计时范围值。定时器满足计时条件开始计时,当前值寄存器则开始计数,当当前值与设定值相等时定时器动作,常开触点接通,常闭触点断开,并通过程序作用于控制对象,达到时间控制的目的。 TMR为十六位定时器,当该指令执行时,其所指定的定时器线圈受电,定时器开始计时,当到达所指定的定时值(计时值≥设定值),其接点动作如下:CNT为十六位计数器,当该指令由Off→On执行,表示所指定的计数器线圈由失电→受电,则该计数器计数值加1,当计数到达所指定的定数值(计数值 = 设定值),其接点动作如下:?? 当计数到达之后,若再有计数脉冲输入,其接点及计数值均保持不变,若要重新计数或作清除的动作,请利用RST指令。 编程使PLC输出Y0输出3秒的脉冲,PLC输入1对脉冲计数,计数值为10时,PLC输出Y1输出为1,第11个脉冲清零。 OUTPUT00

第5章习题解答

第5章思考题及习题5参考答案 一、填空 1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。 答:32.768ms,262.144ms,1024μs 2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。 答:1/24 3.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。 答:系统时钟信号12分频后,定时器初值 4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。 答:方式1定时,131.072ms。 5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。 答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON 6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。 答:FCH,18H。 二、单选 1.定时器T0工作在方式3时,定时器T1有种工作方式。 A.1种 B.2种 C.3种D.4种 答:C 2. 定时器T0、T1工作于方式1时,其计数器为位。 A.8位 B.16位 C.14位 D.13位 答:B 3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态 B. 仅取决于GATE位状态 C. 是由TR x和INT x两个条件来共同控制 D. 仅取决于INT x的状态 答:C 4. 定时器T2工作在自动重装载方式时,其计数器为位。 A.8位 B. 13位 C.14位 D. 16位 答:D 5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。 A.87H B. 09H C.80H D. 00H 答:B 三、判断对错 1.下列关于T0、T1的哪些说法是正确的。 A.特殊功能寄存器SCON,与定时器/计数器的控制无关。对 B.特殊功能寄存器TCON,与定时器/计数器的控制无关。错 C.特殊功能寄存器IE,与定时器/计数器的控制无关。错 D.特殊功能寄存器TMOD,与定时器/计数器的控制无关。错 2.定时器T0、T1对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持 续时间不小于1个机器周期。特殊功能寄存器SCON与定时器/计数器的控制无关。错 3.定时器T0、T1对外部引脚上的脉冲进行计数时,要求输入的计数脉冲的高电平和低电平的持续时间均不小于2个机器周期。对 四、简答 1.定时器/计数器T1、T0的工作方式2有什么特点?适用于哪些应用场合? 答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。 2.TH x与TL x(x=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新? 答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。 3.如果系统的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少? 答:晶振的频率为24MHz, 机器周期为0.5μs。

实验三单片机定时计数器实验

实验三单片机定时/计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱(lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD

用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1,定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b;方式0,记数器 movTH0, #0 movTL0, #0 setbTR0;开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用“与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh

8254定时计数器应用实验报告

XX 大学实验报告 课程名称: 实验项目名称:8254定时/计数器应用实验学院:信息工程学院 专业:通信工程 指导教师: 报告人:学号:班级: 实验时间: 实验报告提交时间:

教务处制

单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。 图(1)是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。 图(1)8254的内部借口和引脚8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表

1所示。 表1 8254的方式控制字 表2 8254 读出控制字格式 表3 8254 状态字格式 8254 实验单元电路图如下图所示:

五、实验步骤及相应操作结果 1. 计数应用实验 编写程序,将8254 的计数器0 设置为方式3,计数值为十进制数4,用单次脉冲KK1+ 作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动5 次后产生中断请求,在屏幕上显示字符“M”。 实验步骤: (1)实验接线如图2所示。 (2)编写实验程序,经编译、链接无误后装入系统。 (3)运行程序,按动KK1+产生单次脉冲,观察实验现象。(4)改变计数值,验证8254 的计数功能。

实验报告五 定时器计数器实验

信息工程学院实验报告 课程名称:微机原理与接口技术Array 实验项目名称:定时器/计数器实验实验时间: 班级:姓名:学号: 一、实验目的 1. 掌握8254 的工作方式及应用编程。 2. 掌握8254 典型应用电路的接法。 二、实验设备 PC 机一台、TD-PITD+实验系统一套。 三、实验原理 8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: (1)有 3 个独立的16 位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于 6 种不同工作方式。 (4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。 (5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi ÷f OUTi、其中f CLKi 是输入时钟脉冲的频率,f OUTi 是输出波形的频率。 图5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图5-1 8254 的内部接口和引脚 8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1~5-3 所示。 表5-1 8254 的方式控制字格式 表5-2 8254 读出控制字格式 表5-3 8254 状态字格式 8254 实验单元电路图如下图所示:

第五章定时器/计数器

第五章MCS-51定时器/计数器及其应用 5.1定时方法概述 在单片机的应用中,可供选择的定时方法主要有: 1.软件定时 软件定时是靠执行一个循环程序以进行时间延迟。软件定时的特点是时间较精确,且不需外加硬件电路。但软件定时要占用CPU的时间,增加CPU开销,因此软件定时的时间不宜太长。 当单片机时钟确定后,每条指令的指令周期是确定的,在指令表中用振荡周期表示出来了。因此,根据程序执行所用的总的振荡周期数和振荡频率,可以较准确的计算,程序执行完所用的时间。软件延时是实际经常采用的一种短时间定时方法。 例4-16 ORG 1000H TIME:MOV R1, #0FAH ;12个振荡周期 L1 :MOV R0, #0FFH ;12个振荡周期 W1 :DJNZ R0 , W1 ;24个振荡周期 DJNZ R1 , L1 ;24个振荡周期 NOP ;12个振荡周期 NOP ;12个振荡周期 RET ;24个振荡周期 计算延时时间: N=12+(12+24×255+24)×250+12+12+24 =1539060个振荡周期 如果?=6MHz T?=1/?=1/6μs Tt=N×T?=1539060×1/6μS=256510μS=0.25651S 调整R 0和R 1 中的参数,可改变延时时间,如果需要加长延时间,可以增加循环嵌入。 当延时时间较长、不便多占用CPU时间的情况下,一般采用定时器方法。

2.内部可编程定时器 这种定时方法是通过对系统时钟脉冲的计数来实现的。计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便。此外,由于采用计数方法实现定时,因此可编程定时器都兼有计数功能,可以对外来脉冲进行计数。 3.外部扩展专用定时器 对于时间较长的定时,常使用外部扩展专用定时器完成。这种方法定时全部由硬件电路完成,不占用CPU时间。例如:DALLAS 公司的DS1302低功耗时钟芯片.它可以对年月日时分秒计时,并且有闰年补偿功能,它可以很方便地和单片机接口. 5.2 51单片机内部的定时器/计数器 作为基本组成内容,8051单片机共有两个可编程的定时器/计数器,分别称定时 器/计数器0和定时器/计数器1。它们都是十六位加法计数结构,分别由TH 0和TL 及TH 1和TL 1 两个8位计数器组成,它们具有计数和定时两种工作方式以及四种工作模 式。两个特殊功能寄存器(定时器控制寄存器TCON和定时器方式寄存器TMOD)用于确定定时器/计数器的功能和操作方式。图5-1给出了定时器/计数器的结构框图, 它反映了单片机中微处理器、寄存器TCON和TMOD与定时器T 0、T 1 之间的关系。计数 器的输入脉冲源可以是外部脉冲源或系统时钟振荡器,计数器对这两个输入脉冲之一进行递增计数。 顾名思义,MCS-51的每个定时器/计数器都具有定时和计数两种功能。

单片机实验之定时器计数器应用实验二

一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图 六、实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。

四、实验程序流程框图和程序清单。 1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数, 每计满100个脉冲,则取反P1.0口线状态。 汇编程序: START: LJMP MAIN ORG 0100H MAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1 LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP END C语言程序: #include sbit Y=P1^0; void main() { EA=0; ET1=0; TMOD=0x60; TH1=0x9C; TL1=0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } }

定时器实验报告

电子信息工程学系实验报告 课程名称:单片机原理及接口应用Array实验项目名称:51定时器实验实验时间: 班级:姓名:学号: 一、实验目的: 熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 二、实验环境: 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 三、实验原理: 1、51单片机定时计数器的基本情况 8051型有两个十六位定时/计数器T0、T1,有四种工作方式。MCS-51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位);TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存IE) 定时/计数器中断优先级控制位PT0、PT1(中断优IP) 2、51单片机的相关寄存器设置 方式控制寄存器TMOD: TMOD的低四位为T0的方式字,高四位为T1的方式字。TMOD不能位寻址,必须整体赋值。TMOD各位的含义如下: 1. 工作方式选择位M1、M0 3、51单片机定时器的工作过程(逻辑)方式一 方式1:当M1M0=01时,定时器工作于方式1。

T1工作于方式1时,由TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。若T1工作于定时方式1,计数初值为a,晶振频率为12MHz,则T1从计数初值计数到溢出的定时时间为t =(216-a)μS。 4、51单片机的编程 使用MCS-51单片机的定时/计数器的步骤是: .设定TMOD,确定: 工作状态(用作定时器/计数器); 工作方式; 控制方式。 如:T1用于定时器、方式1,T0用于计数器、方式2,均用软件控制。则TMOD的值应为:0001 0110,即0x16。 .设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。 计数初值的计算方法如下,设晶振频率为fosc,则定时/计数器计数频率为fosc/12,定时/计数器的计数总次数T_all在方式0、方式1和方式2时分别为213 = 8192、216 = 65536和28 = 256,定时间隔为T,计数初值为a,则有 T = 12×(T_all – a)/fosc a = T_all – T×fosc/12 a = – T×fosc/12 (注意单位) THx = a / 256;TLx = a % 256; .确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断: ET0 = 1;EA = 1; 还需要编写中断服务函数: void T0_srv(void)interrupt 1 using 1 { TL0 = a % 256; TH0 = a / 256; 中断服务程序段} .启动定时器:TR0(TR1)= 1。 四、实验内容过程及结果分析: 利用protues仿真软件设计一个可以显示秒表时间的显示电路。利用实验板上的一位led数码管做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所定时间为1s。刚开始led数码管显示9,每过一秒数码管显示值减一,当显示到0时返回9,依此反复。然后设计00-59的两位秒表显示程序。 (1)实现个位秒表,9-0

实验三定时器计数器应用实验一

定时器/计数器应用实验一 设计性试验 2012年11月14日星期三第三四节课 一、实验目的 1、掌握定时器/计数器定时功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在P1.0口线上产生周期为200μS的连续方波,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1口线上产生周期为240μS的连续方波,在P 1.1口线上接示波器观察波形。 三、电路原理图

四、实验程序流程框图和程序清单及实验结果 /********* 设计要求:(a)单片机的定时器/计数器以查询方式工作, 在P1.0口线上产生周期为200us的连续方波 编写:吕小洋 说明:用定时器1的方式1以查询方式工作 时间:2012年11月10日 ***************/ ORG 0000H 开始 系统初始化

START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH CLR EA ;关总中断 CLR ET1 ;禁止定时器1中断 MOV TMOD, #00010000B ;设置定时器1为工作方式1 MOV TH1, #0FFH ;设置计数初值 MOV TL1, #9CH SETB TR1 ;启动定时器 LOOP: JNB TF1, LOOP ;查询计数是否溢出 MOV TH1, #0FFH ;重置计数初值 MOV TL1, #9CH CLR TF1 ;清除计数溢出标志 CPL P1.0 ;输出取反 LJMP LOOP ;重复取反 END

实验三-定时器、计数器应用实验二

实验三-定时器、计数器应用实验二

定时器/计数器应用实验二 设计性试验 2012年11月21日星期三第三四节课 一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图

开始 系统初始化装计数初值并 启动定时器 定时? 时间到 输出取反 结束 清除溢出标志N Y 四、实验程序流程框图和程序清单及实验结果 /********* 设计要求:(1)单片机的定时器/计数器以查询方式工作,设定计数功能, 对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0 口线状态,在P1.0口线上接示波器观察波形 编写:吕小洋 时间:2012年11月16日18:09:40 ***************/ ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH CLR EA ;关总中断 CLR ET1 ;禁止定时器1中断 MOV TMOD, #01100000B ;设置计数器1为工作方式2 MOV TH1, #9CH ;设置计数初值 MOV TL1, #9CH SETB TR1 ;启动计数器 LOOP: JNB TF1, LOOP ;查询计数是否溢出 CPL P1.0 ;输出取反 CLR TF1 ;清除计数溢出标志 LJMP LOOP ;重复取反 END

单片机实验-定时器计数器应用实验二教学文稿

单片机实验-定时器计数器应用实验二

定时器/计数器应用实验二 一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200

个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考题。 五、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续 方波,利用定时器1,对 P1.0口线上波形进行计数,满 50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 原理图:

程序清单: /*功能:用计数器1以工作方式2实现计数(查询方式)每计满100个脉冲,则取反P1.0口线状态*/ ORG 0000H START:MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H SETB TR1

单片机实验-定时器计数器应用实验二

定时器/计数器应用实验二 一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一 频率的连续周期性矩形波。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一 频率的连续周期性矩形波。 三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考题。 五、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续 方波,利用定时器1,对P1.0口线上波形进行计数,满 50个,则取反P1.1口线状态,在P 1.1口线上接示波器 观察波形。 原理图:

程序清单: /*功能:用计数器1以工作方式2实现计数(查询方式)每计满100个脉冲,则取反P1.0口线状态*/ ORG 0000H START:MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H SETB TR1 LOOP:JBC TF1,LOOP1 AJMP LOOP LOOP1:CPL P1.0

实验四 8253定时计数器应用

实验四8253定时/计数器应用 1.实验目的 掌握8253命令字的设置及初始化和8253的工作方式及应用编程 2.实验内容 8253是INTEL公司生产的通用外围接口芯片之一,它有3个独立的16位计数器,计数 频率范围为0-2MHZ。它所有的计数方式和操作方式都可通过编程控制。其功能是延时 终端、可编程频率发生器、事件计数器、倍频器、实时时钟、数字单稳和复杂的电机控 制器。 3.实训步骤 实现方式0的电路图。设8253端口地址为:40H-43H 要求:设定8253的计数器2工作方式为0 ,用于事件计数,当计数值为5时,发出 中断请求信号,8088响应中断在监视设备上显示M。本实训利用KK1作为CLK输 入,故初值设为5时,需按动KK1键6次,可显示一个 M. 实验七 8253定时/计数器应用实验 一.实验目的 1.熟悉8253在系统中的典型接法。 2.掌握8253的工作方式及应用编程。 二.实验设备

TDN86/88教学实验系统 一台 三.实验内容 (一)系统中的8253芯片 图7-1 8253的内部结构及引脚 1. 8253可编程定时/计数器介绍 8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。它有3个独立的十六位计数器,计数频率范围为0-2MHz。它所有的计数方式和操作方式都通过编程的控制。 8253的功能是:(1)延时中断(2)可编程频率发生器(3)事件计数器 (4)倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器

8253的工作方式:(1)方式0: 计数结束中断(2)方式1: 可编程频率发生器 (3)方式2: 频率发生器(4)方式3: 方波频率发生器 (5)方式4: 软件触发的选通信号 (6)方式5:硬件触发的选通信号 8253的内部结构及引脚如图7-1所示,8253的控制字格式如图7-2所示。 图7-2 8253的控制字

实验6_8254定时器计数器应用实验

实验六8253/4定时器/计数器应用实验 实验目的 (1) 掌握8254的工作方式及应用编程(参考教材) (2) 掌握8254的典型应用电路的接法 (3) 学习8254在PC系统中的典型应用方法 实验设备 PC机一台,TD-PIT-B实验装置一套。 实验内容及说明 1)计数应用实验。2)定时应用实验。3)电子发声实验 注意:在断电情况,连接好实验线路,检查无误后,通电进行实验。实验完毕,先断电,再拆线,并将导线整理好。 1. 计数应用实验: 编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1-作为CLK0时钟,OUT0连接IRQ,每当KK1-按动5次后产生中断请求,在屏幕上显示字符“M”。8254计数应用参考连接线图如图6-1。 总线接口 +5V KK1-- IRQ 图6-1 8254计数应用实验参考接线图 ;; 计数应用实验 ;;filename : ;; ----PCI卡分配的第3个I/O空间MY8254_COUNT0 EQU 0E440H MY8254_COUNT1 EQU 0E441H MY8254_COUNT2 EQU 0E442H MY8254_MODE EQU 0E443H ;;--PCI卡分配的第1个I/O空间INTCSR_BYTE0 EQU 0DC38H INTCSR_BYTE1 EQU 0DC39H

INTCSR_BYTE2 EQU 0DC3AH INTCSR_BYTE3 EQU 0DC3BH IMB4_BYTE3 EQU 0DC1FH DATA SEGMENT CSBAK DW IPBAK DW MKBAK DB DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: CLI MOV AX,DATA MOV DS,AX MOV DX,INTCSR_BYTE0 ;; 设置pci卡 MOV AL,00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL MOV DX,INTCSR_BYTE3 MOV AL,00H OUT DX,AL MOV AX,0000H MOV ES,AX ;---------------------------------------------------MOV DI, 01C4H ; irq 9 , INT 71h, 01c4= 71h*4 ;--------------------------------------------------- MOV AX,ES:[DI] MOV IPBAK,AX ;IP MOV AX,OFFSET MYINT CLD STOSW MOV AX,ES:[DI] ;CS MOV CSBAK,AX MOV AX,SEG MYINT

实验三 单片机定时计数器应用实验(一)(学生用)

实验三单片机定时/计数器应用实验(一) 一、实验目的 (1)掌握定时/计数器的基本结构、工作原理和工作方式。 (2)掌握定时/计数器的使用和编程方法。 (3)进一步掌握中断处理程序的编写方法。 二、实验器材 (1)HJ-C52开发板一块 (2)计算机一台 (3)Keil C51编程软件 (4)数据下载线 三、实验电路 图2 电路图 四、实验说明 1、51单片机有。两个16位内部定时器/计数器(T/C,Timer/ Counter)。若是计数内部晶振驱动时钟,则是定时器;若是计数8051的输入引脚的脉冲信号,则它是计数器。定时器实际上也是工作在计数方式下,只不过对固定频率的脉冲计数。由于脉冲周期固定由计数值可以计算出时间,有定时功能。 定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要

功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 2、TMOD (1)M1M0工作方式控制位 (2)C/T 定时器方式或计数器方式选择位 若C/T=1时, 为计数器方式;C/T = 0时, 为定时器方式。 (3)GATE 定时器/计数器运行门控标志位 当GATE=1时, T/C的启动受双重控制,即要求INT0 (或INT1)引脚为高电平且TR0(或TR1 )置 1 时, 相应的T/C才被选通工作。若GATE=0, T/C的启动仅受TR0 (或 TR1)控制,即置 1, T/C就被选通, 而不管 INT0 (或 INT1)的电平是高还是低。 3、TCON TF0、TF1分别是定时器/计数器T0、 T1 的溢出中断标志位, 加法计数器计满溢出时置1, 申请中断, 在中断响应后自动复0。TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。TR1、TR0 分别是定时器/计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器/计数器才开始工作, 在系统复位时被清0。 4、初始化 (1)初始化步骤 在使用51系列单片机的T/C前,应对它进行编程初始化,主要是对TCON 和TMOD编程,还需要计算和装载T/C的计数初值。一般完成以下几个步骤: 1)确定T/C的工作方式——编程TMOD寄存 2)计算T/C中的计数初值,并装载到TH和TL; 3)T/C在中断方式工作时,必须开CPU中断和源中断——编程IE寄存器; 4)启动定时器/计数器——编程TCON中TR1或TR0位。 (2)计数初值的计算 1)定时器的计数初值:

接口 定时器与计数器实验(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

第5章 定时器计数器2(1)

2、模式1 模式1(M1M0=01)除了使用了THn和TLn全部16位外,其它与模式0相同。 (1)计数工作方式 由于定时器/计数器以加1方式计数,假定计数值为X,则应装入定时器/计数器的初值为: 初值=216-计数值【216=初值+计数值】 所以方式1的计数值范围是:1~65536(216=65536),最大值为:65536 (2)定时工作方式 定时时间t的计算公式为:【t的时间单位为微秒(μs)】 计数值=216-初值 定时时间t=计数值×机器周期 =(216-初值)×(1/晶体振荡频率)×12 在模式1下的情况下,如果fosc=12MHz,最大定时时间为: t=(65536-初值)×(1/12)×12=65536-0=65.536ms 在模式1下的情况下,如果fosc=6MHz,最大定时时间为: t=(65536-初值)×(1/6)×12=(65536-0)×2=131.072 ms。 【例如】:若晶体振荡为12MHz,要定时2.5ms,计算初值。 要定时2.5ms,也可以用模式1。 2500=(216-初值)×(1/12)×12 初值=65536-2500=63036=32768+16384+8192+4096+1024+512+32+16+8+4=1111 0110 0011 1100 ――> THn =0xF6 和TLn=0x3C 在fosc=12MHz时,如果定时时间大于65.536ms,这时用一个定时/计数器直接处理不能实现,这时可用: 1、2个定时/计数器共同处理; 2、1个定时/计数器配合软件计数方式处理。 3、模式2 方式0和方式1的最大特点是计数溢出后,计数器为全0。因此在循环定时或循环计数应用时就存在用指令反复装入计数初值的问题。这不仅影响定时精度,也给程序设计带来麻烦。方式2就是针对此问题而设置的。 该方式可省去用户软件中重装初值的指令执行时间,简化定时初值的计算方法,可以相当精确地确定定时时间。 此模式下定时器寄存器作为可自动重装载的8位计数器(TLn),如下图所示。

实验三_8253定时器计数器实器

实验三 8253定时器/计数器实验 一、实验目的 1. 学会8253 芯片与微机接口的原理和方法。 2. 掌握8253 定时器/计数器的工作原理和编程方法。 二、实验内容 编写程序,将8253的计数器0设置为方式2 (频率发生器),计数器1设置为方式3 (方 波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。 1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。 2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。 3.上面计数方式选用的是 16 进制,现若改用 BCD 码,试修改程序中的二个计数初值,使 LED 的闪亮频率仍为1Hz。 三、电路图

CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1; GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz; 四、流程图及编程指南 8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz用+5V 单电源供电。8253 的六种工作方式: ⑴方式0:计数结束中断⑷方式3:方波频率发生器 ⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号 ⑶方式2:频率发生器⑹方式5:硬件触发的选通信号8253 初始化编程 1. 8253 初始化编程 8253 的控制寄存器和 3 个计数器分别具有独立的编程地址,由控制字的内容确定使用的是哪个计数器以及执行什么操作。因此8255 在初始化编程时,并没有严格的顺序规定,但在编程时,必须遵守两条原则: ①在对某个计数器设置初值之前,必须先写入控制字; ②在设置计数器初始值时,要符合控制字的规定,即只写低位字节,还是只写高位字节,还是高、低位字节都写(分两次写,先低字节后高字节)。

相关主题
文本预览
相关文档 最新文档