热敏微型打印机在医院生化分析仪中的应用

  • 格式:pdf
  • 大小:121.29 KB
  • 文档页数:2

型打印机在医院生化分析仪中的应用 热 敢 微 型 打 印 饥 Appl ication of Thermal Micr0一printer in Bi0chemical Analyzer 在 医 院 陈裕国 生 Chen Yuguo 化 (武汉工程大学电气信息学院,武汉430073) 分 

(School of Electrical&Electronic Engineering,Wuhan Institute of Technology,Wuhan 430073) 析 仪 中 摘要:本文以WHI 53PA热敏微型打印机在医院生化分析仪中的应用为实例,设计了与C8051F120单片机间的硬件接口 的 电路。通过修改C51函数库中的putchar()函数,从而实现打印输出程序设计的简化。对于数据、汉字和曲线的打印输出, 应 用 分别提出了具体的程序设计方法。对其它型号微型打印机的应用具有参考价值。 关键词:微型打印机:生化分析仪:单片机:C51函数库 

中图分类号:TP216 文献标识码:B 文章编号:1671—4792一(2007)5—0166-02 Abstract:With the application of WH153PA type thermal micro-printer in biochemical analyzer。the interface Circuit between thermal micro--printer and C8051F120 microcontro1 let iS designed.Through modification of putchar 0 in C51 function library。the design of printing program is simplified.The programming methods are giyen respective】Y that printing float data,printing Chinese word and printing curve.The application is referential for engineers using other type micro-printers. 

Kevwords:Micrcr-printer;Biochemical Analyzer:Micro-controllet:C51 Function Library 

微型打印机分为针式打印机和热敏打印机两类。热敏打 州9c 21 _= ’ 印机较针式打印机的打印速度要快一些。微型打印机有并 ∈—I .一一 馨 Ri 口、串口和USB接口等各种不同形式的接口类型。WH153PA L 。 / AD,一 2 执彝 撕刑打印加. 一斯而 ; 氟符打印 R个宝 确:百r幸T Lc8n51F120 一 ^b3一 7 6 印16×16点阵汉字的并行接1:3微型打印机,具有体积小、便 § /\ ¨ AQL 9O1 

