- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编写8253计数器0工作于方式3,计数器1工作于方式4,计数器2工作于方式0进行中断传送的程序
【参考答案】P185 例159
程序如下:
START:
MOV
DX,04C6H
;设置8253控制口地址
MOV
AL
;二进制、方式3、写16位计数器
OUT
DX,AL
;控制字写入计数器0的控制寄存器
MOV
DX,04C0H
;设置8253计数器0地址
MOV
AX,09C4H
;计数初值
OUT
DX,AL
;写入初值低8位
MOV
AL,AH
OUT
DX,AL
;写入初值高8位
MOV
BL,00H
;灯亮或灭的标志
MOV
DX,04B0H
;8259A的偶地址
MOV
AL
;设置ICW18259初始化控制字ICW1
OUT
DX,AL
;写入ICW1
MOV
DX,04B2H
;8259A的奇地址
MOV
AL,50H
;设置ICW18259初始化控制字ICW2
OUT
DX,AL
;写入ICW2
MOV
AL
;设置ICW18259初始化控制字ICW4
OUT
DX,AL
;写入ICW4
MOV
AL,0FEH
OUT
DX,AL
;写入OCW1
MOV
AX,OFFSET INTR1
;设置中断服务程序INTR1的偏移地址
MOV
WORD PTR [140H],AX*4
;中断矢量表地址为50H*4
MOV
AX,SEG,INTR1
;设置中断服务程序INTR1所在段地址
MOV
WORD PTR [142],AX
MOV
AX,OFFSET INTR2
;设置中断服务程序INTR2所在段地址
MOV
WORD PTR [144H],AX*4
;中断矢量表地址为51H4
MOV
AX,SEG INTR2
;设置中断服务程序INTR2所在段地址
MOV
WORD PTR [146],AX
MOV
DX,04C6H
;设置8253控制口地址
MOV
AL
OUT
DX,AL
;将控制字写入计数器1的控制寄存器
MOV
DX,04C6H
;设置8253控制口地址
MOV
ALOUT
DX,AL
;控制字写入计数器2的控制寄存器
MOV
DX,04C2H
;设置8253计数器1地址
MOV
AL,64H
;设置计数器初值
OUT
DX,AL
;计数器初值写入8253计数器1
MOV
04C4H
;设置8253计数器2地址
MOV
AL,00H
;写低字节
OUT
DX,AL
;计数值低字节写入计数器2
MOV
AL,10H
;写高字节
OUT
DX,AL
;计数值高字节写入计数器2
STI
;开中断
AA:
HLT
;等待中断
JMP
AA
INTR1
PROC
FAR
CLI
;禁止中断
MOV
DX,04C2H
;设置8253计数器1地址
MOV
AL,00H
;高字节,置新初值,启动工作
OUT
DX,AX
;激数值高字节写入计数器1
MOV
AL,10H
;低字节
OUT
DX,AL
;计数值低字节写入计数器1
STI
;开中断
IRET
INTR1
ENDP
INTR2
PROG
FAR
CLI
;禁止中断
MOV
DX,04A0H
;74LS373的地址
CMP
BL,00H
;灯闪烁判断
JZ
AA2
;BL=00灯亮
MOV
AL,00H
;BL=01灯灭
OUT
DX,AX
MOV
BL,00H
;重新设标志
JMP
AA3
AA2:
MOV
AL,0FFH
;灯亮
OUT
DX,AL
MOV
BL,01H
;重新设标志
AA3:
STI
;开中断
IRET
INTR2
ENDP
CODE
ENDS
END
START
8253如何与CPU接口
【参考答案】P185 例160
8253通过地址总线、数据总线、控制总线与CPU相连接没Intel8253的数据总线引脚D7~D0可直接连到CPU的数据总线上,CPU通过数据总线向8253传送控制字与计数初值,Intel8253的片选可由CPU的高地址经译码后提供。CPU的地位地址线A1、A0,用于选择8253内部寄存器。8253的,直接连至CPU的读、写控制线、,以便CPU能对8253进行读、写操作。
图125是CPU与8253的连接图,设8253的I/O口地址为10H~13H,分别对应8253的计数器0、计数器2及方式控制字寄存器的地址。
试计算8253计数器0工作于方式3,时钟CLK0的频率为1MHz,输出40kHz的重复方波时计数初值
【参考答案】P189 例161
计数初值
初值
若采用二进制技数,则写入方式为:
MOV AL,25
OUT PORT0,AL ;PORT0位通道0的端口地址
若采用十进制计数,则写
原创力文档


文档评论(0)