8254定时与计数器实验.docx

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

8254定时与计数器实验.docx

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

8254定时与计数器实验.docx

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)计数脉冲可以是有规律的时钟信号,也可以是随机信号。

计数初值公式为:

n=fCLKi÷fOUTi,其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。

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

8254的工作方式如下述:

(1)方式0:

计数到0完毕输出正跃变信号方式。

(2)方式1:

硬件可重触发单稳方式。

(3)方式2:

频率发生器方式。

(4)方式3:

方波发生器。

(5)方式4:

软件触发选通方式。

(6)方式5:

硬件触发选通方式

图2-18254部结构图

8254的控制字有两个:

一个用来设置计数器的工作方式,成为方式控制字。

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

D7

D6

D5

D4

D3

D2

D1

D0

计数器选择

读/写格式选择

工作方式选择

计数码制选择

00-计数器0

01-计数器1

10-计数器2

11-读出控制字标志

00-锁存计数值

01-读/写低8位

10-读/写高8位

11-先读写低8位,再读写高8位

000-方式0

001-方式1

010-方式2

011-方式3

100-方式5

101-方式5

0-二进制数

1-十进制数

表2-28254读出控制字格式

D7

D6

D5

D4

D3

D2

D1

D0

1

1

0-锁存计数值

0-锁存状态信息

计数器选择〔同方式控制字〕

0

表2-38254状态字格式

D7

D6

D5

D4

D3

D2

D1

D0

OUT引脚现行状态

1-高电平

0-低电平

计数初值是否装入

1-无效计数

2-计数有效

计数器方式〔同方式控制字〕

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

图2-28254实验电路原理图

2.2硬件连线

(1)计数应用实验:

系统总线XD0~XD7分别与8254单元D0~D7相连,系统总线XA1~XA2分别与8254单元A0~A1相连,系统总线的IOW#、IOR#、IOY0(0600H)、MIR7分别于8254单元的WR、RD、CS、OUT0相连,8254单元的CLK0与单次脉冲单元的KK1+相连,如图2-3;

图2-3计数应用实验连线图

(2)定时应用实验:

系统总线与8254单元类似于

(1)中进展连线,然后将8254单元中的OUT0连接到CLK1,GATE1连接VCC,OUT1连接到A/D转换单元的IN0。

AD转换单元A、B、C接地,并将D0~D7接到系统总线XD0~XD7上,并将WR、RD、CS、CLK分别连接到系统总线的IOW#、IOR#、IOY3(0680H)、CLK上。

如图2-4所示。

图2-48254定时应用实验接线图

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

3.1设计思路

(1)计数应用实验:

将8254的计数器0设置为方式0,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,首先让程序进入死循环等待中断,每当KK1+按动5次后产生中断请求,调用中断程序,在屏幕上显示字符“M〞。

(2)定时应用实验:

利用8254的两个计数装载过大的初始值,其中计数器0的OUT作为计数器1的CLK的输入,当两个计数器的初值满足一定条件时,计数器1的OUT即为1s方波,并可通过软件的示波器直接观察。

3.2实验步骤

(1)计数应用实验:

1.按图2-3连接电路;

2.编写实验程序,经编译、无误后装入系统;

3.单击RUN按钮,运行实验程序,每连续按动5次KK1+,在界面的输出区会显示字符‘M’;

4.改变计数值,验证8254的计数功能。

(2)定时应用实验

1.按图2-4连接实验线路;

2.编写实验程序,经编译、无误后装入系统;

3.运行程序,8254的OUT1会输出1s的方波,用软件自带的示波器功能进展观察。

3.3程序流程图

(1)计数应用实验:

主程序流程图如图2-5

图2-5计数应用实验主程序流程图

中断程序流程图如图2-6

图2-6计数应用实验中断程序流程图

(2)定时应用实验:

程序流程图如图2-7

图2-7定时应用程序流程图

四、程序清单与执行结果

4.1程序清单

(1)计数应用实验代码

IOYOEQU0600H

A8254EQUIOYO+00H*2

B8254EQUIOYO+01H*2

C8254EQUIOYO+02H*2

CON8254EQUIOYO+03H*2

SSTACKSEGMENTSTACK

DW32DUP(?

SSTACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

SSTACK

START:

PUSHDS

MOVAX,0000H

MOVDS,AX

MOVAX,OFFSETIRQ7

MOVSI,003CH

MOV[SI],AX

MOVAX,CS

MOVSI,003EH

MOV[SI],AX

CLI

POPDS

;初始化主片8259

MOVAL,11H;初始化ICW1

OUT20H,AL

MOVAL,08H;初始化ICW2

OUT21H,AL

MOVAL,04H;初始化ICW3

OUT21H,AL

MOVAL,01H;初始化ICW4

OUT21H,AL

MOVAL,6FH;OCW1

OUT21H,AL

;8254

MOVDX,CON8254

MOVAL,10H

OUTDX,AL

MOVDX,A8254

MOVAL,04H

OUTDX,AL

STI

AA1:

JMPAA1

IRQ7:

MOVDX,A8254

MOVAL,04H

OUTDX,AL

MOVAX,014DH

INT10H

MOVAX,0120H

INT10H

MOVAL,20H

OUT20H,AL

IRET

CODEENDS

ENDSTART

 

(2)定时应用实验代码

A8254EQU0600H

B8254EQU0602H

C8254EQU0604H

CON8254EQU0606H

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,CON8254

MOVAL,27H

OUTDX,AL

MOVDX,A8254

MOVAL,10H

OUTDX,AL

MOVDX,CON8254

MOVAL,67H

OUTDX,AL

MOVDX,B8254

MOVAL,10H

OUTDX,AL

AA1:

JMPAA1

CODEENDS

ENDSTART

4.2执行结果

(1)计数应用实验的实验结果如图2-8,每按5次KK1+,就会打印一个‘M’,并且输出一个空格。

图2-8计数应用实验

(2)定时应用实验的实验结果如图2-9和图2-10,示波器会显示如下波形。

图2-9定时应用实验〔方波〕

图2-10定时应用实验

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

5.1调试说明

在实验中,需要将8254计数器0和计数器1都设置为方式3,用信号源1MHz作为CLK0,OUT0为波形输出1ms方波,再通过CLK1输入,这样OUT1才会输出1s方波。

5.2实验感想与收获

通过本次实验,对8254的计数器有了深入的了解;对8254的部接口和引脚有了充分的认识;对8254的工作方式、应用编程与其典型电路的接法有了全新的掌握。

纸上得来终觉浅,在对实验的实践中,实验前事先预习,实验中不断尝试,实验后总结复习,收获良多。

5.3实验特色

在计数应用实验中,通过改变计数输出字符‘M’,具有创新精神。

在定时应用实验中,通过输出不同方式的波形,融课所学于实验中,具有个人特色。

5.4展望

如果有充裕的时间,还可以实现输出类似莫尔斯电码的效果,如按1次KK1+输出长信号,按1次KK2+输出短信号,长短信号组成莫尔斯电码。

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

当前位置:首页 > 法律文书 > 调解书

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

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