- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
接口第八章8255
打印子程序:查询,输出 printc proc push ax push dx prn: mov dx,0fffeh ;读取端口C in al,dx ;查询打印机状态 and al,04h ;PC2=BUSY=0? jnz prn ;PC2=1,打印机忙,则循环等待 打印机子程序 mov dx,0fffch;PC2=0,打印机不忙,则输出数据 mov al,ah out dx,al;将打印数据从端口A输出 输出 查询 打印子程序:打印 mov dx,0ffffh ;从PC7送出控制低脉冲 mov al ;置STROBE*=0 out dx,al nop ;产生一定宽度的低电平 nop mov al ;置STROBE* =1 out dx,al ; 最终,STROBE*产生低脉冲信号 pop dx pop ax ret printc endp 用8255A方式1与打印机接口 采用方式1 信号与时序 1000pf 2K 15 3 2 14 4 1 LS123 单稳 电路 +5V DATA0~7 8255A PC6 INTR PC3 PC7 PA0~PA7 打印机 ACK ACK OBF STROBE 8255A方式1与打印机接口时序配合 PA0~PA7 (DATA0~7) ACK OBF STROBE 打印机处理好输入的数据时送出一个响应信号ACK* 8255A的初始化 mov dx,0ffffh mov al,0a0h ;端口A为选通输出方式 out dx,al mov al,0ch ;使INTEA(PC6)为0 out dx,al ;禁止中断 …… mov cx,counter ;打印字节数送CX mov bx,offset buffer ;取字符串首地址 call prints ;调用打印子程序 8255A的初始化 打印子程序:输出 prints proc push ax ;保护寄存器 push dx print1: mov al,[bx] ;取一个数据 mov dx,0fffch out dx,al ;从端口A输出 mov dx,0fffeh print2: in al,dx test al,80h ;检测(PC7)为1否? jz print2 ;PC7=0,打印机没有响应 ;继续检测 输出 查询 打印子程序:返回 inc bx ;PC7=1,打印机已接受数据 loop print1 ;准备取下一个数据输出 pop dx ;打印结束,恢复寄存器 pop ax ret ;返回 prints endp 打印机处理好输入的数据时送出一个响应信号ACK*,8255内部会自动将PC7(OBF*)置为高电平。 PA0~PA7 (DATA0~7) ACK OBF STROBE PC7 8086通过8255A与开关及7段LED显示器的接口: 8255与LED/开关接口 ● 9、 8255A与LED/开关接口 LED控制程序1: ORG 2500H SSEGCODE DB 0C0H,0F9H DB 0A4H,0B0H,99H DB 92H,82H, 0F8H DB 80H, 98H, 88H DB 83H, 0C6H, 0A1H DB 86H,EH LED控制程序1: ORG 2000H MOV AL,82H MOV DX,0FFFEH OUT DX,AL RDPORTB: MOV DL,0FAH IN AL,DX AND AL,0FH MOV BX,OFFSET SSEGCODE XLAT MOV DL,0F8H OUT DX,AL MOV AX,56CH DELAY:DEC AX JNZ DELAY JMP RDPORTB HLT 共阳极七段发光二极管数字驱动编码 根据输入的数据显示其数值。 地址:FFF8H、FFFAH、FFFCH、FFFEH LED控制程序2:
文档评论(0)