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

上传人:b****2 文档编号:2896174 上传时间:2023-05-05 格式:DOCX 页数:15 大小:2.37MB
下载 相关 举报
实验报告五定时器计数器实验.docx_第1页
第1页 / 共15页
实验报告五定时器计数器实验.docx_第2页
第2页 / 共15页
实验报告五定时器计数器实验.docx_第3页
第3页 / 共15页
实验报告五定时器计数器实验.docx_第4页
第4页 / 共15页
实验报告五定时器计数器实验.docx_第5页
第5页 / 共15页
实验报告五定时器计数器实验.docx_第6页
第6页 / 共15页
实验报告五定时器计数器实验.docx_第7页
第7页 / 共15页
实验报告五定时器计数器实验.docx_第8页
第8页 / 共15页
实验报告五定时器计数器实验.docx_第9页
第9页 / 共15页
实验报告五定时器计数器实验.docx_第10页
第10页 / 共15页
实验报告五定时器计数器实验.docx_第11页
第11页 / 共15页
实验报告五定时器计数器实验.docx_第12页
第12页 / 共15页
实验报告五定时器计数器实验.docx_第13页
第13页 / 共15页
实验报告五定时器计数器实验.docx_第14页
第14页 / 共15页
实验报告五定时器计数器实验.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《实验报告五定时器计数器实验.docx》由会员分享,可在线阅读,更多相关《实验报告五定时器计数器实验.docx(15页珍藏版)》请在冰点文库上搜索。

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

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

 

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

 

 

 

 

 

 

 

信息工程学院实验报告

课程名称:

微机原理与接口技术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=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。

图5-1是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。

8254的工作方式如下述:

(1)方式0:

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

(2)方式1:

硬件可重触发单稳方式。

(3)方式2:

频率发生器方式。

(4)方式3:

方波发生器。

(5)方式4:

软件触发选通方式。

(6)方式5:

硬件触发选通方式。

图5-18254的内部接口和引脚

8254的控制字有两个:

一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。

这两个控制字共用一个地址,由标识位来区分。

控制字格式如表5-1~5-3所示。

表5-18254的方式控制字格式

表5-28254读出控制字格式

表5-38254状态字格式

8254实验单元电路图如下图所示:

图5-28254实验电路原理图

四、实验内容与步骤

1.计数应用实验

编写程序,将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接INTR1,每当KK1+按动5次后产生中断请求,在屏幕上显示字符“5”。

实验步骤:

(1)实验接线如图5-3所示。

图5-3(a)8254计数应用实验接线图

图5-3(b)8259计数应用实验实物接线图

(2)运行Tdpit集成操作软件,进入编辑调试集成环境。

(3)根据程序设计使用语言不同,在“语言设置”菜单项中设置所使用的语言。

如图5-4所示。

该项

一经设置,会再下次启动后仍保持不变。

图5-4设置语言环境

(4)开始新建文件进行编程。

点击“文件”菜单项中的“新建”,可以新建一个空白文档。

默认名为Td-pit1。

如图5-5所示。

(5)编写程序,如图5-6所示,并保存,此时软件会提示输入新的文件名,输入文件名后点击保存。

图5-68254计数应用实验程序编辑界面

(6)点击,编译文件,若程序编译无误,然后再点击,连接程序。

编译连接成功会在输出信息栏显示输出信息,如图5-7所示。

图5-7编译连接输出信息

(7)编译连接成功后可以点击,运行程序,按动KK1+产生单次脉冲,观察实验现象。

(8)可改变计数值,验证8254的计数功能。

2.计数应用实验

编写程序,将8254的计数器2设置为方式3,用信号源1.8432MHz作为CLK2时钟,计数初值为100,相当对CLK2进行100分频。

在OUT2输出频率为18.432KHz的时钟。

将OUT2连接到计数器0的CLK0,设置计数器0也工作在方式3,计数初值为18432,相当是进行18432分频。

则在OUT0得到1Hz的输出。

实验步骤:

(1)接线图如图5-8所示,按图接线。

图5-8(a)8254定时应用实验接线图

图5-8(b)8254定时应用实验实物接线图

(2)运行Tdpit集成操作软件,根据实验内容,编写实验程序,编译、链接。

图5-98254定时应用实验程序编辑界面

图5-10编译连接输出信息

(3)单元中GATE0已经连接了一个上拉电阻,所以GATE0不用连接。

(4)运行实验程序,OUT0输出接D0观察LED灯的闪烁频率是否为1HZ。

(5)用软件所带示波器进行观测,观测方法:

点击快捷工具栏上“”按钮,启动示波器显示窗口,即可观察波形显示。

五、实验结果及分析:

1.计数应用实验

(1)编译连接成功后,使用运行命令运行程序,按动KK1+产生单次脉冲,查看结果。

图5-12结果显示窗口

分析:

