- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1;9.1 8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;8255的工作原理;工作在方式2下的控制字;8255的工作原理;9.2 8255的应用 (P337);8255的应用;9.2 8255的应用;;9.2 8255的应用;判断是否有键按下;9.2 8255的应用;二、键盘接口(P339);9.2 8255的应用;表1 Centronics并行打印接口标准;表1 Centronics并行打印接口标准(续1);表1 Centronics并行打印接口标准(续2);表2 主机与打印机接口信号连线表;表2 主机与打印机接口信号连线表(续);打印机适配器端口直接编程
查询方式
中断方式
BIOS功能调用
在BIOS系统中提供了打印机管理程序,用户可使用INT 17H功能调用,完成字符打印。
DOS功能调用
用户可调用INT 21H的5号子功能,完成字符打印功能。;查询方式;;设端口地址是:0D0H~0D6H,要打印的字符放在BL中。
程序如下:
Setup: MOV AL,81H ;设置工作方式
OUT 0D6H,AL
MOV AL,0DH ; PC6置1,0DH=0000,1101B
OUT 0D6H,AL
Ready: IN AL,0D2H ;读PC口
TEST AL,04H ;打印机忙否(PC2 =BUSY=?)
JNZ Ready ;PC2=1,打印机忙,等待
MOV AL,CL ;打印的字符送AL中
OUT 0D0H,AL ; BL中的字符送PA口
MOV AL,0CH ;置PC6为0;0CH
OUT 0D6H,AL ; 置PC6=0,即 =0;
INC AL ;置PC6为1;0DH
OUT 0D6H,AL ;置PC6=1,即 =1,
…… ;中断方式;;设端口地址是:0C0H~0C6H,用DI指示字符在缓冲区的位置。
程序如下:
1、中断服务程序:(假设开始位置是2000H:1000H)
PRNDRV: MOV AL,[ DI ] ;打印的字符送AL中
OUT 0C0H,AL
INC DI
MOV AL,00 ;置PC0为0
OUT 0C6H,AL
MOV AL,1 ;置PC0为1
OUT 0C6H,AL
MOV AL,20H ;向8259A发EOI命令
OUT 20H,AL
IRET ;该程序做了简化处理。 ;2、主程序
INIT8259A:MOV AL,13H ;初始化8259A
OUT 20H,AL
MOV AL, 8
OUT 21H,AL
MOV AL,9
OUT 21H??AL
INIT8255A:MOV AL,0A0H ;设置8255A工作方式
OUT 0C6H,AL
MOV AL,01 ;置PC2为1
OUT 0C6H,AL;INSTDRV:MOV AX,0 ;安装中断向量
MOV DS,AX ;IR3的中断类型是0BH
MOV Word Ptr [ 0BH*4 ],1000H
MOV Word Ptr [ 0BH*4+2 ],2000H
SETUPIF:MOV AL,0DH ;设置8255A的INTEA
OUT 0C6H,AL
IN AL,21H ;设置8259A的IMR,允许IR3
AND AL,0FBH
OUT 21H,AL
STI ;开中断;3、打印驱动程序
假设字符缓冲区从3000H:0000H处开始存放,
在3000H:1000H处存放一个字,表示打印字符数。
PRINT: MOV AX,3000H
MOV DS,AX
MOV DI,0000H
INT 0BH ;第一次中断,可以软件 ;触发
LOOP1: CMP DI,[1000H]
JB LOOP1
MOV AL,0CH ;关闭INTEA
OUT 0D3H,AL
说明:打印结
文档评论(0)