- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 8253定时/计数器应用实验
实验目的:
熟悉定时/计数器在系统中的典型接法。
掌握定时/计数器的工作方式及应用编程
相关理论知识:
8253可编程定时/计数器介绍
8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。它有3个独立的十六位计数器,计数频率范围为0-2MHz,所有计数方式和操作方式都通过编程进行控制。
1、8253的功能
在实际应用当中,8253可以在不同场合实现以下功能:延时终端、可编程频率发生器、事件计数器、分频器、实时时钟、数字单稳、复杂的电机控制器。
2、8253的工作方式
方式0
计数结束产生中断
方式1
可重触发的单稳触发器
方式2
分频器
方式3
方波频率发生器
方式4
软件触发的选通信号
方式5
硬件触发的选通信号
3、8253的内部结构及引脚
4、8253的控制字格式
SC1、SC0:计数器选择,00~10选择计数器0~2
RW1、RW0:读写指示
M2、M1、M0:工作模式选择
BCD:计数值格式,1为BCD十进制格式,0为二进制格式
5、8253的初始化编程
送控制字到控制端口(43H)送计数初值到计数器端口
送控制字到控制端口
(43H)
送计数初值到计数器端口
(40H、41H、42H)
系统总线
IOY2
XIOR
XIOW
XA0
XA1
+5V
+5V
8259-IRQ0
OPCLK
8251-TXCLK
1.8432MHz
+5V
XD0
XD1
XD2
XD3
XD4
XD5
XD6
XD7
系统中的8253芯片
系统中装有一片8253芯片,线路如上右图所示:
实验内容:
计数中断实验
8253的通道2工作于方式0,用于事件计数,当计数5次时,向8259A发出中断请求信号,显示“M”,实验线路如图所示:
KK18253
KK1
8253
计数/定时器
+5V
GATE2
CLK2
OUT2
8259
中断控制器
IRQ7
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK
START: IN AL,21H
AND AL,7FH ;OCW1,开IRQ7中断
OUT 21H,AL
MOV AL/90H
OUT 43H,AL ;设置8253控制字
A1: MOV AL,03H
OUT 43H,AL ;设置计数初值
HLT
STI ;开外部中断
JMP A1
MOV AX,014DH ;中断服务子程序
INT 10H
MOV AX,0120H
INT 10H
MOV AL,20H ;OCW2,常规EOI命令
OUT 20H,AL
IRET
CODE ENDS
END START
关闭电源,按图接线,接通电源。
输入程序并检查无误,经汇编、连接后装入系统。
用U2000命令查看“MOV AX,014DH”指令的偏移地址为2012。
在0000:003CH单元填入中断矢量,即0000:003C 12 20 00 00。
运行程序,并按动KK1键,在按动4次后,屏幕上显示一个“M”,这是因为 。
定时中断实验
利用8253的通道0工作于方式2来产生定时中断(IRQ0),循环显示“0”-“9”十个数,系统默认线路如下。
1.19MHz8253
1.19MHz
8253
计数/定时器
+5V
GATE0
CLK0
OUT0
8259
中断控制器
IRQ0
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK
START: PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET
ADD AX,2000H
MOV SI, ;填中断矢量表中的IP
MOV [SI],AX
MOV AX,0000H
MOV SI, ;填中断矢量表中的CS
MOV [SI],AX
POP DS
MOV AL, ;OCW1,开IRQ0中断
OUT 21H,AL
MOV AL,
文档评论(0)