8255作为打印机接口.doc_第1页
8255作为打印机接口.doc_第2页
8255作为打印机接口.doc_第3页
8255作为打印机接口.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.4.7 8255A的编程和应用举例【例】8255A作为连接打印机的接口,工作于方式0,如图5.23所示。图1 8255A作为打印机接口的示意图 工作过程为:当主机要往打印机输出字符时,先查询打印机忙(BUSY)信号,如果打印机正在处理一个字符或正在打印一行字符,暂时不能接收数据,则忙信号为1,反之,则忙信号为0。因此,当查询到忙信号为0时,则可通过8255A往打印机输出一个字符。此时,要将选通信号置成低电平,然后再使 为高电平,即在端输出一个负脉冲,此负脉冲将字符选通到打印机输入缓冲器。现将8255A端口A作为传送字符的通道,工作于方式0输出方式;B端口未用,也设为方式0;作为BUSY信号输入端,故为输入方式,作为STB信号输出端,故为输出方式。设8255A的端口地址为:A端口:00DOHB端口:00D2H C端口:00D4H控制口:00D6H使用查询方式输出,待输出的字符在CL中,具体程序段如下:PP: MOV AL,81H;控制字,使A组、B组均为方式0,A端口为输出,;PC7PC4输出,PC3PC0输入OUT 0D6H,AL;写入控制口MOV AL,0DH;用C端口置1置0方式使PC6为1,;即STB初始状态为高电平OUT 0D6H,AL;写入控制口LPST:IN AL,0D4H ;读端口C的值TESTAL,04H ;测试PC2位JNZLPST ;如不为0,说明BUSY信号为1,即打;印机处于忙状态,故等待MOVAL,CL;如不忙,则把CL中字符送端口AMOVAL,0CH;用置1置0方式使PC6为0OUT0D6H,AL;即向STB输出负脉冲INCALOUT0D6H,AL;再使STB为1 ;后续程序段注意:端口C置1/置0 控制字输出到控制口,但是它作用的对象是端口C的某1位。也可以直接把数据输出到端口C,但这种方法会改变端口C的8位而不是1位。【例】8255A作中断方式工作的字符打印机的接口,如图5.24所示。图5.24 8255A作中断方式打印机接口8255A的A端口作为数据通道,工作在方式1输出方式,此时,自动作为OBF信号输出端,则自动作为信号输入端,而自动作为INTR信号输出端。打印机接口需要一个数据选通信号,故由CPU控制来产生选通脉冲。在此没有用,将它悬空就行了。端连接打印机端。连到中断控制器8259A(在第六章讲述)的中断请求信号输入端。对应于中断类型号0BH,此中断对应的中断,向量放在00段2CH、2DH、2EH、2FH这4个单元中,8259A在系统程序中已完成初始化,这部分连接图没有画出。 设8255A的端口地址为:A端口:00COHB端口:00C2HC端口:00C4H控制口:00C6H方式控制字为AOH,因为B口未用,故取位为0,其他各位的值使A组工作于方式1,A端口为输出,作为输出。在这个例子中,由中断处理子程序完成字符输出;而初始化程序完成对8255A设置方式控制字、设置中断向量、开放中断。主程序执行其它操作,并等待中断,这里没有写出主程序。中断服务主程序入口标号为INTPR。所谓设置中断向量,就是把中断服务程序的入口地址(4字节的逻辑地址)写到中断向量表中由中断类型号指定的单元中。要指出的是这里开放中断不仅是指用STI使CPU的中断允许标志IF为1,还要使8255A的INTEA为1,即允许8255A请求中断。在中断处理子程序中,设字符已放在主机的字符输出缓冲区,往A端口输出字符后,CPU用对C端口的置1置0命令使输出负脉冲,从而将数据送入打印机。当打印机接收并打印字符后,发出回答信号ACK,由此清除了8255A的“输出缓冲器满”信号,并使8255A产生新的中断请求。INIT;MOV AL,0AOH;初始化程序OUT 0C6H,AL;设置8255A的控制字MOV AL,01;使PC0为1,即让STB初始状态为低电平OUT 0C6H,ALXOR AX,AXMOV DS,AX;DS指到0段,中断向量表在0段LEA AX,INTPRMOV WORD PTR 0BH*4,AX;中断类型号为0BH,写入的表地址为0BH4MOV AX,SEG INTPRMOV WORD PTR 0BH*4+2,AX;把向量高字写入高地址MOV AL,0DH;使INTE为l,允许8255A请求中断OUT 0C6H,ALSTI;使IF为1,开放中断中断处理子程序的主要程序段如下:INTPR:MOV AL,DI;DI为打印字符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论