基于飞思卡尔微型热敏打印机的设计与实现
[09-13 16:46:58] 来源:http://www.88dzw.com 信息显示与光电技术 阅读:8151次
文章摘要:采用74HC245三态双向总线驱动器作为打印机口向单片机传送并口数据的接口,其片选信号与单片机的P27相连,方向控制位DIR与单片机的T0相连。当DIR置成高电平时,数据从A端口向B端口传送,此时单片机可以通过读取74HC245数据端口即可得到并口数据。打印机状态信号BUSY连接至单片机的P15引脚,并口数据采集控制信号CTRL直接连至单片机的INT1中断引脚,当INT1产生中断时,单片机从并口将数据取走,然后再发送至打印机打印出来。3 软件设计实现软件实现的流程如图3所示。该软件编程是用C语言实现的,通信过程主要包括两部分:初始化和并口数据的采集。并口数据的采集是通过中断方式进行的。采集数据
基于飞思卡尔微型热敏打印机的设计与实现,标签:显示及光电,光电显示技术,http://www.88dzw.com采用74HC245三态双向总线驱动器作为打印机口向单片机传送并口数据的接口,其片选信号与单片机的P27相连,方向控制位DIR与单片机的T0相连。当DIR置成高电平时,数据从A端口向B端口传送,此时单片机可以通过读取74HC245数据端口即可得到并口数据。打印机状态信号BUSY连接至单片机的P15引脚,并口数据采集控制信号CTRL直接连至单片机的INT1中断引脚,当INT1产生中断时,单片机从并口将数据取走,然后再发送至打印机打印出来。
3 软件设计实现
软件实现的流程如图3所示。该软件编程是用C语言实现的,通信过程主要包括两部分:初始化和并口数据的采集。
并口数据的采集是通过中断方式进行的。采集数据的控制信号CTRL连接至单片机的中断INT1引脚,通过不断检测INT1的状态来进行并口数据的采集。当打印机不忙(即BUSY=0)时,如果有INT1中断产生,则从74HC245的数据端口将并口数据读出,同时将打印机忙标志BUSY置1(表示打印机忙)。当数据已经发送至打印机打印时,则将打印机忙标志BUSY置0。然后重复上述步骤进行并口数据的采集及打印。
初始化过程分两部分:单片机初始化和打印机的枚举初始化。单片机的初始化过程就是直接向相应的I/O口写初始化值及设置看门狗,可调用函数watchdog_init()实现设置看门狗。
![]() |
打印机的枚举初始化过程很重要,要实现打印采集到的并口数据,首先必须成功地枚举初始化打印机。初始化USB打印机函数init_print()主要用到以下几个主要函数:
◇get_descr(1),获取设备描述符。
◇rd_usb_data(buffer),从CH375中读取数据到单片机中。
◇set_addr(3),设置打印机的USB地址。
◇get_full_descr(buffer),获取配置描述符。
◇set_config(unsignedcharcfg),加载USB配置值。
编者注:具体程序见本刊网站:www.mesnet.com.cn
结语
本文详细介绍了基于80C51单片机和USB总线通用接口芯片CH375的LPT-USB打印机驱动器设计及C语言实现。经测试表明,利用该设计能够实现并口仪器数据直接经USB打印机打印出来,打印结果正确无误。该设计现已被用于并口仪器上,利用该驱动器,并行口仪器可以直接和USB打印机相连进行打印,极大克服了有些并口仪器必须连接并口打印机才能打印的弊端,从而很大程度上方便了用户。
《基于飞思卡尔微型热敏打印机的设计与实现》相关文章
- › 基于飞思卡尔微型热敏打印机的设计与实现
- 在百度中搜索相关文章:基于飞思卡尔微型热敏打印机的设计与实现
- 在谷歌中搜索相关文章:基于飞思卡尔微型热敏打印机的设计与实现
- 在soso中搜索相关文章:基于飞思卡尔微型热敏打印机的设计与实现
- 在搜狗中搜索相关文章:基于飞思卡尔微型热敏打印机的设计与实现