实验六 8254定时计数器

合集下载

8254定时计数器

8254定时计数器

深圳大学实验报告课程名称:微机原理

实验项目名称:8254定时计数器实验

学院:信息工程学院

专业:电子

指导教师:**

报告人:林泽杭学号:**********班级:电子4 实验时间:2011.5.30

实验报告提交时间:2011.6.15

教务处制

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

8254 定时

8254  定时

8254 定时/ 计数器应用实验

学院:计算机学院

专业:网络工程

年级:2012级

班级:120615

姓名:梁国栋

学号:120615109

1 实验目的

1. 掌握8254 的工作方式及应用编程。

2. 掌握8254 典型应用电路的接法。

2 实验设备

PC 机一台,TD-PITE 实验装臵一套。

3 实验内容

1. 计数应用实验。编写程序,应用8254 的计数功能,使用单次脉冲模拟计数,使每当按

动‘KK1+’5 次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。2. 定时应用实验。编写程序,应用8254 的定时功能,产生一个1s 的方波。

4 实验原理

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 是输出波形的频率。

图 4.27 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个

计数器组成。8254 的工作方式如下述:

微机8254定时计数器实验报告

微机8254定时计数器实验报告

深圳大学实验报告:

课程名称:

实验项目名称:8254定时/计数器应用实验

学院:信息工程学院

专业:通信工程

指导教师:

}

报告人:学号:班级:

实验时间:

-

实验报告提交时间:

教务处制

图(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 的计数功能。

图2 8254 计数应用实验接线图

实验程序清单

A8254 EQU 06C0H

.

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

SSTACK SEGMENT STACK

DW 32 DUP()

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:SSTACK

START: PUSH DS

MOV AX,0000H

【精品】实验五 8254计数定时器实验

【精品】实验五 8254计数定时器实验

【精品】实验五 8254计数定时器实验

1、实验目的

学习8254计数定时器的工作原理,掌握8254计数定时器的编程方法,加强对8254计数定时器的认识,并熟练掌握其应用。

2、实验器材

计算机、标准信号发生器、万用表等。

3、实验原理

8254计数定时器是一种可编程和可复用的计数/定时器,它可以工作在单独的计数、单独的定时、计数与定时相结合等多种工作模式下,既可以用于计数,也可以用于定时。它有三个独立的可编程计数器(C0,C1,C2),每个计数器都有一个特殊的16位计数寄存器CR,一个读/写工作方式的计数器工作寄存器CR0,以及为不同的应用提供不同带有多种功能的计数/定时输出方式的通用输出寄存器(G0,G1,G2)。

8254计数定时器有4个I/O端口(0x40,0x41,0x42,0x43)与外部设备相连。通过读/写这四个I/O端口中的寄存器,就可以操作8254计数定时器的寄存器和计数器寄存器。

计算机中将8254计数定时器的三个计数器均放在一块芯片中,称为计数定时器芯片。掌握8254计数定时器的编程方法是我们进行下一步应用实验的基础。

(1)测量8254计数定时器的计数时间。

将8254计数定时器的输出端与示波器相连,设置8254的计数器工作模式,并制作相应的控制程序,运行程序,观察并测量8254计数定时器的计数时间。

5、实验步骤

(1)测量8254计数定时器的计数时间。

1)将标准信号发生器输出的方波信号(频率为300Hz)经过电阻分压后,接到8254计数定时器的C0引脚上(可用排针连线连接),8254计数定时器的G0引脚再接到示波器的Y轴输入端,示波器的X轴调为10ms/格,Y轴调为1V/格。

8254定时器计数器设计实验-电子发声设计

8254定时器计数器设计实验-电子发声设计

计算机硬件技术基础

8254定时器/计数器设计实验

—电子发声设计

航空航天 083614 孙诚骁 083605 李嘉骞

一、实验目的

学习用8254定时/计数器是扬声器发声的编程方法。

二、实验设备

PC 微机一台、TD-PIT 实验系统一套。

三、实验内容

根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声器上能发出相应的乐曲。

接线方法如下:

四、实验所用芯片

8254是Intel 公司生产的可编程间隔定时器。它具有以下基本功能:

(1)有3个独立的16位计数器;

(2)每个计数器可接二进制或十进制(BCD )计数;

(3)每个计数器可编程工作于6种不同工作方式;

(4)8254每个计数器允许的最高频率为10MHZ ;

