整理8253定时器实验Word格式.docx

上传人:b****2 文档编号:14799564 上传时间:2022-10-24 格式:DOCX 页数:15 大小:352.44KB
下载 相关 举报
整理8253定时器实验Word格式.docx_第1页
第1页 / 共15页
整理8253定时器实验Word格式.docx_第2页
第2页 / 共15页
整理8253定时器实验Word格式.docx_第3页
第3页 / 共15页
整理8253定时器实验Word格式.docx_第4页
第4页 / 共15页
整理8253定时器实验Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

整理8253定时器实验Word格式.docx

《整理8253定时器实验Word格式.docx》由会员分享,可在线阅读,更多相关《整理8253定时器实验Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

整理8253定时器实验Word格式.docx

教师

日期

一、实验内容与要求

1.1实验内容

计数器方式2实验:

将8253芯片的计数器0的工作方式设置为方式2,读/写格式设置为01,写入时只写入计数器初值低8位,高8位置0,采用二进制格式计数。

计数器初值为N(N>

=0FH),用手动开关逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用TPC-USB平台上的LED灯观察OUT0电平变化(当输入第N倍数个脉冲后OUT0变低电平,LED灯由亮变灭,其余脉冲OUT0都是高电平,LED灯都处于亮状态)。

计数器方式3实验:

将计数器0、计数器1的工作方式分别设置为方式3,计数初值设为1000,并同时用TPC-USB平台上的LED灯观察OUT1电平变化(频率1Hz)。

1.2实验要求

(1)具有一定的汇编编程的基础,能编写一些基本语句来实现实验。

实验前根据实验流程图,写出对应代码;

(2)要了解8253定时/计数器芯片内部结构和外部引脚,了解芯片的硬件连接方法、时序关系、各种模式的编程及应用,能熟练地对其进行编程;

(3)熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接好实验电路;

(4)计数器方式2实验:

连接PC与TPC-USB平台,用微机实验软件运行程序,用手动开关逐个输入单脉冲,在屏幕上能一次显示计数值,当输入第N倍数个脉冲后OUT0变低电平,TPC-USB平台上的LED灯由亮变灭,其余脉冲OUT0都是高电平,LED灯都处于亮状态;

(5)计数器方式3实验:

连接PC与TPC-USB平台,用微机实验软件运行程序,TPC-USB平台上的LED灯能周期性地亮灭,频率为1Hz。

二、实验原理与硬件连线

2.1实验原理

TPC-USB平台上有一块8253定时/计数器芯片,PC可以通过8253芯片进行计数和定时。

(1)8253定时/计数器芯片的内部结构:

8253定时/计数器芯片的内部结构如图1所示。

图18253内部结构

数据总线缓冲器:

三态双向8位寄存器,与系统数据总线相连,可寄存以下3种数据:

CPU向8253/8254写入的工作方式命令字;

CPU向计数寄存器写入的计数初值;

从计数器读出的当前计数值。

读/写控制逻辑:

接收CPU发来的读、写、片选和地址信号,选择相应的寄存器,进行读写操作。

控制字寄存器:

接收CPU发来的控制字(只写)。

控制字用来选择计数器并确定计数器的工作方式、读写格式(高低8位或16位)和计数格式(二进制或BCD格式)。

计数器0~2:

3个结构相同、相互独立的计数器。

每个计数器包含一个16位初值寄存器、一个16位减1计数器和一个16位输出锁存器,如图2所示。

计数工作之前,首先要向计数器装入计数初值。

这个初值存放在初值寄存器中,此后该值被送入减1计数器。

当允许计数条件满足时,在时钟脉冲CLK的作用下,开始进行计数减1,计数直至计数值减为0时,OUT端输出结束信号,输出信号的波形由工作方式决定。

由于计数单元的计数值随时在变化,如果需要获得计数过程中的计数值,不能直接从减1计数单元中读出,必须先将当前值锁存后,再从输出锁存器中读出。

图28253计数器内部结构

(2)8253工作方式

8253/8254的每个计数器有6种工作方式:

方式0——计数期间低电平输出(GATE高电平时计数);

方式1——计数期间低电平输出(GATE上升沿重新计数);

方式2——周期性输出负脉冲;

方式3——周期性输出方波;

方式4——软件触发输出单脉冲;

方式5——硬件触发输出单脉冲。

本次实验的工作方式是方式2、方式3.

1)方式2——周期性输出负脉冲:

向计数器写入方式2控制字后,WR的上升沿使OUT信号变高。

写入初值后,在CLK下降沿进行减1计数。

减为1时,OUT变低并维持一个周期,然后又变高,并自动装入初值重新计数。

工作时序如图3所示。

图3方式2特点1工作时序

GATE为高电平允许计数,为低电平终止计数。

待GATE恢复高电平后,计数器将按原来设定的计数值重新计数。

工作时序如图4所示。

图4方式2特点2工作时序

若在计数过程中写入新的计数初值不会影响正在进行的计数过程,必须等计数器减到1之后,计数器才装入新的计数初值,并按新的初值进行计数。

工作时序如图5所示。