于安装的特点。在医院生化分析仪产品的设计中,需要打印 . A也 ; 生化检验报告单,通过采用WH153PA热敏微型打印机,取得罹燃 : j盐到 4 了较好的效果。下面介绍这方面硬件接口电路的设计和打印 :器 ;:} -.{ , 壮 2 7 程序设计的技巧。 :器器 :i 7”N^n, I _‘■ll‘日^-‘ ^a( ,69 

RA^n^ II,■・0 II‘ 

226 I暑 1 与C8051 F120单片机间的接口电路设计 D6焉/D6赫/P7:j RR^^ ’_-‘ l】‘ -:T一 R An7・ 最 I■---一JI 一 卜 wHj or^了J rdJ Ll 7r1]便I--I犬 F| D ’? 0 “ ∥ ∑ … VDD i ’J… I 一 共甲,ADO~AD7力取倨线;PRN_BUSY力f[1青号,向电半表 “叩RjNTER 示打印机正“忙”,不能接受数据;PRN_./STB为数据选通信 酵 — 卧0 号,上升沿将数据锁存打印机的缓存;PRN—/ACK为打印机应 P 0.4。 —§ 照H 00 2Q —j—a^1 —j工^2 —j直^3 答信号,低电平表示数据已被接收而且准备接收下一数据; 器:9 K§ '4皿At%ILIA^ nia ̄]I i 5o ——i5_^4 —J土5PE、GND接地;sEL、PR E 信号这里没用。生化分析仪 l嬲 。。 g 5;I PRN ——13^6 的处理器选用 单片机…, 具伺.4-C805IFI20 C8051F120 128K内 删 0 一 一B啪 _一 —_】2^7 

部FLASH存储器、8848字节内部RAM和64K外部数据存储器 图一wH O接口电路 接口,FLASH存储器用于程序和非易失性数据存储,外部数 打印程序的豸 转换成字符串,然 据存储器地址用于对液晶显示、步进电机、打印机等外设接 后将要打印的字卒 时数据的打印。然 口的寻址。通过初始化程序配置c8o51F12o单片机内部交叉 而,这种方法对 导不方便,而且不 开关寄存[ ̄]XBRO=Oxc4、XBRI=0x14和XBR2=Ox40,可以实 易进行格式控制。 tchar()函数的修. 现分配图一中C8051F120相关I/O端口的功能。 改,可以较好地角 序设计得到简化。 2打印程序设计 2・I修改C51 §数 

1 

R 维普资讯 http://www.cqvip.com putchar()函数位于C51函数库一般i/o函数STDIO.H中, 其原型是exte,・n char putchar(char),通过8051串行口输 出字符【31。依据图一修改putchar()函数,可以改变STDIO. H中printf()函数的输出机制。考虑到STDIO.H中putchar 0 函数的非再入属性,修改后的代码进行了关中断的设置。具 体代码如下: (1)包含头文件,宏定义和硬件连接定义 #include<absacc.h>//绝对地址访问头文件 #define PRN—ADDR Ox4000//打印机端口地址 #define PRN_WR XBYYE[PRN_ADDR】//绝对地址访问 sbit PRN_BUSY=P3 3; //图一中PRN_BUSY硬件连接定义 (2)修改后的putchar()函数 char putchar(unsigned char uch)< if(uch<Ox20)return uch; else< bit EA—.SAVE=EA; EA=o;//关中断 while(PRN_BUSY)():P WR=uch; EA=EA_SAVE;//恢复KA return uch; ) ) 2.2数据打印 通过对putchar()函数做匕述修改,可以使用C51函数 库中的printf 0函数方便地对数据进行打印。printf O函数 自带格式控制字符串{31,有如下形式: flag】[width】[.precision】type 其中:flag用于控制输出位置;width用于定义输出字 符个数;.precision用于定义浮点数的有效位数;type对 输出格式转换。实例中,部分相关代码如下: void SelectZifuji(uchar n)(//选择字符集n=l、2 while(PRN_BUSY)();PRN_WR=Oxlb; while(PRN_BUSY)();PRN—WR=Ox35+n; ) 

SelectZifuji(1);//选择字符集1 printf(。鬈_4.2f ,Jieguo);//打印测量结果,左对齐 printf(” U/L”);//打印单位 while(PRN_BUSY)f);PRN_WR ̄OxOd; /’回车,打印机打印缓冲区内全部字符 / 

printf( 鬈s ,time);//打印时间 

2.3汉字打印 WHI53Pg打印机自带一级、二级字库[4】,采用标准机内 码表示,—个汉字机内码由2个字节组成,高字节范围OxA1~ OxF7,低字节范围OxA1~OxFE。汉字打印必须设置打印机命 令,使打印机进入汉字打印方式,打印机根据接收的二字节 代码,寻找机内硬汉字字模并打印。在汉字打印方式下,打 印机同样可以接收ASCII码并打印。实例中,部分相关代码 如下: (1)汉字。项目 结果 单位”定义 unsigned char code prn—d5[28】=<∥项目结果单 位 Oxcf,Oxee,Oxc4,Oxbf,Ox20,Ox20,Ox20,Ox20,Ox20,Ox20, Ox20,Ox20.Oxbd,Oxel,Oxb9.Oxfb,Ox20,Ox20,Ox20,Ox20, Ox20.Ox20,Ox20.Ox20,Oxb5.Oxa5,Oxce,Oxbb} void PointMatrix_Select(unsigned char n).< ∥汉字点阵选择 while(PRN_BUSY)();PRN—WR---Oxlc; while(PRN_BUSY)();PRN_WR--Ox69; while(PRN_BUSY)();PRN_WR=n; ) (2)打印。项目 结果 单位” PointMatrix_Select(4); for(i=O;i<28;i++){//项目 结果 单位 while(PRN_BUSY)(); PRN_WR=prn_d5[i】; ) - while(PRN_BUSY)();PRN_WR=OxOd; //回车,打印机打印输出 2.4曲线打印 WHI53PA打印机沿走纸方向可以打印多条曲线,理论上 可以达到每行的最大点数。曲线打印命令格式如下: Oxlb,0x27,mlm2.11hl’,12h2’.…,ikhk’.OxOd mlm2为每个点行打印点数,即打印曲线的条数;ikhk代 表这mlm2个曲线点中第k个点的位置。由于打印机不能接收 大于255的数据,每个点由两个字节组成,lk为低字节,hk 为高字节,ikhk的值应落在每行最大点数之内。0xod是回车 符,打印机打印本行的曲线点。 为了打印测量到的数据,一方面,需将待打印的数据进 行量化处理,量化将依据打印机每行点数(384点/行)和 测量到的数据范围来确定;另一方面,必须提供足够多的数 据,采样的数据越多,曲线越光滑。 此外,设计中还需打印纵、横坐标和垂直、水平等分线。 方法是在每隔32点行的打印缓冲区内填人相应水平等分线的 量化数据,在每隔32列的打印缓冲区内填人相应垂直等分线 的量化数据。剩下的任务就是用前面的曲线打印命令将打印 缓冲区内的数据逐行打印输出。 3结束语 本文设计了WHI53PA热敏微型打印机与C8051F120单片 机间的硬件接口电路,电路简单、可靠。尤其通过修改C51 函数库中的putchar()函数,取得了打印输出程序设计的简 化,并实现了各种打印功能。本实例对其它型号微型打印机 的应用具有参考价值。 

参考文献 [1】陈裕国,冉全,钟时明.基于单片机的半自动生化分析 仪系统设计[J】.仪器仪表用户,2006,13(4):60-62. [2】[美]Cygnal Integreted Products,Inc.著.潘琢金, 孙德龙,夏秀峰译.C8051F单片机应用解析[i】.北京:北京 航空航天大学出版社,2002. [3】徐爱钧.单片机高级语 ̄'C51 Windows ̄编程与应 用【i】.北京:电子工业出版社,2001. [4]北京炜煌科技发展有限公司.热敏微打开发使用说明 [PDF】.http://WWW.brightek.com.cn.