(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=f(clki)/f(outi),其中f(clki)是输入时钟脉冲的频率,f(outi)是输出波形的频率。 8254的工作方式如下述:

(1)方式0:计数到0结束输出正跃变信号方式。

(2)方式1:硬件可重触发单稳方式。

(3)方式2:频率发生器方式。

(4)方式3:方波发生器。

(5)方式4:软件触发选通方式。

(6)方式5:硬件触发选通方式。

CLK0 CLK0

五、实验说明及步骤

一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出这个音符的声音。音符与频率对照关系见下表所示。将一段乐曲的音符对应频率的方波依次送到扬声器,就可以发出这段乐曲的声音。

8254定时与计数器实验

8254定时与计数器实验

XX学院

实验报告

实验名称

姓名

学号

班级

教师

日期

一、实验内容与要求

1.1 实验内容

本次实验分为如下2个子实验:

(1)计数应用实验:编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按

下‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’;

(2)定时应用实验:编写程序,应用8254的定时功能,产生一个1s的方波,并用本装置的

示波器功能来观察。

1.2 实验要求

本次实验中2个子实验的实验要求如下:

(1)计数应用实验:将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲

KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏

幕上显示字符“M”;

(2)定时应用实验:将8254的计数器0和计数器1都设置为方式3,用信号源1MHz作为

CLK0时钟,OUT0为波形输出1ms方波,再通过CLK1输入,OUT1输出1s方波。

二、实验原理与硬件连线

2.1 实验原理

8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:

(1)有三个地理的16位计数器。

(2)每个计数器可按二进制或十进制(BCD)计数。

(3)每个计数器可编程工作于6种不同的工作方式。

(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。

(5)8254有读回命令(8253,没有),除了可以读出当前计数单元的内容外,还可以读出状态

寄存器的内容

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为:

实验二8254定时计数器(学生)(优.选)

实验二8254定时计数器(学生)(优.选)

实验二8254 定时/计数器应用实验

2.1 实验目的

1. 掌握8254 的工作方式及应用编程。

2. 掌握8254 典型应用电路的接法。

2.2 实验设备

P(机一台,TD-PITE实验装臵一套。

2.3 实验内容

1. 定时应用实验。编写程序,应用8254的定时功能,产生一个1s 的方波。

1. 计数应用实验。编写程序,应用8254 的计数功能,使用单次脉冲模拟计数,使每当按动‘ KK1+'5 次后,产生一次计数中断,并在屏幕上显示一个字

符’M。

2.4 实验原理

8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254具有以下基本功能: (1)有3个独立的16位计数器。

(2)每个计数器可按二进制或十进制(BCD计数。(3)每个计数器可编程工作于 6 种不同工作方式。( 4)8254 每个计数器允许的最高计数频率为10MHz (8253为2MHz。(5)8254有读回命令( 8253没有),除了可以读出当前计数

单元的内容外,还可以读出状态寄存器的内容。( 6)计数脉冲可以是有规律的

时钟信号,也可以是随机信号。计数初值公式为:n=fCLKi -fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。图 4.27 是8254 的内部结构框图和引脚图,它是由与CPU勺接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。(2) 方式1:硬件可重触发单稳方式。 ( 3)方式2:频率发生器方式。( 4)方式3:方波发生器。 ( 5)方式4:软件触发选通方式。( 6)方式5:硬件触发选通

微机原理实验 可编程定时器计数器82548253实验

微机原理实验 可编程定时器计数器82548253实验

深圳大学实验报告

课程名称:微机原理及应用实验

实验项目名称:可编程定时器计数器8254/8253实验学院:

专业:

指导教师:

报告人:学号:班级:

实验时间:

实验报告提交时间:

教务处制

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

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

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所示。

微机原理实验---定时计数器应用实验

微机原理实验---定时计数器应用实验

深圳大学实验报告

课程名称:微机计算机设计

实验项目名称:8254 定时/计数器应用实验

学院:信息工程学院

专业:电子信息工程

指导教师:

报告人:学号:**********班级:<1>班实验时间:2011. 05. 26

实验报告提交时间:2011. 06. 09

教务处制

一、实验目的

1. 掌握8254 的工作方式及应用编程。

2. 掌握8254 典型应用电路的接法。

二、实验要求

1. 计数应用实验。编写程序,应用8254 的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1+’5 次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。

三、实验设备

PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。

四、实验原理

1、8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能:

(1)有3 个独立的16 位计数器。

(2)每个计数器可按二进制或十进制(BCD)计数。

(3)每个计数器可编程工作于6 种不同工作方式。

(4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。

(5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为:n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。

计数器组成。8254 的工作方式如下述:

(1)方式0:计数到0 结束输出正跃变信号方式。

基本接口技术实验—8254定时计数器应用实验

基本接口技术实验—8254定时计数器应用实验

8254定时/计数器应用实验

1、实验目的

a)掌握8254的工作方式及应用编程;

b)掌握8254的典型应用电路接法;

c)学习8254在PC系统中的典型应用方法。

2、实验设备

PC机一台,TD-PIT/TD-PIT-B实验装置一套。

3、关于8254定时应用程序的说明

a)在PC/XT机中8254端口的偏移地址为40H~43H。由于8254是减法计数,因此计数的最大初始值为0,而不是FFFFH或9999;

b)编程包括两部分:写计数器的控制字和设置计数初值;初始化步骤:写入方式控制字-写入计数值低8位-写入计数值高8位。

c)计数脉冲可以是有规律的,也可以是随机信号。计数初值公式为:n=fCLKi/fOUTi。fCLKi是输入时钟脉冲的频率,fOUTi是输出波型的频率。

d)本实验使用的是PCI板卡申请的第三个I/O空间BASE2,和前面的偏移地址相加即可。

