范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

热敏打印机心电图形怎么快速打印打印方法

  随着电子技术的发展,打印机已经广泛应用到各个领域,成为各种智能数字化仪器仪表的重要数据输出手段。而其中热敏打印机凭其体积小、重量轻、可靠性高、打印字符清晰、无噪声、走纸均匀等独特能而越来越受到青睐,更是成为小型医疗仪器如心电图机的首先。
  下面以笔者课题组开发的12导同步心电图机为例,介绍以普通52单片机为主控芯片应用串行热敏打印机实现多种方式的心电图形打印,并重点描述了12导联同步打印方式的程序实现方案。
  1 系统硬件设计
  系统配置了一个内置式数字打印机,它主要由热敏打印头(W216-QS)和步进电机组成。W126-QS点阵式热敏打印头打印数据采用串行输入,其内部不仅包含有由C-MOS集成芯片构成的1728位移位寄存器,还包含借助高密度厚膜工艺制成的加热元件。这些加热元件通过锁存和切换晶体管驱动,可在热敏打印纸上产生1728个点,对应的打印宽度为216mm,分辨率为8dot/mm。热敏打印头所需的打印数据为串行数据,数据传输遵循SPI口的通信协议。系统采用了口线模拟SPI的工作方式与打印头通信,电路如图1所示。
  考虑到52单片机内部令有256字节的内部RAM,系统还外扩1片HM628128存储12导心电数据和中间转换结果。
  2 系统软件编写
  数字打印实现的两个关键问题:①如何将心电数据转换成打印数据;②如果将数据输出到数字打印机。通常采用的方法是转换数据同时将其输出到打印机打印。这样节省了存储器空间;缺点是程序实现复杂,通用性差(不同打印方式的数据输出程序不同),系统功能不易扩展,数据转换和输出都要考虑打印点位置,并且每输出一点的数据都要调用一次程序,加大了系统开销。系统软件中没有采有这种方式,而是在内存中开辟216字节打印缓冲区,将热敏打印头1728个点与216×8位数据相对应,每次将要打印的一线数据都转换完再输出。这样只需在数据转换时考虑打印位置和方式,输出程序只需将216字节的数据按位输出即可,并且每打印一线数据只需调用一次输出子程序,字节了系统开销。缺点是占用系统资源,这一点在12导同步打印表现得尤为明显。
  系统程序实现三种打印方式:分两次打印12导联数据,每次打印6导、12导同步打印、纵向打印(打印效果如图2)。在每一种打印程序中实现模拟SPI口将打印数据送至数字打印机的子程序共用,不同处在于如何将心电数据转换成打印数据。
  2.1 I/O口线模拟SPI口
  SPI(Serial Peripheral InteRFace)总线串口是由Motorola公司提出的一种同步串行外设接口,通过四根线进行通信:时钟线(SPKCLK)、数据输出线(SPIMISO)、数据输出线(SPIMOSI)、片选线(CS),内部通过SPIDAT寄存器完成串-并/并-串转换。它主要工作在主从式系统中,一个主器件可以带多个从器件,主器件通过片选线控制总线冲突,使同一时刻只有一个从器件与从器件交换数据。
  系统应用的串行热阵式打印机数据传输采用SPI时序,但普通52单片机无SPI口,所以采用I/O口线模拟SPI时序。考虑到系统中MCU作为主器件总是发送数据,而数字打印机作为唯一从器件又总是接收数据,所以只需用口线模拟SPI口的时钟线(SPIKCLK)、数据输出线(SPIMOSI),程序模拟SPIDAT完成并-串转换即可。如前所提到打印头打印的数据点数为1728点,分辨率为8mm/mV,对应216字节的数据,为此从内部RAM中分配出216字节的空间作为打印缓冲区,程序从缓冲区依次读数据,在模拟时钟线的控制下将并行数据转换成的串行数据按位依次送至打印机的移位寄存器中,结束后送LATCH锁存信号和打印头加热脉冲STROBE,从而在热敏打印纸打印出一线心电图形,驱动步进电机向前走纸即可以连续打印。SPI口模拟程序如下:
  OUTPUT:
  现场保护
  LCALL INTRAM ;初始化内部打印缓冲区
  MOV R0,#Dat_Buff ;初始化R0为缓冲区末位地址
  DAT_OUT:
  MOV A,@R0 ;从缓冲区读数据
  MOV R7,#08H ;初始化R7控制并/串数据转换
  CONT_CHG:
  RRC A ;对ACC循环右移实现并-串转换
  MOV P1.3,C 将串行数据送至打印机
  SETB P1.1 ;模拟SPI时钟
  NOP
  CLR P1.1
  DJNZ R7,CONT_CHG ;判断1字节数据是否转换完
  DEC R0 ;寻址下一字节
  CJNE R0,#15H,DAT_OUT;判断数据是否全部转换完
  CLR P1.2 ;产生数据锁存信号
  NOP
  SETB P1.2
  NOP
  CLR P1.0 ;产生加热脉冲
  LCALL HEATDLY ;调用加热延时程序
  SETB P1.1
  LCALL MOTOR_RUN ;步进电机走纸
  恢复现场
  RET
  2.2 打印算法
  数字打印机实质上实现了数据与打印点的对应,也就是说8位心电数据数值范围为0~255,对应于热敏打印纸上的256点,通过加热敏单元使纸上某点变黑显示数据的大小。这就需要将表征实际心电大小的数据(以下称为原始数据)转换成能够指示加热点位置的数据(以下称为位置数据),通过位置数据的控制将心电数据对应的点依次打印出来,就可获得心电图。但是由于系统模数转换器获得的心电数据是离散的,如果仅将它们对应的点打印出来,得到只是一些离散的点,要想获得连续的心电图形,需要将相邻的离散点按照一定的算法将它们连接起来,对于纵向打印方式和横向打印方式,离散点连线算法是不同的。限于篇幅,在下面介绍打印方式的实现中,仅对横向12导同步打印和纵向打印进行详细阐述,而对6导联打印仅介绍其实现思想。
  2.2.1 横向6导联打印
  心电图纸长度为216mm,为每一导联心电信号分配32mm,对应于打印缓冲区中连续的32字节,打印数据转换后的位置数据存储于这32个字节中。12导联的心电数据被分为两大组,当一组打印完成再打印剩下的6导联的数据。具体的实现过程可参考横向12导联打印方式。
  2.2.2 横向12导联同步打印
  在6导联打印方式实现过程中,注意到在大多情况下一个完事心电波形中仅QRS波主峰较高可以点满整个空间外,其他波段幅值都较小占用空间很少,而这些波段可以提供更多的信息,此外将12导联分开打印,不利于医生对比同一时刻不同导联的心电波形。而采用12导联同步打印,虽然会出现波形部分重叠,但是在一些心脏疾病诊断中影响不大,且可以得取更直观的效果。
  12导联同步打印程序实现的基本思想与6导联同步打印相同,不同在于将12导联的数据同时在216mm宽的打印纸上打印出来,不可避免地出现不同导联心电图形重叠的现象,对应的内存单元也会出现复用的情况。如果简单地套用6导联打印程序,那么前一导联的数据会被相邻导联数据冲掉,从而使图形无法正确显示。图3列出了为各个导联分配的热敏打印纸空间与缓冲内存单元(这里假定缓存地址为0x1DH~0xEDH)。从图3中可以看出除了I导联前16mm空间和V6导联的后16mm空间没有被复用,打印纸的其它空间都是被两个导联共用。内部RAM使用情况也与之类似。为此在外部RAM开辟一个内部打印缓冲区的影像区(大小为216字节,单元地址的低8位与内存相应单元相同,如内部RAM 0x1DH单元与外部RAM 0xXX1DH相对应),将12导联分为两组:一组(I,III,aVL,V1,V3,V5)仍然存储于内部存储器,而另一组(II,aVF,V2,V4,V6)存储于外部影像区,在12导联一线数据转换完要打印时,将两部分按照对应单元相与即可。这样做不但可以解决上述问题,而且节省了内部资源、降低程序编写的难度。
  如前所述不同导联所占的打印空间不同,所以,对于某导联心电信号,先要确定其打印区间,然后再确定打印数据在该区间的相对位置。
  假定某导联所占打印空间的起始字节为第n个字节,而要打印的心电数据为m,将m除以8,得商k,余数为1,则此心电数据对应点对数(n-k)字节的第1位。即该心电数据对应的位置数据为第(n-k)字节(该字节的1位置1,其它位清零)。因此,打印此心电数据时,该导联所要传送的32字节打印数据中只有第(n-k)字节的第1位为1,其他都为0。
  与液晶显示相类似,对于一个导联的心电信号,要实现心电图打印,必须将盯连两个心电数据用线连接。即对于一条心电曲线,起始显示数据点在起始列只显示1点;从第二个数据点开始,要在下一列显示上一数据点到此次数据点之间的线段。在热敏打印纸上表现为将两数据点之间的点都加热,对应于内存则是将两点之间的数据都置1。
  对于—导联的心电信号,先读出第一个心电数据,将其转换成32字节位置数据直接打印。从第二个心电数据开始,除了要转换成位置数据外,还要与上一个数据相比较,用大数对应的位置数据减去小数对应的,然后结果与大数的位置数据相加,结果即为此心电数据应送打的32字节数据,也即完成了与上一心电数据连线的操作。分析发现连线算法只影响相连两个位置数据中非零字节之间的数据,为了简化计算,只需对这些字节进行减法操作,而不必计算所有的32个字节。对于加法,也只需将大数对应位置数据中的非零字节进行加法,即进行单字节加法。
  举例说明,对于导联V6心电信号,前一个数据37H,下一个数据为55H,导联V6分配的打印区间为1DH~3DH,按照位置数据转换算法,37H的位置数据为第37H字节,该字节内容为80H,其他字节都为00H;55H的位置数据为第33H字节,该字节内容为20H,其他字节为00H。由于37H〈55H,因此应是心电数据55H的位置数据减去33H的位置数据,计算如图4所示。
  2.3 纵向打印程序
  纵向打印能够实现将12导联数据无重叠同步显示。这样医生可以参考比较同一时刻的各个波形的变化趋势,为疾病的诊断提供方便。
  热敏打印纸宽度为216mm,分辨率为8dot/mm,这样最多能够打印1728点,将这些点与某一导联连续的1728个心电数据相对应,也就是说导联顺序第n个数据对应于一线图形中的第n个点。与模向打印相比纵向打印仍然要解决将离散的点连接起来的问题;但与横向顺序打印方式,即打印点按时间顺序打印相比,其难点在于需要将不同时刻同一幅值的多个点同时打印出来,即打印点按空间顺序打印。
  首先定义一个内存单元存储扫描值,使其从当前通道数据最大值变化到0,依次与通道的每一个数据进行比较:相同则对应点被描记;小则不被描记;大则需要将当前心电数据相邻的两点与扫描值相比较,只要其中一个比扫描值大,则对应点被描记,要描记的噗将其内存对应的数据位置1。
  举例说明,如果打印内存缓冲区的首字节为n,大小为216字节,而当前某一导联顺序第m个心电数据是v,而此时的扫描值为w:①v>w,则继续比较第m+1个数据;②v=w,则对应点需要被描记;③v。