图5方式2特点3工作时序

2)方式3——周期性输出方波:

初值为偶数的工作时序如图6所示。

写入方式字后,OUT信号变高。

写入初值后开始减1计数;

减到n/2时,OUT变低继续计数;

减到0时,OUT变高,并自动装入初值重新计数。

图6方式3计数初值为偶数的工作时序

(3)8253的编程

首先向8253写入控制字,对所选的计数器的工作方式和计数格式进行设置;

然后向8253写入计数初值。

每个计数器在写完控制字和计数器初值之后,才能根据门控信号情况确定是否开始减1操作。

2.2硬件连线

计数器方式2实验连接图如图7所示,计数器方式3实验连接图如图8所示。

图7TPC-USB平台计数器方式2实验连接图

图8TPC-USB平台计数器方式3实验连接图

三、设计思路、步骤和程序流程图

3.1设计思路

本次实验做的是计数器实验,需要用到8253定时/计数器芯片,了解芯片的内部结构后,理解芯片的计数原理,8253芯片的工作方式有多种,所做的实验是方式2和方式3,理解了工作方式后,便可根据8253芯片的初始化编程步骤画出程序流程图,再根据流程图,写出实验程序。

根据实验连接图连接好电路,运行程序,便可达到计数和计时的目的。

3.2实验步骤

(1)按图7连接好实验电路;

(2)根据图9流程图编写程序,并运行;

(3)用手动开关逐个输入单脉冲,观察屏幕显示结果和TPC-USB平台上LED灯亮灭状态;

(4)按图8连接好实验电路;

(5)根据图10流程图编写程序,并运行;

(6)观察TPC-USB平台上LED灯亮灭状态,和亮灭的频率。

3.3程序流程图

图9TPC-USB平台计数器方式2实验流程图

图10TPC-USB平台计数器方式3实验流程图

四、程序清单与执行结果

4.1程序清单

(1)计数器方式2实验:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAL,14H;

方式控制字00010100;

计数器0,读低8位

MOVDX,283H;

控制口

OUTDX,AL

计数器初值20

MOVDX,280H;

计数器0地址

LL:

读计数器初值

INAL,DX

MOVAH,0;

计数器清零

MOVDX,0

MOVCX,10;

除以10

DIVCX;

AX/CX,商在AL,余数在DX

ADDAL,30H

PUSHDX

MOVDL,AL;

显示十位

MOVAH,2

INT21H

POPDX;

显示个位

ADDDL,30H

MOVAH,02H

MOVDL,0AH;

回车换行

MOVDL,0DH

MOVAH,6;

判断是否有键按下

MOVDL,0FFH

JZLL

MOVAH,4CH

CODEENDS

ENDSTART

(2)计数器方式3实验:

CODESEGMENT

CODE

MOVDX,283H;

把控制寄存器地址放在DX寄存器中

MOVAL,36H;

设置控制字00110110(计数器0,方式3,

OUTDX,AL;

写两个字节,二进制计数)

MOVAX,1000H;

送初值

把计数器0地址放在DX寄存器中

OUTDX,AL

MOVAL,AH;

将AX的高8位存入AL寄存器中

MOVDX,283H

MOVAL,76H;

设置控制字01110110(计数器1,方式3,

MOVDX,281H

将AX的低8位送入DX端口

MOVAL,AH

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.2执行结果

连接好的实验电路图,如图11所示:

图11实验电路连接实物图

用手动开关逐个输入单脉冲,观察屏幕上显示的内容,计数从20开始,每按一次开关,计数减1,减到1后,又从20开始计数,如图12、13、14所示;

并同时用TPC-USB平台上的LED灯观察OUT0电平变化,当输入第20倍数倍数个脉冲后OUT0变低电平,LED灯由亮变灭,其余脉冲OUT0都是高电平,LED灯都处于亮状态,如图11所示。

图12、13、14屏幕计数从20到1再从20计数截图

连接好的实验电路图,如图15所示:

图15实验电路连接实物图

运行程序,观察TPC-USB平台上的LED灯观察OUT1电平变化,发现LED等周期性地亮灭,频率为1Hz。

亮状态如图15所示,灭状态如图16所示。

图16TPC-USB平台LED灯灭状态

五、程序调试说明和实验感想

5.1调试说明

代码编译通过后,运行时屏幕上显示的不是计数初值20,而是其他字符,是因为计数初值未送到计数器,所以计数器的初值是一个随机的数,改正代码,计数初值就是20,从20就开始计数,并周期性输出负脉冲。

5.2实验感想与收获

通过实验了解可编程定时/计数器芯片的硬件连接方法、内部结构、工作原理和工作方式,也熟悉了8253芯片的初始化编程,通过这次实验也回顾了汇编编程的部分基础知识

5.3实验特色

本实验计数器采用的是方式2,、方式3,可以周期输出电平信号,通过方式2实验可以周期计数,通过方式3实验可以进行定时。

在计数器方式2实验中,显示计数值时,用了除法,先输出十位数,再输出个位数,使计数值能在屏幕上正确输出。

5.4展望

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1