本文介绍一种由常用芯片组成的TP-801单板机数据传输和打印机接口电路(见图1),使用户能方便地打印、传输现场数据或处理结果。

电路组成
1.打印机接口电路:
图1中,8212做为单板机数据总线与打印机的接口,其片选信号由译码器74LS138提供。当译码输出Q-\(_{4}\)为低时(口地址94H,写操作),8212锁存来自CPU的数据,并送至打印机。然后在单板机下一个时钟φ的上升沿产生打印机数据选通信号(STB)。打印时间关系见图2打印机的忙状态信号由译码器输出Q-2(口地址94H,读操作)控制读入,利用查询的方法可知打印机的工作状态。本电路挂接的打印机为FX-80。事实上满足图3条件的打印机均可挂上。


2.串行数据输出,输入口
由74LS74,MC1488芯片组成的锁存器和电平转换电路用来接显示终端和其它具有RS-232C接口的计算机,以便进行串行通信。通信规格由程序设定。74LS367,MC1489组成一个三态门输入电路,接收来自RS-232C的信号。有两条输入线,一条接收数据,另一条接收数据终端准备好(DTR)状态信息。输入,输出口地址分别是95H(读操作)和95H(写操作)。数据输出时间关系见图4。

应用举例
将单板机内存2100H~2400H单元的ASCII码数据打印出来,同时按一码十位(1个起始位,7个数据位,1个偶校验位,1个停止位)的通信规格,以4800波特的传输速率发向微型计算机。设单板机数据区内每隔70个单元放有OAH,ODH两控制符,用来做为打印机的换行,回车。单板机单元分配如下:2000H~2040H存放打印、发送程序;
2040H~2041H存放打印,发送数据的起始地址;
2042H~2043H存放打印,发送的数据量;
2100H~2400H存放ASCII码数据。
寄存器说明:
HL—数据区起始地址指针寄存器;
DE—数据量寄存器;
B—码长计数器;
C—延时常数计数器。
输入/出口地址94H(写)、94(读)、95H(写)、95H(读)功能分别为向打印机输出一个字、查打印机忙闲状态、串行输出一个位及查数据终端准备好。
源程序如下:

当用户不用打印机时,数据按波特率通过MC1488连续发往计算机。若接收方需要将信息记录在软、硬盘上,最好以256个字节为一个数据块单位,使最后两码为0AH,0DH,并给予计算机读写这些字符足够的时间。(王伟)