e)运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序。

f)使用Compile菜单中的bulidall完成汇编和链接。

g)使用Rmrun菜单中的Run运行程序,观察运行结果,或使用Rmrun菜单中的Debug调试程序,观察调试过程中指令执行后各寄存器及数据区的内容。

4、实验内容

a)电子发声实验。编写程序让PC机和实验装置上的扬声器唱歌。PC机中8254的时钟信号为1.19318MHz,采用计数器2的方式3,实验装置采用信号源1MHZ

作为扬声器发声基准时钟,计数器0工作方式设置为3。

程序:

assume cs:code,ds:data,ss:stack stack segment

可编程定时器计数器8254(一)

可编程定时器计数器8254(一)

一、实验目的
掌握8254的基本工作原理和编程方法。
二、实验内容
按图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
三、编程提示
8254控制寄存器地址 283H
计数器0地址 280H
计数器1地址 281H
CLK0连接时钟 1MHZ

最新8254定时计数器实验实验报告

最新8254定时计数器实验实验报告

最新8254定时计数器实验实验报告

实验目的:

1. 理解8254定时计数器的工作原理及其在微机系统中的作用。

2. 掌握8254定时计数器的编程方法,包括计数、定时和脉冲输出等

操作。

3. 通过实验验证8254定时计数器的性能参数,如计数频率、计数范

围等。

实验设备:

1. 微机实验平台

2. 8254定时计数器模块

3. 示波器

4. 连接线

实验原理:

8254定时计数器是一款可编程的定时/计数器集成电路,广泛应用于微机系统中进行定时、计数和波形发生等操作。它包含三个独立的计数器,分别为计数器0、计数器1和计数器2,每个计数器都可以配置为

不同的工作模式,如单稳态、双稳态、方波输出等。

实验步骤:

1. 首先,根据实验指导书连接8254定时计数器模块到微机实验平台,并连接示波器以便于观察输出波形。

2. 编写程序,设置8254的控制字,选择合适的计数器工作模式,并

设定计数频率。

3. 通过程序向8254发送计数值,启动计数操作。

4. 使用示波器观察并记录计数器的输出波形,验证其频率和稳定性。

5. 改变计数值和工作模式,重复步骤3和4,以测试8254的不同功能。

6. 最后,记录所有实验数据,并根据实验结果分析8254的性能。

实验结果:

1. 记录不同计数值和工作模式下的输出波形频率,验证其与理论值的一致性。

2. 分析计数器在不同模式下的波形特点,如单稳态输出的脉冲宽度、双稳态输出的占空比等。

3. 根据实验数据,绘制波形图和频率表,直观展示8254的性能。

实验结论:

通过本次实验,我们成功地验证了8254定时计数器的基本功能和性能参数。实验结果表明,8254能够根据设定的计数值和工作模式,准确地进行计数和定时操作,输出稳定的波形信号。这些特性使得8254定时计数器在微机系统中具有广泛的应用前景。

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

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

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

一、实验目的

本实验的目的是通过对定时器计数器的应用实验,加深对定时器和计数器工作原理的理解,掌握定时器的使用方法,并能灵活应用到实际工程中。

二、实验原理

