并行通信及MCS-51与并行打印机接口.ppt

上传人:牧羊曲112 文档编号:6279470 上传时间:2023-10-13 格式:PPT 页数:18 大小:422.50KB
返回 下载 相关 举报
并行通信及MCS-51与并行打印机接口.ppt_第1页
第1页 / 共18页
并行通信及MCS-51与并行打印机接口.ppt_第2页
第2页 / 共18页
并行通信及MCS-51与并行打印机接口.ppt_第3页
第3页 / 共18页
并行通信及MCS-51与并行打印机接口.ppt_第4页
第4页 / 共18页
并行通信及MCS-51与并行打印机接口.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《并行通信及MCS-51与并行打印机接口.ppt》由会员分享,可在线阅读,更多相关《并行通信及MCS-51与并行打印机接口.ppt(18页珍藏版)》请在三一办公上搜索。

1、实验8 并行通信及MCS-51与并行打印机接口,一、实验目的二、实验设备与器材三、实验电路四、实验内容、过程及要求,一、实验目的(1)理解并行通信的概念、握手信号的含义。(2)理解并行通信数据传输时序及过程。(3)进一步理解8255并行I/O扩展芯片的初始化及应用。(4)理解并行打印机接口信号含义、数据传输时序。理解ESC/P打印命令,掌握打印驱动程序编写要领。,二、实验设备与器材仿真器及其附件、图1所示的实验电路板各两套,热敏或针式微型打印机一台(并行接口),打印电缆一条。本实验涉及实验板上的U101、U103、U107,而与其他元器件无关。,三、实验电路并行打印机一般采用与Centroni

2、c标准兼容的DB-25并行接口,各信号含义如表8-1所示,DB-25插座引脚编号、信号时序如图8-1所示。,表8-1 并行打印机接口信号含义,图8-1 并行打印机插座引脚编号及信号时序(a)DB-25插座引脚编号;(b)接口信号时序,根据多数微型指针、热敏打印机接口信号时序,一般不能以总线方式与MCS-51直接相连,除非系统晶振频率小于3 MHz,否则数据有效到STB信号有效时间小于打印机所要求的最短时间。在实验板上MCS-51通过8255并行接口芯片与打印机相连,如图8-2所示,打印电缆一端接J1插座,另一端接打印机即可。,图8-2 与打印机接口电路,四、实验内容、过程及要求(1)根据MCS

3、-51与并行打印接口方式,写出U107的初始化指令。(2)写出打印输出程序。打印程序编写要领可归纳为:数据送打印机前,先检查打印机状态;当打印机空闲时,将数据送打印机。如果打印机提供和BUSY两种握手信号时,原则上可选择或BUSY方式之一确认打印机是否处于可接收数据的就绪状态,即本实验中8255并行I/O扩展芯片A口可以工作在选通输出方式(采用握手方式),也可以工作在基本I/O输出方式(用BUSY握手方式)。考虑到打印机信号传输时序与8255芯片时序后,采用BUSY查询方式更可靠。,与打印有关的参考程序片段如下。;功能:查询握手方式打印驱动程序 PRIBUF DATA 50H;打印缓冲区(50

4、H60H)PRISP DATA 62H;打印指针 PRIBUFE BIT 00H;打印缓冲区数据有效标志(1表示打印缓冲区数据有效,;0表示数据无效)PORTA EQU 9000H;8255A口地址 PORTB EQU 9100H;8255B口地址 PORTC EQU 9200H;8255C口地址 PORTS EQU 9300H;8255控制/状态口地址,;8225初始化 MOV A,#10000010B;A口工作在方式0(b6b5为00),输出(b4为0);C口高半部处于输出状态(b3=0);B口工作基本输入方式(b2=0,b1=1);C口低半部处于输出状态(b0=0)MOV DPTR,#P

5、ORTS MOVX DPTR,A;命令送控制寄存器 MOV A,#00001111B;利用C口复位/置位控制字,将PC7置为高电平MOVX DPTR,A;控制字送状态口,;打印前初始化打印缓冲区及打印指针后,反复调用打印模块即可,如下所示 MOV R0,#PRIBUF MOV R0,#1CH INC R0 MOV R0,#26H;打印机命令 INC R0 MOV R0,#30H INC R0 MOV R0,#38H;送0、8的ASCII码 INC R0 MOV R0,#0AH;送“打印并回车”命令 SETB PRIBUFE;打印缓冲区数据有效 MOV PRISP,#0;初始化打印指针,MOV

6、DPTR,#PORTB MOVX A,DPTR JB ACC.4,NEXT1;b4位(PSLCT)为0,没选择,退出 JMP EXITNEXT1:JB ACC.7,NEXT2;打印机错(ERROR有效),退出 JMP EXITNEXT2:JNB ACC.5,NEXT3;PE有效,打印机缺纸,退出 JMP EXIT,NEXT3:JNB ACC.6,NEXT4;BUSY有效,打印机忙,退出 JMP EXITNEXT4:JB PRIBUFE,RUN;打印缓冲区数据无效 JMP EXIT,RUN:;数据送打印机 MOV A,PRISP ADD A,#PRIBUF MOV R0,A MOV A,R0;取

7、打印缓冲区内打印数据(包括ESC/P打印命令)CJNE A,#0AH,NEXT5;0AH为打印机换行命令,其后内容没有定义 CLR PRIBUFE;打印缓冲区内容无效,NEXT5:INC PRISP;打印指针加1 MOV DPTR,#PORTA MOVX DPTR,A;数据送A口 MOV DPTR,#PORTS MOV A,#00001110B;利用C口复位/置位控制字,将PC7置为低电平 MOVX DPTR,A;控制字送状态口,SETB ACC.0 MOVX DPTR,A;将PC7置为高电平,形成打印机送数负脉冲EXIT:RETEND,【思考】(1)查阅8255 PPI芯片选通输出方式时序参数及所用打印机数据传输时序参数,验证能否用8255 PPI芯片选通输出方式形成打印机就绪握手信号(即利用缓冲器满信号作为打印机的送数负脉冲,打印机应答信号作8255选通输出方式的信号,中断信号INTA反相接MCS-51的外中断)?并说明理由。(2)修改上述程序段,利用LED101指示打印机的状态:未连接(或未选择)时,不亮;出错、忙或缺纸时,慢闪;打印时,快闪;空闲且连接正常时,常亮。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号