定时与计数器实验文档格式.docx
- 文档编号:22886981
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:14
- 大小:275.44KB
定时与计数器实验文档格式.docx
《定时与计数器实验文档格式.docx》由会员分享,可在线阅读,更多相关《定时与计数器实验文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
二、实验原理与硬件连线
实验原理
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读出控制字格式
1
0-锁存计数值
0-锁存状态信息
计数器选择(同方式控制字)
表2-38254状态字格式
OUT引脚现行状态
1-高电平
0-低电平
计数初值是否装入
1-无效计数
2-计数有效
计数器方式(同方式控制字)
8254实验单元电路图如下图所示:
图2-28254实验电路原理图
硬件连线
系统总线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计数应用实验连线图
系统总线与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定时应用实验接线图
三、设计思路、步骤和程序流程图
设计思路
将8254的计数器0设置为方式0,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,首先让程序进入死循环等待中断,每当KK1+按动5次后产生中断请求,调用中断程序,在屏幕上显示字符“M”。
利用8254的两个计数装载过大的初始值,其中计数器0的OUT作为计数器1的CLK的输入,当两个计数器的初值满足一定条件时,计数器1的OUT即为1s方波,并可通过软件的示波器直接观察。
实验步骤
1.按图2-3连接电路;
2.编写实验程序,经编译、链接无误后装入系统;
3.单击RUN按钮,运行实验程序,每连续按动5次KK1+,在界面的输出区会显示字符‘M’;
4.改变计数值,验证8254的计数功能。
(2)定时应用实验
1.按图2-4连接实验线路;
3.运行程序,8254的OUT1会输出1s的方波,用软件自带的示波器功能进行观察。
程序流程图
主程序流程图如图2-5
图2-5计数应用实验主程序流程图
中断程序流程图如图2-6
图2-6计数应用实验中断程序流程图
程序流程图如图2-7
图2-7定时应用程序流程图
四、程序清单与执行结果
程序清单
(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
CLI
POPDS
;
初始化主片8259
MOVAL,11H;
初始化ICW1
OUT20H,AL
MOVAL,08H;
初始化ICW2
OUT21H,AL
MOVAL,04H;
初始化ICW3
MOVAL,01H;
初始化ICW4
MOVAL,6FH;
OCW1
8254
MOVDX,CON8254
MOVAL,10H
OUTDX,AL
MOVDX,A8254
MOVAL,04H
STI
AA1:
JMPAA1
IRQ7:
MOVAX,014DH
INT10H
MOVAX,0120H
MOVAL,20H
IRET
CODEENDS
ENDSTART
(2)定时应用实验代码
A8254EQU0600H
B8254EQU0602H
C8254EQU0604H
CON8254EQU0606H
CODE
MOVAL,27H
MOVAL,67H
MOVDX,B8254
CODEENDS
执行结果
(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方波。
实验感想与收获
通过本次实验,对8254的计数器有了深入的了解;
对8254的内部接口和引脚有了充分的认识;
对8254的工作方式、应用编程及其典型电路的接法有了全新的掌握。
纸上得来终觉浅,在对实验的实践中,实验前事先预习,实验中不断尝试,实验后总结复习,收获良多。
实验特色
在计数应用实验中,通过改变计数输出字符‘M’,具有创新精神。
在定时应用实验中,通过输出不同方式的波形,融课内所学于实验中,具有个人特色。
展望
如果有充裕的时间,还可以实现输出类似莫尔斯电码的效果,如按1次KK1+输出长信号,按1次KK2+输出短信号,长短信号组成莫尔斯电码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时 计数器 实验