欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的血沉自动测试仪的设计_课程设计论文(19页).doc

    • 资源ID:37053014       资源大小:199.50KB        全文页数:19页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的血沉自动测试仪的设计_课程设计论文(19页).doc

    -基于单片机的血沉自动测试仪的设计_课程设计论文-第 19 页基于单片机的血沉自动测试仪的设计摘 要 近年来,随着电力电子技术、控制技术以及传感器技术的水平的提高,各种医疗仪器逐渐由以前的人工操作和测量改进为全自动或者半自动检测。本文所设计的血沉自动测试仪能有效地解决人工操作带来的测量误差等问题,因此具有广阔的应用前景。本文将自动控制技术应用在血沉值测试中,对血沉值的测试原理及其应用进行了理论分析,利用单片机作为系统的中央控制芯片,设计了信号采集电路、步进电机驱动电路、多路选择开关电路、电压比较器电路、键值采集电路、液晶显示电路、串行通信电路等硬件电路并对其工作原理进行了分析。利用 C 语言编写了系统的控制程序,包括系统的初始化程序、数据采集和处理程序、运行状态和结果的显示程序、键值采集程序、步进电机驱动程序、结果的打印程序等。最后对本文所设计的硬件电路和软件部分进行了总体调试,并选取四组血样进行了重复测试,得到的结果与实际结果具有很好的可比性,证明了本设计的可行性,而且它具有检测速度快、测量准确等优点可以使医护人员更快更直接的得到测量结果,确保给病人快速准确的诊断。关键词:血沉自动测试仪,步进电机,信号采集,多路选择开关. 目录第一章 绪论3§1-1 血沉的机理介绍3§1-2 血沉的临床意义及测试方法4§1-3 本课题的选题意义及研究现状6第二章 血沉自动测试仪的原理与构成7§2-1 血沉自动测试仪原理介绍7§2-2 血沉自动测试仪基本构成92-2-1红外对管介绍92-2-2电压比较器介绍102-2-3多路选择开关介绍112-2-4步进电机介绍132-2-5数据通信132-2-6信号传输时序15§2-3 本章小结16第三章 血沉自动测试仪硬件系统的设计17第四章 血沉自动测试仪软件系统的设计18§4-1 软件系统设计原理18§4-2 软件系统流程图简介20§4-3 本章小结26第五章 硬软件调试及结果分析27§51 硬软件调试27§52 测试结果分析29第六章 全文总结30参考文献31第一章 绪论§1-1 血沉的机理介绍血沉现象的出现是由于人体的血液是由血细胞、血小板和血浆构成。取一定的血样,在其中加入抗凝剂,过一段时间后就和大多的沉淀现象一样,血样会出现分层现象,血细胞密度较大会逐渐沉淀到最底端,血浆则在最上端。血液沉降速率的快慢是由于在血流中的红细胞, 因胞膜表面的唾液所具有的负电荷等因素而互相排斥使细胞间距离为约为 25nm,故彼此分散悬浮而下沉缓慢。如血浆或红细胞本身发生改变,则可使血沉发生变化。在循环着的血液中红细胞悬浮于血浆中而不下沉。这种悬浮稳定性取决于红细胞膜和血浆的特性,当用抗凝剂防止血液凝固,并将抗凝的血液放在一定的刻度管中,观察一定时间内红细胞下沉的速度(用下沉距离表示)叫做“红细胞沉降率”,简称“血沉”(ESR)。通常以第 1 小时末血沉管内血浆高度为标准,血沉愈快则表示红细胞的悬浮稳定性愈差。血沉测定所得数据将随仪器与试剂的不同而变化。临床上通常采用魏氏法,正常值成年男子为 015mm/第 1 小时末,成年女子为 020mm/第 1 小时末。小儿血沉较成人慢。血沉有生理性增快,见于妇女月经期及妊娠期。此外多为病理性增快,见于结核病进行期或病情恶化、风湿病活动期或肿瘤以及全身性炎症病例,如急性肺炎等,故测定血沉有辅助诊断的意义。血沉快慢的关键,在于红细胞是否易于发生叠连现象。红细胞叠连指红细胞彼此以凹面相贴而重叠成串钱状。由于红细胞与血浆间的摩擦力为红细胞下沉的阻力,而叠连红细胞的表面积与容积比减小,也即是和血浆接触面积减小,彼此摩擦力也就减小,叠连红细胞就随单位面积的重量增大而加速下降。当正常人的红细胞放置在血沉增快的患者血浆中,红细胞叠连度和血沉正常。由此证明,影响红细胞叠连的主要因素在血浆中。进一步研究又证明这与血浆蛋白总量无关,而当球蛋白、纤维蛋白原等(带正电荷)增多时会促进叠连。有人分析红细胞表面存在带负电荷的唾液蛋白、白蛋白增多会促使叠连减慢。由于同电相斥,致使红细胞保持悬浮稳定性,当某些因素使血浆中带正电荷的蛋白质增多或降低红细胞表面负电荷量时,则叠连增快,其详细机理还不清楚。另外,血浆脂类中胆固醇增多时,可使叠连和血沉加速,卵磷脂则阻止叠连而使血沉减慢。§1-2 血沉的临床意义及测试方法血沉是一项非特异性的化验项目。这就是说,血沉加快并不能确定患有哪种病,血沉正常也不意味着没有病。测定血沉可以了解疾病和观察疾病的发展和变化,需要与其他化验结果和临床资料结合分析,才能对疾病诊断有所帮助。血沉是一项有效的疾病预警指标,并在一些特殊的情况下可作为一项非常有用的疾病预兆指标。判断血沉结果的正常与否需按性别区分,参考范围(魏氏法):男性为015mm/h,女性为020mm/h。血沉增快在临床上更为常见。魏氏法无论男女其血沉值达到25mm/h,为轻度增快;达到50mm/h为中度增快;大于50mm/h为重度增快。潘氏法无论男女血沉达到20mm/h者均为增快。血沉增快的临床意义如下:生理性增快:妇女月经血沉略增快,可能与子宫内膜破伤及出血有关,妊娠 3 个月以上血沉逐渐增快,可达 30mm/h 或更多,直到分娩后 3 周,如无病发症则逐渐恢复正常。其增快可能与生理性贫血、纤维蛋白原量逐渐增高、胎盘剥离、产伤等有关。60 岁以上的高龄者因血浆纤维原蛋白量逐渐增高等。也常见血沉增快。小儿的血沉也可略快于参考范围,此时可能与疾病无关。病理性增快:各种炎症:细菌性急性炎症时,血中急性反应相物质(acutephase reactant)迅速增多,包括 1 抗胰蛋白酶(-antirypsin)、2 巨蛋白(2-mactoglobulin)、C 反应蛋白(C reactiveprotein)、肝珠蛋白(haptoglobin )、运铁蛋白(transferrin)、纤维蛋白原(fibrinogen)等,主要因为释放增多甚至制造加强所致。以上成分或多或少地均能促进红细胞的线状聚集,故炎症发生后 2-3天即可见血沉增快。风湿热的病理改变结缔组织性炎病症,其活动期血沉增快。慢性炎症如结核病时,纤维蛋白原及免疫球蛋白含量增加,血沉明显增快。临床上常用血沉来观察结核病及风湿热有无活动性及其动态变化。各种原因导致的高球蛋白血症(hyperglobuinemia):亚急性感染性心内膜炎、黑热病、系统性红斑狼疮等所致的高球蛋白血症时,血沉常明显增快。各种原因引起的相对性球蛋白增高如慢性肾炎、肝硬化时血沉也常增快。多发性骨髓瘤、巨球蛋白血症时,浆细胞的恶性增殖致使血浆病理性球蛋白高达 40-100g/L或更高,故血沉增快。巨球蛋白症病人,血浆中 IgM 增多,其血沉理应增快,但若IgM明显增多而使血浆沾稠度增高即高沾综合症时,反而抑制血沉,可得出一个正常甚至减慢的结果。另外恶性肿瘤、组织损伤及坏死、贫血、高胆固醇积压症均可导致血沉增快。血沉加快常与以下疾病有关:炎症性疾病,如急性细菌性炎症,23个小时就会出现血沉加快的现象;恶性肿瘤,迅速增长的恶性肿瘤常使血沉增快,而良性肿瘤血沉多正常;各种急性全身性或局部性感染,如活动性结核病、肾炎、心肌炎、肺炎、化脓性脑炎、盆腔炎等;各种胶原性疾病,如类风湿性关节炎、系统性红斑狼疮、硬皮病、动脉炎等;组织损伤和坏死,如大范围的组织坏死或损伤、大手术导致的损伤,心肌梗死、肺梗死、骨折、严重创伤、烧伤等疾病亦可使血沉加快;患有严重贫血、血液病、慢性肝炎、肝硬化、多发性骨髓瘤、甲亢、重金属中毒、恶性淋巴瘤、巨球蛋白血症、慢性肾炎等疾病时,血沉也可呈现明显加快趋势。血沉加快对发展速度较快的恶性肿瘤具有提示价值:手术将肿瘤切除,或化疗、放疗治疗有效时,血沉可减慢;肿瘤复发或出现转移时,血沉还可再加快。良性肿瘤一般血沉不加快或出现减慢现象,因此可以通过这个项目协助初步判断肿瘤的性质。血沉减慢临床意义较小,可因红细胞数量明显增多及纤维蛋白原含量严重减少所致,见于各种原因所至的脱水、血浓缩、真性红细胞增多症、弥漫性血管内凝血、低纤维蛋白原血症和球形红细胞增多症等。血沉的快慢还可辅助观察病情的变化。如风湿病、结核病血沉加快的程度常与病情轻重有关。活动期血沉加快;病情好转时血沉速度减缓;非活动期血沉可以恢复到参考范围。因此,测定血沉可大致推测疾病的发展及观察治疗效果。例如,红斑狼疮病人的血沉从平稳到加快表明病情进入活动期,长期稳定在参考范围内就说明病情得到了控制。有关血沉的临床应用,已在风湿病诊断中广泛证实。有报道,正常动脉炎在短时间内发生率仅在0.2% ,而仅有 4.0% 的动脉炎患者血沉小于 30 mm 。观察发现,多发性肌炎 ESR 及疼痛密切相关,为疾病活动性的重要标志物。除风湿病外,近年临床还观察到在镰状细胞贫血、骨髓炎在诊断上也有价值。而且 ESR对脑卒中及急性冠状动脉炎的病程进展也有参考价值,还可预测死亡率。并可评估是否因炎症所致血小板破坏及血栓形成。因此,从临床的角度看, 血沉是一项值得推广的实验方法。既然血沉作为一项非特异性的指标对人的生理病理有如此重要的临床意义,如何迅速而准确的得到血样的血沉值,就成为全世界关注的问题。血沉值测定的方法有多种,有魏氏法(Westergren 法)、库氏法(Coulter 法、)、温氏法(Wintobe-landsbrey 法)、潘氏法。过去一直使用国际血液学标准委员会(ICSH)推荐的魏氏法,也是该委员会推荐的唯一的血沉测定法。国际血液学标准化委员会(ICSH)要求血沉报告必须采用魏氏法结果。我国在 1983 年全国临床检验方法学学术会议上推荐魏氏法作为血沉值测定的参考方法。魏氏法的操作过程是:患者于清晨空腹抽取静脉血 1.6ml,按照 4:1 与 109mol/L的枸椽酸钠溶液(抗凝剂)0.4ml 混匀,然后吸入清洁、干燥的标注魏氏血沉管中,并调至零刻度处。让后将血沉管插入血沉架中,血沉管要求在室温下严格垂直放置,避免阳光直射、振动和血液外溢。一小时以后读出血浆凹液面底部至沉降红细胞柱顶部之间距离数,即为血沉结果。§1-3 本课题的选题意义及研究现状生命对于每个人来说都是最宝贵的。随着社会的发展和科技的进步,人民文化水平和整体素质的提高,越来越多的人开始关注健康问题。血沉作为一个具有重要临床意义的指标也同样受到越来越多人的关注。红细胞沉降率( ESR )是一项传统而又应用范围比较广的古老的实验技术。自瑞典医师Fabraeus(8)。1921 年首创以来,手工原始的魏氏法(Westergren)在一个多世纪以来修改很少,魏氏法(Westergren)作为国际参考的方法之一,至今仍被广泛应用,但是由于魏氏法采用的是人工定时目测法,整个流程采用的是人工操作,因此易于出现技术错误,实际测试工作中血沉管的清洁度、放置位置是否垂直、室外温度的高低、判断时间是否严格以及观察血沉管的角度等因素均会影响血沉测定的结果。而且需要专门的医护人员进行操作,操作过程较为繁琐,浪费了不少人力和物力资源,虽然被多数实验室和医院采用,但是效果都不太理想。80年代以来,随着电力电子技术,控制技术、传感器技术和光电技术的发展和应用,以及人们对血沉检测时间和检测精度的要求越来越高,随之在国外的一些国家如:美国、意大利、日本、西班牙等产生了由单片机或其他微处理器控制的血沉自动测试仪。它是把光电技术与计算机技术运用在传统测试中,将人工操作的部分利用光电传感器来完成,动态分析红细胞的沉降过程,由于采用计算机进行数据采集和处理,它的可靠性远远大于传统的魏氏测量法,大大降低了操作过程中各种人为因素给测试结果带来的误差,并且由计算机自动打印测试结果,同时避免了人为目测读取结果引起的偏差,为临床测试提供了很大的方便。血沉自动测试仪一般采用一次性的血沉管,可以提高测试结果的准确性并避免了血样之间的交叉影响,有利于临床的推广使用。综上所述,血沉自动测试仪成为近年来血沉测量的发展趋势,随着检验医学的飞速发展,血沉自动测试仪在国外已有不少产品,国外一些医院和实验室已经开始使用自动血沉测试仪进行血沉值的测量,其测量结果和魏氏法相比较有良好的相关性和准确性,基本满足临床的需要,值得临床的推广和使用。我国是一个人口大国,国内大大小小的医院数不胜数,可以说血沉自动测试仪在我国有着及其广阔的市场前景。从查阅到的国内公开的文献资料来看,目前我国使用的血沉自动测试仪大多是从国外进口的产品或是引进国外的技术自己加工生产,国内自主设计生产的血沉自动测试仪相关报道不是很多。但是从国外进口的仪器一般价格比较昂贵,而且由于操作和显示部分大都采用的是全英文形式,这样对一些医护人员进行快速准确的操作有相当的难度,大大延长了血沉测试的周期,降低了医院的工作效率;同时因为血沉的测量对血沉管的测量比较严格,血沉管的粗细长短都影响最终测定的血沉值,不同型号的血沉自动测试仪配套的血沉管都是不一样的,每个血沉管的使用周期比较短,因此购买与仪器配套的血沉管也成为医院面临的一个比较麻烦的问题。为了有效地解决进口血沉自动测试仪带来的上述问题,满足国内大多数医院的需要,以达到快速、准确地测定血沉值的目的,本课题基于魏氏法的原理,对血沉自动测试仪进行了设计,论文主要研究内容如下:1 设计了血沉自动测试仪的硬件电路。设计合理的硬件电路来实现所需要的测量功能,其中包括数据采集和处理电路的设计、存储器接口电路的设计、人机接口电路的设计、串行通信电路的设计等。2 利用C语言编写了针对该血沉自动测试仪的控制系统。包括采样控制程序、步进电机驱动程序、数据处理程序、串行通信程序、键盘扫描程序、液晶显示程序、打印驱动程序等。最终实现仪器的自动控制。3 制作血沉自动测试仪的硬件电路板,在 keil Uvision3的编程环境下对血沉自动测试仪的硬软件进行调试,实现自动测定血沉值的目的。4 利用该血沉自动测试仪对几组特定的血样进行测试,将测试结果与魏氏法测得的结果进行分析比较。第二章 血沉自动测试仪的原理与构成。第二章 血沉自动测试仪的原理与构成§2-1 血沉自动测试仪原理介绍血沉自动测试仪采用传统的魏氏测量方法的原理,在本设计中,把人工测量血浆段环节改由利用红外对管进行。首先,将红外对管和步进电机固定在一起,然后再利用步进电机的上下移动来实现红外对管的上下移动。由于血样出现分层后血浆部分比较清澈透光性好,而血细胞部分透光性差,利用红外对管扫描时就可以很容易识别出哪里是血细胞哪里是血浆。所有的测量和数据处理是由一个单片机所控制的。当红外对管识别出血细胞和血浆后,利用电压比较器把测量的信号转化为单片机可以识别的高低电平,然后传给单片机进行处理;在单片机控制步进电机上下移动时通过单片机内部的记数器来计算步进脉冲的个数以确定步进电机的移动距离最后计算出试管内血细胞的沉降位置。本自动血沉自动测试仪设计为每四分钟扫描一次,为了能够同时测量多组血样,在本设计中采用了两个 8 路的多路选择开关来控制多个试管插孔,这样可以实现同时测量十六组血样。因此就可以把该血沉自动测试仪分为以下几个模块,分别是:采集模块、中心控制模块、串行通信模块、键盘模块、显示模块和打印模块。其基本工作电路图如下所示:§2-2 血沉自动测试仪基本构成采集模块血沉自动测试仪的采集部分由两个多路选择开关,十六组红外对管,一个电压比较器和一个步进电机组成。它的基本采集流程是,首先利用安装在步进电机上的红外对管来采集试管内的液面信号,然后通过电压比较器将采集到的液面信号转化为单片机可以识别的高低电平信号,再将高低电平信号传给单片机进行分析。血沉自动测试仪设计了两排测试孔,每排有八个孔,为了方便测试,用两个多路选择开关来控制每个测试孔位。下面逐一进行介绍。2-2-1红外对管介绍实验所用的红外对管由一个红外发射二极管和一个红外接收二极管组成,并将其与步进电机固定在一起。其基本原理如下图所示。当红外发射管与红外接收管之间没有障碍物时,红外接收二极管由于接收到红外光辐射而导通,输出电平为低;当红外发射管与红外接收管之间有障碍物时,红外接收二极管截止,输出电平为高。因而,利用其输出电平的高低很容易判断出红外对管之间有无障碍物。因为血浆和血细胞具有不同的折射系数和反射能力以及透光能力,当用血浆和血细胞分别来遮挡红外发射管发出的红外辐射时,接收管接收到的信号将发生很大变化,因此利用红外接收管输出电平的高低变化便可以判断出测到的是血细胞还是血浆。2-2-2电压比较器介绍电压比较器是对输入信号进行鉴幅与比较的电路,它的输入信号是模拟电压,输出信号一般只有高电平和低电平两个稳定状态的电压。本系统中利用电压比较器将红外接收管输出的电压信号与设定的阀值电压进行比较,从而输出单片机可以识别的高低电平,以便单片机进行数据的分析和处理。1、 电压比较器的原理图。2.电压比较器传输特性2-2-3多路选择开关介绍由于单片机工作速度很快,而本系统中被测参数的变化比较慢,所以一个单片机可供十几几十个回路同时使用。但是,单片机在某一时刻只能接收一个通道的信号,因此必须通过多路开关进行转换,以便完成由多到一的转换。本系统中要求对十六个通道的信号进行采集,这样必须通过多通道动态信息采集来实现。电子集成技术的发展和计算机技术的进步使得程控放大器和抗混滤波一体化,数据采集可编程化成为现实,大大提高了动态信号处理的水平精度。电压比较电路任一时刻只能对一路信号进行处理,为了实现对多路输入信号进行处理,必须采用多路切换技术,对多路输入信号进行轮流切换,以使电压比较器能分时对每一路信号进行处理,多路选择开关就是为了实现这一功能而设计的电路。为了对十六路模拟输入信号进行切换,本系统采用了两片八选一模拟开关芯片CD4051B来组成多路选择开关电路。CD4051B芯片内部含有三组单刀双掷开关,三组开关具体接通哪一通道,由输入地址码ABC来决定,具体的对应关系见下表。其引脚分布见下图。2-2-4步进电机介绍步进电机是一种作为控制用的特种电机, 它的旋转以固定的角度(称为“步距角”)一步一步运行,其特点是没有积累误差, 所以广泛应用于各种开环控制。步进电机的运行要有一电子装置进行驱动, 这种装置就是步进电机驱动器, 它是把控制系统发出的脉冲信号转化为步进电机的角位移, 或者说控制系统每发一个脉冲信号, 通过驱动器就使步进电机旋转一步距角。所以步进电机的转速与脉冲信号的频率成正比。所以,控制步进脉冲信号的频率,可以对电机精确调速;控制步进脉冲的个数,可以对电机精确定位目的。步距角表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如 86BYG250A 型电机给出的值为 0.9°/1.8°(表示半步工作时为 0.9°、整步工作时为 1.8°),这个步距角可以称之为电机固有步距角,它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关,参见下表:主要功能特性:· 基于 MCS-51 内核和指令系统 · 可外接 64kB 外部程序存储器 ROM· 32 个双向 I/O 口 · 128x8bit 内部 RAM(可扩充 64kB 外部存储器)· 3 个 16 位可编程定时/计数器 · 8k OTP 程序存储器· 6 个中断源 · 时钟频率 0-33MHz· 电源空闲和掉电模式 · 2.7-5.5V 工作电压范围· 3 位保密位(OTP ROM) · 4 层优先级中断嵌套· 双数据指示器 · 外中断唤醒电源掉电模式· 全双工增强 UARL 通道 · 异步端口复位· 帧数据错误检测 · 可编程时钟输出· 自动地址识别 · 布尔处理器2-2-5数据通信数据通信的基本方式可分为并行通信与串行通信两种方式:并行通信是指利用多条数据线将一个数据的各位同时传送;串行通信是指利用一条数据线将数据一位一位的顺序传送。并行通信的特点是传输速度快适用于短距离通信,串行通信的特点是通信线路简单,利用电话线路或电报线路就可以进行通信,降低成本,适用于远距离通信,但是通信速度慢。由于本系统的资源有限,而且对速率的要求也不高因此串行通信是最佳选择。串行通信又分为同步通信和异步通信两种。同步通信的数据传输速率相对异步通信较高,但是同步通信的缺点是要求发送时钟和接收时钟保持严格同步,故发送时钟除应和发送的波特率保持一致外,还要求把它同时传送道接收端去。因此在本系统的设计中采用异步通信。串行接口总是和串行数据传输联系在一起,而串行数据的传输通常又被人们习惯的称为“串行通信”。可见,为了实现串行通信必须设计和使用相应的串行接口。所以在讨论串行接口之前,首先介绍一下串行通信的基本概念。数据传输方式在串行通信中,数据是在两个不同的站之间传送的。按照数据传送的方向,串行通信可分为 3 种制式,即单工、半双工、和全双工。单工制式这种方式只允许数据按一个固定的方向传送,如图,图中 A 方式只能发送,叫发送器;B方式只能接受,叫接收器。数据只能从发送器 A 传到接受器 B 而不能反过来。(2)半双工方式如图,数据既能从 A 传到 B 也能从 B 传到 A,因此 A 方、B 方都既可作发送器又可作接收器,通常称之为收发器。从这个意义上说,这种方式属双向工作方式。但是 A、B 之间只有一根传输线,信号只能分时在两个方向传输,不能同时双向传输,所以称之为半“双工”方式。在这种方式下工作时,要么 A 发送 B 接收,要么 B 发送 A 接收,不能同时工作,一般让 A、B 都处于接受方式以便随时响应对方的呼叫,组成一个单方向传输的通信线路。全双工制式如图,A、B 双方既都是发送器又都是接收器,且由于相互间有两根信号传送线,A 方、B 方可以同时发送或接收。显然为了实现这种全双工传输,两个方向的资源必须完全独立,A 方和 B 方必须具有独立的发送器和接收器,两个方向的数据通道必须完全打开。这样,在 A、B 方控制逻辑的协调下才可以同时 A 向 B 发送,B 向 A 发送。这种全双工方式在通信线路和通信机理上都相当于将两个方向相反的单工方式组合在一起。这三种传输方式尽管在收发控制上有差别,但作为数据发送和接收的基本原理是相同的。2-2-6信号传输时序信号传输时序图:寄存器读写状态:忙标志位为“”时,表示内部操作正在进行,即处于忙状态而不接受新的指令,所以,每次接受新指令前,都要读取标志,只有当其为“”时才可接受。§2-3 本章小结本章首先对血沉自动测试仪的原理进行了简单的介绍,在对原理理解和掌握的基础上设计了血沉自动测试仪的总体方案,将血沉自动测试仪分为数据采集模块、中央控制模块、串行通信模块,键盘输入和显示模块等几个模块,并对构成各个模块的硬件电路进行了介绍和分析。第三章 血沉自动测试仪硬件系统的设计血沉自动测试仪各个模块的硬件电路信号采集电路由于本系统要求对十六路模拟输入信号进行切换,所以本设计中采用两片八选一模拟开关芯片CD4051B 来实现,为了节约系统的资源,设计了一种简单并且实用的选择电路,如图分别是本设计中两块 CD4051B 芯片的外围电路。第四章 血沉自动测试仪软件系统的设计要研制一个单片机的实时系统,一般包括三个阶段:硬件电路设计及印刷电路板的制作,系统软件流程的设计,系统硬软件调试。硬件电路设计及电路板的制作是保证应力测试仪实现测量功能的前提;软件流程设计是决定血沉自动测试仪能实现哪些功能;系统硬软件调试协调软件设计与硬件所能实现功能之间的冲突,最后实现血沉自动测试仪所需的功能。本章主要介绍系统的软件流程设计。§4-1 软件系统设计原理在进行软件编程时,考虑到单片机的特点,充分利用其计算、存储和控制功能以及查表指令带给它的查表功能,充分发挥软件的作用,以达到简化硬件电路结构,提高系统性能的要求。全部程序由主程序、步进电机驱动子程序、采样子程序和液晶驱动子程序等组成,力求实现软件模块化。从软件的功能来看,主要是执行软件,它能完成各种实质性的功能,如检测、计算、显示、输出控制等。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入、输出定义)。整个系统软件可分为后台程序和前台程序。后台程序指主程序及其调用的子程序,这类程序对实时性要求不高,故通常将监控程序(键盘解释程序)、显示程序等与操作者打道的程序放在后台程序中来执行。而前台程序安排一些实时性要求较高的内容,如定时系统和外部中断。系统中各个执行模块之间有着各种因果关系,互相之间要进行各种信息传递。各模块之间的关系体现在他们的接口条件上,即输入条件和输出结果上。必须严格规定好各个接口条件。在程序编写过程中,这样解决这个问题:将每一个执行模块要用到的参数和要输出的结果列出来,对于与不同模块都有关的参数,只取一个名称,以保证同一个参数只有一种格式。然后为每一个参数规划一个数据类型。上述各准备工作都完成之后,就可以进行编程了。软件设计有两种方法,一种是自上而下,逐步细化;另一种是自下而上,先设计出每一个具体的模块(子程序),然后再慢慢扩大,最后组成一个系统。第二种方法调试比较方便,每设计好一个程序模块,就能立刻进行调试并看到实际效果,所以课题的软件设计采用了第二种方法。由于C语言可读性好、易于移植,对于以后软件的修改和维护更加方便,因此本程序采用C语言编写,同时采用模块化程序结构方案,使工艺流程清晰明了。为使程序具有很好的可读性和易于操作,软件编写工程中利用了以下几种编程技术。 软件延时程序的设计它是一种常用的延时子程序。采用 FOR 循环语句完成,延时周期较长时采用FOR 语句嵌套。延时时间与应用程序的晶振和采用的语句有关。在发送数据时,数据的传输过程需要一定的时间,这时调用一个延时子程序,等待数据正确传输完成之后,再执行下一步指令操作。 子程序的透明性设计子程序在执行后,除了完成指定的功能外,不留下任何额外的痕迹。子程序只利用与主程序无关的工作单元,从而保护主程序的各种现场。 子程序的清晰度设计无论是键盘输入的,还是从串行口传输过来的命令和数据,在相应子程序中被确定完类型后,只是置相应的标志,即返回主程序。在主程序中再根据检测到的标志,执行不同的操作。这样,程序会很清晰,不容易出错,即使程序运行出现问题,也很容易找到问题的根源。本课题软件开发使用的开发软件是德国keil公司开发的基于Windows的软件开发平台,有功能强大的编辑器、项目管理器和制作工具。Uvision3 支持 8051 所有的keil工具,包括C编译器、宏汇编器、链接器/定位器和目标文件至HEX格式的转换器Uvision3 提供了以下功能,加速嵌入式应用开发过程,即非常有特色的源码编辑器;器件数据库:配置开发工具的设置;项目管理器:创建和维护项目;集成制作工具:可以汇编、编译和链接嵌入式应用;所有开发工具的设置都是对话框形式的;真正集成的源码级调试器,带高速 CPU 和外围器件模拟器;AGDI 接口,可在硬件目标中调试软件,以及连接到 Monitor-51;Uvision3 软件有菜单栏、可以快速选择命令按钮的工具栏、源代码文件窗口、对话框窗口和信息显示窗口。Uvision3 允许同时打开多个源码文件。由于 keil 本身是一个纯软件,还不能直接进行硬件仿真,必须挂接硬件仿真器才可以进行仿真。使用 keil Uvision3 开发环境一般是按照下面的流程来完成开发任务的:建立工程,为工程选择目标器件;设置工程的配置参数;打开/建立程序文件;编译和连接工程;纠正程序中的书写和语法错误,并重新编译连接;对程序中某些纯软件的部分使用软件仿真验证;使用硬件仿真器对应用程序进行硬件仿真;将生成的 HEX 文件烧写到 ROM 中运行测试。§4-2 软件系统流程图简介本课题系统软件主要由以下几个部分组成:系统的初始化、数据采集和处理程序、运行状态和结果的显示程序、键盘的输入扫描程序、步进电机驱动程序、结果的打印程序等。其中系统的初始化是对单片机内部资源以及液晶显示块进行初始化,数据采集和处理是对红外对管采集到的电压信号进行分析处理,键盘扫描是对输入的按键进行扫描显示处理,步进电机驱动是使步进电机带动红外对管在特定的时间内上下运动。主程序流程图如图所示:主程序路程图:根据各自功能和执行操作的不同,将系统分为几个主要的功能模块,这样既增强了程序的可读性又易于程序的移植。下面对各个模块分别进行介绍。初始化流程图:1、 系统初始化系统初始化包括:定时器/计数器 0 的初始化、定时器/计数器 2 的初始化、串行口的初始化、外部中断 1 的初始化、CPU 开中断、液晶显示屏的初始化等。2、 数据采集和处理 数据的采集和处理是本系统的一个重要环节。主要包括:控制步进电机上下运动利用红外对管检测试管中液面的位置、将采集到的数据经过电压比较器送到单片机进行处理、计算试管中液面的高度。数据采集和处理流程图:3、测量结果的显示和打印通过键盘输入血样的位置号,将存储在单片机与该位置号对应的血样测量结果通过液晶屏显示并将结果进行打印。本键盘设有 1、3、9 三个功能键,它们的功能分别是:输入血样的 ID 号、打印结果、显示结果。“IN”键是确认键,它是用来确认一个操作或是确认数据的输入。“ESC”键是删除键,用来删除输入有误的数据,长按此键将取消所有操作并返回主显示界面。按键判断流程图:§4-3 本章小结本章首先对系统软件部分的设计原理进行了说明,对本软件开发环境 keil Uvision3 进行了简单介绍;该系统的软件采用了模块化形式,将软件部分划分为几个模块并进行了介绍,说明了系统的总体流程图,对初始化、数据采集和处理、结果显示和打印部分的软件模块用流程图进行了解释。第五章 硬软件调试及结果分析§51 硬软件调试在硬件设计、软件设计完成以后,血沉自动测试仪能不能用,最终还要进行调试才能确定,在方便调试的前提下,使用 TKS-52B 仿真器进行调试。TKS-52B 仿真器的仿真头有 40 引脚,与 P87C52 的引脚位置完成匹配,所以直接将仿真器插到 P87C52 所在的 DIP 插座上就可以代替 P87C52 进行硬件调试。同时仿真器配合 keil Uvision3 编程环境就可以进行软件调试,非常方便。因为软件调试主要是根据流程图编程实现血沉自动测试仪的功能,所以这里就不对软件调试进行过多叙述了,本节主要介绍硬件调试。硬件调试阶段首先要做如下细致的常规检查:上电以前,先用肉眼观察有无短路和断路情况发生,再用万用表检查电源、地以及一些关键的信号线,如读、写、复位、片选等是否正确。上电以后,先用手检查有无异常:用手感觉是否有些芯片特别热。如果发现有些芯片烫得很厉害,一般是有问题,需掉电检查确认无误或排除故障后再重新上电。如果是电源和接地接错或发生短路,那么芯片的损害是很难避免的,需查出错误所在,排除后,更换芯片,才能重新上电工作。排除上述问题后,认为系统中无致命的错误,接下来可检查时钟能否长时间稳定的工作。时钟输出波形的毛刺水平是否能保证工作可靠。这主要是通过用示波器来观察晶振输出波形的质量和精度来检验的。检查复位是否正常,按复位按钮用示波器观察其输出复位脉冲的电平和脉宽是否正常。检查P87C52 的 ALE 输出的频率电平是否正常、稳定。关上电源,接上仿真接口。插仿真器接口时,要注意引脚的方向并保证接线正确。上电运行仿真器应该能在屏幕上看到用户界面。如果出现警告信息,一般是未上电或接线不正确造成的。仔细检查引脚的连接是否正确,如果正确,仿真接口由于连续的插拔可能接触不好,这时应该紧固接口,才能继续使用。另外,还有一种可能是配置文件不正确造成的。检查完毕后,确保无误后就可以分步地进行硬件的调试了。本课题中最关键的一步就是液面数据信号的采集,其他部分的调试在程序运行以后,用肉眼观察或用万用表测量某些信号就可以确定硬软件是否运行正常。确定硬件工作正常以后,接下来的工作就是在keil Uvision3 的编译环境里协调软件各个模块之间的逻辑,使硬件电路按照设计的功能动作。液面数据信号采集部分的调试,我们可以在keil Uvision3 编程环境里编写一段程序来使红外对管工作,然后利用一个不透光的物体挡住红外发射管,观察电压比较器的输出端电压信号,然后把不透光的物体拿开,再观察电压比较器的输出端电压信号。如果两次产生的输出电压一个是高电平一个是低电平,则表示红外对管采集到的数据是正确的。程序如下:void sampling()bit sampling_value1,sampling_value2;if(motor_status)y4=0x81;elsey4=0x01;Delay(150);sampling_value1=sampling_value;if(motor_status)y4=0xa1;elsey4=0x21;Delay(150);sampling_value2=sampling_value;if(!sampling_value1)&&(sampling_value2)DisplayScreen1();turb0=1;if(!sampling_value1)&&(!sampling_value2)DisplayScreen17(); turb0=0;§52 测试结果分析 确认仪器能否按要求正常工作的最后一个步骤就是取几组血样利用该仪器进行测量然后比较该仪器测量的结果与实测结果是否有偏差。血沉自动测试仪的使用步骤如下:1 将装有待测血样的试管中加入抗凝剂,然后混匀。2 将试管放入仪器中,接通电源。3 仪器开始工作,测量周期为 24 分钟。4 24 分钟后检测结束,按下功能键 9,输入血样的位置号。5 液晶屏显示该位置号对应血样的测量结果。6 按下功能键 3,输入血样的位置号。7 微型打印机打印出该位置号对应血样的测量结果。选用四组血样经过该仪器反复测量,得到的测试结果(利用本设计的仪器测量)和实际测(人工测量法)的结果偏差比较小,满足精度要求。测量值和实际值之间的对照表如下:第一次测量第二次测量第三次测量经过以上三次测量,由上面的三个对照表可以看出,测量过程有一定的误差,但误差较小,同时也说明每次测量的重复性较好。该仪器基本达到了设计的要求。第六章 全文总结通过研究,理论分析和实验测试,研制了血沉自动测试仪。这个测试仪由硬件和软件两部分组成。硬件部分主要包括数据采集和处理模块、键盘输入模块、显示模块和打印模块等,软件部分主要实现了数据的采集、处理、显示和打印等功能。经过调试,系统的硬件和软件可以正常运行,按预期的技术指标工作。在试验中,我们不断地发现问题解决问题,从不放过每一个细节,对其进行更好的完善,使其更符合要求,实践证明对该系统进行的各项测试都收到了预期的效果。本文的主要工作有

    注意事项

    本文(基于单片机的血沉自动测试仪的设计_课程设计论文(19页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开