定时器是一种常用的计时设备,它可以在微处理器或微控制器系统中用于各种计数、计时和频率测量应用。我们所面对的实验中使用的定时器是软件定时器,其工作原理是通过编程方式配置定时器的时钟源和计数器的计数范围,然后在主程序中通过中断或轮询的方式来读取计数器的值,从而实现不同的定时器功能。

计数器是一种用于计数的设备,它可以对外部信号的频率进行计数。在本实验中,我们使用计数器来计算外部信号的脉冲数,并将计数结果显示出来。

三、实验材料

1. STC89C52 单片机开发板

2. 4位数码管

3. 杜邦线若干

4. 外部信号发生器

四、实验步骤

1. 连接电路图如下所示:

(此处省略电路图)

2. 打开 Keil μVision 软件并新建一个工程,选择合适的单片机型号。

3. 在主程序中初始化定时器和计数器,设置适当的时钟源和计数范围。

4. 设置外部中断,用于触发计数器开始计数。

5. 在中断服务程序中编写计数器处理逻辑,获取计数值并进行相应的操作。

6. 在主循环中,根据需求配置定时器,比如实现不同的定时功能,或者将计数结果显示在数码管上。

7. 编译、烧录程序到单片机开发板上,并进行实验验证。

五、实验结果

经过实验,我们成功地实现了定时器计数器的应用功能。通过设置不同的计数范围和外部触发条件,我们能够准确地计算出外部信号的脉冲数,并将计数结果显示出来。同时,我们还实现了不同的定时功能,比如周期性触发中断、定时器中断延时等。

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

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

.

实验六8253/4定时器/计数器应用实验

6.1 实验目的

(1) 掌握8254的工作方式及应用编程(参考教材)

(2) 掌握8254的典型应用电路的接法

(3) 学习8254在PC系统中的典型应用方法

6.2 实验设备PC机一台,TD-PIT-B实验装置一套。

6.3 实验内容及说明

1)计数应用实验。2)定时应用实验。3)电子发声实验

注意:在断电情况,连接好实验线路,检查无误后,通电进行实验。实验完毕,先断电,再拆线,并将导线整理好。

1. 计数应用实验:

编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1-作为CLK0时钟,OUT0连接IRQ,每当KK1-按动5次后产生中断请求,在屏幕上显示字符“M”。8254计数应用参考连接线图如图6-1。

总线接口

+5V

KK1--

IRQ 图6-1 8254计数应用实验参考接线图

;; 计数应用实验

;; : 8254-1.asm

;; ----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

DA TA SEGMENT

实验六8254定时计数器

实验六8254定时计数器

实验六8254定时计数器

电⼯电⼦实验中⼼

实验报告

课程名称:计算机硬件技术基础实验名称:8254定时/计数器

姓名:学号:

评定成绩:审阅教师:

实验时间:2017.06.06

南京航空航天⼤学

⼀、实验⽬的要求

1) 掌握 8254 定时/计数器的名种⼯作⽅式及编程⽅法。

⼆、实验任务

按照图 3-2-1 的要求连线,分别对 8254 芯⽚的 3 个定时/计数器编程,并选择合适的⼯作⽅式和初值,以达到如下的效果:1) 定时/计数器 0,计数脉冲频率为 18.432KHz,OUT0 分两路输出,

⼀路外接 2 位 LED,使其以亮 0.5 秒灭 0.5 秒循环闪亮,另⼀路作为计数器 1 的计数脉冲 CLK1。

2) 定时/计数器 1,OUT1 的输出外接 2 位 LED,使其以亮 3 秒灭 1

秒循环闪亮。

3) 定时/计数器 2 的计数脉冲来⾃单次脉冲单元,按压开关产⽣的脉

冲作为计数器 2 的计数脉冲。OUT2 外接 2 位 LED,当按压开关到 17 次时LED 长亮,并将按压开关的剩余次

数将在屏幕上显⽰。

三、实验电路图

图3-2-1 8254定时/计数器电原理图

四、实验代码

IOY0 EQU 3000H

TIMER0 EQU IOY0+00H*4 ;8254计数器0端⼝地址

TIMER1 EQU IOY0+01H*4 ;8254计数器1端⼝地址

TIMER2 EQU IOY0+02H*4 ;8254计数器2端⼝地址

TCTL EQU IOY0+03H*4 ;8254控制寄存器端⼝地址

STACK1 SEGMENT STACK

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电工电子实验中心

实验报告

课程名称:计算机硬件技术基础实验名称:8254定时/计数器姓名:学号:

