- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 输入输出接口技术 4.6 微型打印机及其接口 在智能仪器或单片机应用系统中,有时希望能配上微型打印机,以便把测量的数据、处理的图表打印出来,省得手工抄录,作为永久性保存。 4.6 微型打印机及其接口 目前国内应用较广泛的是GP-16型等微型打印机。它们是以8039单片机为控制器的智能化打印机,每行可打印5×7点阵的字符16个,能打印240个字符及图形和曲线,如果配上PP40彩色绘图打印机,不仅可打印字符,还可描绘精度较高的彩色图表,本节介绍上述两种微型打印机与单片机的接口。 一、8031与GP-16微型打印机的接口 GP-16为带有8039单片机作为控制器的智能微型打印机,它具有一个双向三态数据总线,用以和主机通信。GP-16有13根线连到微机。GP-16接口信号如下表所示。 一、8031与GP-16微型打印机的接口 GP-16接口信号是I/O0~I/O7、CS、WR、RD、BUSY、GND,其中,I/O0~I/O7为双向三态数据总线,用来传送命令状态和数据;CS为设备选择线,RD、WR为读、写信号线,BUSY是打印机状态输出线,高电平表示打印机处于忙状态,不接收CPU的命令或数据。这些信号与MCS-51单片机完全兼容,因而可方便地与MCS-51单片机相连接。 单片机和GP-16的信号传送可以采用查询方式,只有当主机查询到GP-16微打处于空闲状态时,才可以向GP-16打印机发出命令或数据,单片机也可用中断方式控制GP-16微打。 此时把GP-16的忙状态信号BUSY送到单片机的外中断请求输入端(如INT0、INT1),并赋予一定的中断级别。当BUSY=0,即GP-16空闲时便向单片机发出中断请求。 (二)打印命令和工作方式 空走纸命令(8nNNH):打印机自动走纸N*n个点行。 打印字符串(9nNNH):打印机接收完CPU写入的16个字符(一行)后,进行打印,打印一行约需1秒钟。收到非法字符按空格处理,收到换行(0A),作停机处理。当打完规定的NNH行数后,BUSY清零。 GP16打印机打印字符及其编码如表4-20所列。表左侧为代码的高半字节,表顶部为代码低半字节,代码为十六进制。 打印16进制数据(AnNNH):打印内存数据常用本指令。把CPU写入的数据字节分两次打印,先打高4位、后打低4位,每行打印4个字节。行首为相对地址,格式为: 00H:** ** ** ** 04H:** ** ** ** ……… 图形打印(BnNNH):GP16接收到图形打印命令和规定行数后,等待主机送来一行96个字节的数据,开始打印。把这些数据所确定的图形打印出来,然后再接收CPU的图形数据,直到规定的行数打完为止。 图中打印图形为一正弦波。打印点为1,空白点为0。设正弦波分两次打印,先打印正半周,后打印负半周。下面为2行正弦波图形数据。 第一行: 80H,20H,04H,02H,01H,01H,02H,04H,20H,80H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H… 第二行:00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,01H,04H,20H,40H,80H,80H,40H,20H,04H,01H… (三)状态字 GP16内部有一个状态字可供CPU查询,其格式如下: GP16微型打印机的控制电路中有三态锁存器,所以可直接与CPU的数据总线连接。图4-58为一种连接方案。图中BUSY接,采用中断方式与CPU连接。 如果采用查询方式,可将BUSY接到单片机的一个输入端口。由于P2.0接GP16的端,故打印机的地址为FEFFH。单片机要读取GP16的状态字时,执行下列程序段: MOV DPTR,#0FEFFH ; 打印机地址送数据指针 MOVX A,@DPTR ; 读取状态字 单片机向GP16写入命令或数据时,可执行下列程序: MOV DPTR , #0FEFFH MOV A , #DATA ; 向A送数据或命令 MOVX @DPTR , A ; 数据或命令送打印机 如果为了节省端口而没有连接BUSY信号线时,GP-16提供了一个状态字供CPU读取。状态字的最高位D7为“错误”位,命令非法时置1,正确时置0。状态字的最低位D0为“忙”位,当主机写入命令或参数没处理完时置1,不能接收新的命令或数据;反之置0。利用状态字
文档评论(0)