单片机与微型打印机简单实用接口设计

🏠 首页 《无线电》杂志 1995年 🔗 第10期 🔗 第39页 分类:无线电技术自学经验交流 🔗 费雄江 🔗, 徐涛 🔗

写此文章,目的有二:其一是想为初试者介绍一种简便实用的单片机与微型打印机接口;其二是想提醒熟练者不要闲置单片机的接口资源。从微型打印机方面来看,μP系列微型打印机使用比较简单方便。下面以8031单片机与μP16B微型打印机的接口为例加以说明。

一、μP16B型打印机掌握要点

1.打印机插接件引脚信号(图1)

图1
图1 🔍原图 (931×224)

连线时按此图引脚顺序连接,一般打印机均配有20芯扁平线。

2.接口信号图时序图(图2)

图2
图2 🔍原图 (731×266)

由图所示,首先把8位数据送入数据线,然后检测BUSY为低电平时,给STB-一低电平,使BUSY进入“忙”状态(高电子),8位数据即被打印机读入内存,在大于0.5μs后,使STB恢复高电平,数据得以锁存,待打印机处理完毕后BUSY又进入低电平,完成一次数据传送。

3.打印命令

打印命令简单,只要阅读说明书即可掌握。

二、8031与μP16B的硬件接口

由前述可见,采用查询打印方式,除8根数据线外,另需两根信号控制线,共10根线,即可实现接口设计。

图3
图3 🔍原图 (818×456)

三、软件设计

首先在内存中按顺序排列好由打印命令码、回车换行或结束码组成的数据块,然后执行下面子程序即可。

MOV R0,#30H;数据块道地址。

MOV R1,#XXH;数据块长度。

Ll:JB P3,1,L1;测 BUSY状态。

MOV P1,@ R.;从 P1口送出数据。

CLRP3.0;给STB-一个大于0.5μs脉宽使

SETB P3.0;打印机把数据读入内存锁存。

INC R0;指向下一个数据地址。

DJNZ R1,L1;长度循环。

RET;子程序返回。

总之,用此接口,实践方便,只要灵活运用该打印子程序便可打印出各种要求的数据和图形。其它型号单片机可类同处理。(费雄江 徐涛)