评定成绩:审阅教师:实验时间:2017.06.06

南京航空航天大学

一、实验目的要求

1) 掌握 8254 定时/计数器的名种工作方式及编程方法。

二、实验任务

按照图 3-2-1 的要求连线,分别对 8254 芯片的 3 个定时/计数器编程,并选择合适的工作方式和初值,以达到如下的效果:

1) 定时/计数器0,计数脉冲频率为 18.432KHz,OUT0 分两路输出,

一路外接 2 位 LED,使其以亮 0.5 秒灭 0.5 秒循环闪亮,另一路作为计数器 1 的计数脉冲 CLK1。

2) 定时/计数器 1,OUT1 的输出外接 2 位 LED,使其以亮 3 秒灭 1

秒循环闪亮。

3) 定时/计数器 2 的计数脉冲来自单次脉冲单元,按压开关产生的脉

冲作为计数器 2 的计数脉冲。OUT2 外接 2 位 LED,当按压开关到 17 次时 LED 长亮,并将按压开关的剩余次

数将在屏幕上显示。

三、实验电路图

图3-2-1 8254定时/计数器电原理图

四、实验代码

IOY0 EQU 3000H

TIMER0 EQU IOY0+00H*4 ;8254计数器0端口地址

TIMER1 EQU IOY0+01H*4 ;8254计数器1端口地址

TIMER2 EQU IOY0+02H*4 ;8254计数器2端口地址

TCTL EQU IOY0+03H*4 ;8254控制寄存器端口地址

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

DATA SEGMENT

MES0 DB ‘Pressed: $’

MES1 DB ‘Press any key to exit !’,0DH,0AH,’$’NUM DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX, DATA

MOV DS, AX

MOV DX, OFFSET MES1

MOV AH, 9

INT 21H

MOV DX, TCTL

MOV AL, 00110110B ; 计数器0初始化,方式3

OUT DX, AL

MOV DX, TIMER0

MOV AL, 00H

OUT DX, AL ;计数器0初值=4800H

MOV AL, 48H

OUT DX, AL

MOV DX, TCTL

MOV AL, 01010101B ; 计数器1初始化,方式2

OUT DX, AL

MOV DX, TIMER1

MOV AL, 04H ; 计数器1初值=04H

OUT DX, AL

MOV DX, TCTL

MOV AL, 10010001B ; 计数器2初始化,方式0

OUT DX, AL

MOV DX, TIMER2

MOV AL, 0FH ;计数器0初值=0FH

OUT DX, AL

L1: MOV DX, TIMER2

IN AL, DX ;读入计数器2值保存

MOV NUM,AL

CALL DISP

MOV AL, NUM ;当按压开关17次时退出

CMP AL, 0

JZ QUIT

MOV DL, 0FFH

MOV AH, 6 ;判主键盘有无键按下

INT 21H

JZ L1 ; 有键按下跳转

QUIT: MOV AX, 4C00H ;结束程序退出

INT 21H

DISP PROC ;显示子程序

MOV DX, OFFSET MES0

MOV AH, 9 ; 显示MES0

INT 21H

MOV AL, NUM

CMP AL, 9 ;判断是否<=9

JLE L2 ;若是则为'0'-'9',ASCII码加30H

ADD AL, 7 ;否则为'A'-'F',ASCII码加37H

L2: ADD AL, 30H

MOV DL, AL

MOV AH, 2 ;在显示器上显示按压开关的次数INT 21H

MOV DL, 0DH

INT 21H

RET

DISP ENDP

CODE ENDS

END START

五、实验的运行数据及分析

实验达到了以下效果:

1) 定时/计数器0,计数脉冲频率为18.432KHz,OUT0 分两路输出,一

路外接 2 位LED,使其以亮0.5 秒灭0.5 秒循环闪亮,另一路作为计数器 1 的计数脉冲CLK1。

2) 定时/计数器1,OUT1 的输出外接2 位LED,使其以亮3 秒灭1

秒循环闪亮。

3) 定时/计数器2 的计数脉冲来自单次脉冲单元,按压开关产生的脉

冲作为计数器 2 的计数脉冲。OUT2 外接 2 位LED,当按压开关到17 次时LED 长亮,并将按压开关的剩余次

数将在屏幕上显示。

六、实验讨论及心得体会

通过实验,对8254的工作原理和编程方法都了一定程度的理解,其中,8254的六种工作方式分析起来比较困难,需要认真理解记忆。

相关文档
最新文档