每当KK1+按动5次后产生中断请求,则在屏幕上显示字符“5”。

(2)改变计数值,验证8254的计数功能。

图5-13改变计数值实验结果

分析:

将实验程序中的计数初值改为6,并将屏幕显示字符改为“7”。

实验结果为:

每当KK1+按动7次后产生中断请求,则在屏幕上显示字符“7”。

2.定时应用实验

(1)运行实验程序,用软件所带示波器进行观测,观测方法:

点击快捷工具栏上“”按钮,启动示波器显示窗口,即可观察波形显示。

示波器显示界面如图5-11所示。

图5-11示波器显示界面

分析:

直接将OUT0输出接D0,则观察到LED灯每秒亮一次,即输出是1HZ的脉冲。

也可用软件所带示波器进行观测,观测的波形如图5-11所示。

六、实验总结:

通过本实验,我了解了8254的工作方式及应用编程,以掌握了8254典型应用电路的接法。

通过本次实验加深了对理论编程的知识的理解,巩固了我的理论知识。

附录:

;T8254-1.asm

;查看端口资源分配情况,记录实验系统I/O端口始地址

INTR_IVADDEQU003CH;INTR对应的中断矢量地址

IOY0EQU0D000H;片选IOY0对应的端口始地址

MY8254_COUNT0EQUIOY0+00H*4;8254计数器0端口地址

MY8254_COUNT1EQUIOY0+01H*4;8254计数器1端口地址

MY8254_COUNT2EQUIOY0+02H*4;8254计数器2端口地址

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

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

CS_BAKDW?

;保存INTR原中断处理程序入口段地址的变量IP_BAKDW?

;保存INTR原中断处理程序入口偏移地址的变量IM_BAKDB?

;保存INTR原中断屏蔽字的变量

STR1DB'COUNT:

$';显示的字符串

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

CLI

MOVAX,0000H;替换INTR的中断矢量

MOVES,AX

MOVDI,INTR_IVADD

MOVAX,ES:

[DI]

MOVIP_BAK,AX;保存INTR原中断处理程序入口偏移地址

MOVAX,OFFSETMYISR

MOVES:

[DI],AX;设置当前中断处理程序入口偏移地址

ADDDI,2

MOVAX,ES:

[DI]

MOVCS_BAK,AX;保存INTR原中断处理程序入口段地址

MOVAX,SEGMYISR

MOVES:

[DI],AX;设置当前中断处理程序入口段地址

INAL,21H

MOVIM_BAK,AL;保存INTR原中断屏蔽字

ANDAL,7FH

OUT21H,AL

STI

MOVDX,OFFSETSTR1;显示字符串

MOVAH,9

INT21H

MOVDX,MY8254_MODE;初始化8254工作方式

MOVAL,10H;计数器0,方式0

OUTDX,AL

MOVDX,MY8254_COUNT0;装入计数初值

MOVAL,4

OUTDX,AL

WAIT1:

MOVAH,1;判断是否有按键按下

INT16H

JZWAIT1;无按键则跳回继续等待,有则退出QUIT:

CLI

MOVAX,0000H;恢复INTR原中断矢量

MOVES,AX

MOVDI,INTR_IVADD

MOVAX,IP_BAK;恢复INTR原中断处理程序入口偏移地址MOVES:

[DI],AX

ADDDI,2

MOVAX,CS_BAK;恢复INTR原中断处理程序入口段地址

MOVES:

[DI],AX

MOVAL,IM_BAK;恢复INTR原中断屏蔽寄存器的屏蔽字

OUT21H,AL

STI

MOVAX,4C00H;返回到DOS

INT21H

MYISRPROCNEAR;中断处理程序MYISR

PUSHAX

MOVAL,35H

MOVAH,0EH

INT10H

MOVAL,20H

INT10H

MOVDX,MY8254_COUNT0;重装计数初值

MOVAL,4

OUTDX,AL

OVER:

MOVAL,20H;向PC机内部8259发送中断结束命令OUT20H,AL

POPAX

IRET

MYISRENDP

CODEENDS

ENDSTART

;---------------------------------------------------------------------------------------------------------------------;T8254-2.asm

;查看端口资源分配情况,记录实验系统I/O端口始地址

IOY0EQU0D000H;片选IOY0对应的端口始地址

MY8254_COUNT0EQUIOY0+00H*4;8254计数器0端口地址

MY8254_COUNT1EQUIOY0+01H*4;8254计数器1端口地址

MY8254_COUNT2EQUIOY0+02H*4;8254计数器2端口地址

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

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,MY8254_MODE;初始化8254工作方式

MOVAL,0B6H;计数器2,方式3

OUTDX,AL

MOVDX,MY8254_COUNT2;装入计数初值

MOVAL,64H;100分频

OUTDX,AL

MOVAL,00H

OUTDX,AL

MOVDX,MY8254_MODE;初始化8254工作方式

-全文完-

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2