酷狗怎么复制歌词和歌曲到mp3上酷狗复制歌词和歌曲到mp3方法如下1点击酷狗播放器右边我的应用下的复制MP3如(图1)12点击右上角的设置,在弹出的选项框中勾选自动复制歌词。这样,复制歌曲的同时就会复制歌词了,并怎么制作MP3LRC歌词MP3LRC歌词制作流程介绍详解MP3LRC歌词的制作动手能力强的朋友或想改编歌词的朋友可按以下步骤进行同步先从网上下载标准的歌词文件或运用歌词编辑软件自己编写,然后将标准的。LRC文件拷贝到本机内存根目录下,要显示桌面不见了怎么办图文教程在21世纪,相信大家对电脑的了解是比较深的。电脑是一种用于通讯和学习工作的电子产品,在1992年的时候,电脑走入我们中国的市场。在往后的几十年间,电脑行业迅速的发展。我们平时使用和酷狗歌词不同步怎么办酷狗歌词不同步,歌词不正确可以在歌词上停留0。5秒,出现歌词框,点击歌词不对,出现歌词搜索框,点击右上角搜索,选择一个歌词后点击下载。酷狗(KuGou)是国内最大也是最专业的P2P诺基亚Lumia510如何对锁定屏幕进行个性化设置诺基亚Lumia510对锁定屏幕进行个性化设置方法在ldquo开始rdquo屏幕上,向左滑动,然后点击设置gt锁屏壁纸。诺基亚Lumia510搭载WP7。5Mango操作系统,以简支付宝密码被锁定了怎么办支付宝解锁教程详解支付宝密码被锁定了怎么办?用户使用支付服务需要实名认证是央行等监管机构提出的要求,实名认证之后可以在淘宝开店,增加更多的支付服务,更重要的是有助于提升账户的安全性。经常会有人不小心小米手机锁定怎么解锁方法介绍图解小米手机是我们国产销售最好的手机,小米手机的配置是在同等价位中最高的,手机的质量也是最耐摔的,手机的价格也很亲民,深受大家的喜爱。一个好用的手机,可以为你省去不少麻烦。有一部分人总键盘锁定按什么键解锁方法介绍人们在使用台式电脑或者是笔记本电脑的过程中,都会使用到键盘,因为键盘可以帮助人们输出资料,也可以帮助人们查询资料,完成电脑输入任务,非常的方便。当然,在使用键盘的过程中,人们很可能笔记本键盘锁定怎么解锁笔记本键盘解锁方法图文笔记本目前已经普遍,学生上班族一般都会配备属于自己的笔记本呢。电脑键盘是电脑必不可必的重要成分,我们每天人机互动主要是通过键盘来输入内容。不过在使用笔记本电脑的同时难免会出现一些这支付宝密码被锁定怎么办?如何解锁?支付宝密码被锁定怎么办?如何解锁?现在很多年轻人都会选择用支付宝进行网购,可是很多时候都会忘记密码或者输错密码,那么支付宝密码被锁定怎么办?如何解锁?支付宝密码如果输错3次后会被锁电脑每次开机时间都显示不对怎么回事让电脑时间准确报时方法电脑每次开机时间都显示不对是怎么回事?现在我们不管是工作还是娱乐,面对的最多的就是电脑,所以电脑上面的时间对我们来说很重要,要是每次开机都要调整时间这是一件很麻烦的事。下面,我们就
锐龙Ryzen72700配什么显卡好锐龙R72700显卡搭配推荐众所周知,AMD目前已经正式发布了全新的锐龙二代处理器,相信后期会慢慢替代一代锐龙产品。与上一代锐龙一致,二代锐龙处理器也没有内置核心显卡,因此需要搭配独立显卡才可以使用。那么AMAMDRyzenThreadRipper1950X搭配什么主板和显卡比较好AMD发布的RyzenThreadRipper系列处理器中,一款16核心的RyzenThreadRipper1950X,于本月在国内上市,这款处理器堪称是最强桌面处理器。这款被称为i78700用什么主板好i78700主板搭配攻略前段时间,intel发布了第八代CoffeeLake酷睿处理器,依然为酷睿i3i5i7系列,其中i7系列推出了i78700i78700K两款处理器,分别替代上一代i77700和i7锐龙R33100配什么主板锐龙33100最佳主板搭配指南AMD在近期发布了AMD锐龙R33100和R33300X,将Zen2架构的三代处理器全部布局完成,其中虽然R33300X性能更好,但是如果谈及超频能力,无疑是R33100超频表现更RXVEGA64配什么主板RXVEGA64主板搭配指南AMD发布了新一代RADEONRXVEGA64显卡,这款显卡采用全新的构架,并附有多项技术。这款显卡的主要特点是分辨率高达8K,整体性能极佳。有网友提问,RXVEGA64配什么主板i710700配什么主板i710700F与主板搭配指南intel在2019年底率先发布了十代代酷睿X系列处理器,其中包括了i910900Xi910920Xi910940Xi910980XE众多型号,不过都是面向消费者的十代酷睿i3i5i79700F配什么主板i79700F处理器与主板搭配技巧在intel九代酷睿i7系列中,分别有i79700和i79700K两款型号处理器,其中这两个型号中还有F版本,分别是i79700F和i79700KF,说白了就是无内置核显版本,但是R31200和i37100哪个好Ryzen31200与酷睿i37100区别对比今年7月份上市的AMD锐龙3系列处理器R31300X1200,大多数用户认为必将对Intel酷睿i3形成强大的冲击。众所周知,目前酷睿i3系列最热门的就是i37100处理器,而性价i510600K配什么主板好i510600KF主板搭配指南近年来,AMD有着突飞猛进的发展,而AMD口碑因此而越来越好,抢占了intel的不少市场,但是对于intel也不会无动于衷,推出了第十代处理器,相比上一代产品确实提升还是相当的OK酷睿i58400i58500i58600i58600K配什么显卡好目前intel第八代酷睿处理器上市,预计将在2018年主流装机市场全面普及并逐渐替代酷睿七代平台,目前也有不少装机用户已经优先尝鲜,不过目前价格上并不合理,需要等待一段时间。众所周AMDR71700配什么主板好Ryzen71700搭配主板推荐Ryzen71700是一款AMD推出的Ryzen7架构的高端次旗舰处理器,性能仅次于R71800X旗舰处理器,拥有高达8核16线程设计,是目前时下高端装机热选的一款处理器。AMDR