[实验六]8254可编程定时/计数器

微机原理与接口技术实验室2021年5月28日 15:19

一、实验目的

1.掌握可编程8254定时/计数器的各种工作方式,进一步熟悉8254的编程方法。

2.熟悉使用逻辑笔或示波器观察8254的工作状态。

二、实验仪器与设备

1.TPC-ZK 微机接口实验系统1台。

2.PC微型计算机1台。

三、实验内容

编写程序,利用实验台上的8254定时器对1MHz时钟脉冲进行分频,产生频率为1Hz的方波信号,并用逻辑笔(或示波器)观察OUT1输出频率是否1Hz。

四、设计思想

1.相关知识

(1)8254是一个可编程通用定时/计数器,对8254芯片编程时,应首先向控制寄存器写入控制字,选择计数器及工作方式,然后对选中的计数器按照要求进行预置初值

(2)8254控制字的含义如下表

2.实验电路说明

由于N=106>65536,所以必须使用两个计数器通道串联才能实现。CLK0可取实验台上提供的1MHz的时钟脉冲,通过两个计数器分频后得到1Hz的脉冲,用逻辑笔(或示波器)观察OUT1输出电平的变化(频率1Hz),在实验台上的8254模块电路图如图所示。

3.编程提示

(1)将计数器0、计数器1分别设置为方式3,计数初值设为1000。

分析a:计数器选用方式3的原因:因要将OUT0的输出接CLK1,所以输出最好为占空比为1:1的方波,而只有方式3占空比为1:1的方波,故选用方式3。

分析b:初始信号为1MHz,通过计数器0时经1000次计数(分频)得到(1000000/1000)=1000Hz的输出;再把1000Hz的输出通过计数器1,同样也经1000次计数(分频),即可得到1Hz输出。

(2)8254芯片在TPC-ZK平台下的端口地址:

8254的片选CS—-Y0(280H~187H)

控制寄存器地址:283H

计数器0地址:   280H

计数器1地址:   281H

计数器2地址:   282H

程序流程图如下:

例如:设置计数器0的工作方式是方式3,计数初值是1000,二进制形式。

分析:因为计数初值1000>255(8位二进制能表示的最大值),即计数初值1000必须用16位二进制才能表示完,所以在此读写指示是:11(先写低8位,再写高8位),然后得到控制字的值是36H。

五、预习要求

1.阅读本实验教程及相关教材。

2.预习编程提示及相关知识点。

3.复习8254的工作原理、各种计数方式、计数初值及GATE对计数器的影响。

4.复习8254的初始化编程方法和读取计数值的方法。

5.按照题目要求在实验前编写好相应的源程序。

六、实验步骤及调试

1.用HQFC集成开发环境编写源代码。

2.对输入的源程序检查无误后,经汇编、连接生成EXE可执行文件。

3.按实验要求连接好线路。

4.程序运行后,观察逻辑笔的闪烁情况。

5.改变CLK0的输入脉冲频率为2MHz时,观察输出频率的变化,记录其结果。

6.改变程序中的计数器的初值(大或小),观察输出频率的变化,记录其结果。

七、实验报告要求

1.画出程序流程图,整理出运行正确的程序清单,并加适当注释。

2.画出实验原理接线图。

3.写出观察到的程序运行结果。

4.当CLK0的输入脉冲频率为2MHz时,计数初值为1000,OUT1输出频率为多少?

类似文章