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

上传人:哈尼dd 文档编号:3922927 上传时间:2019-10-10 格式:DOC 页数:31 大小:555.50KB
返回 下载 相关 举报
基于单片机的血沉自动测试仪的设计_课程设计论文.doc_第1页
第1页 / 共31页
基于单片机的血沉自动测试仪的设计_课程设计论文.doc_第2页
第2页 / 共31页
基于单片机的血沉自动测试仪的设计_课程设计论文.doc_第3页
第3页 / 共31页
基于单片机的血沉自动测试仪的设计_课程设计论文.doc_第4页
第4页 / 共31页
基于单片机的血沉自动测试仪的设计_课程设计论文.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于单片机的血沉自动测试仪的设计_课程设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的血沉自动测试仪的设计_课程设计论文.doc(31页珍藏版)》请在三一文库上搜索。

1、燕山大学里仁学院课程设计论文 1 基于单片机的血沉自动测试仪的设计基于单片机的血沉自动测试仪的设计 摘摘 要要 近年来,随着电力电子技术、控制技术以及传感器技术的水平的提高, 各种医疗仪器逐渐由以前的人工操作和测量改进为全自动或者半自动检测。 本文所设计的血沉自动测试仪能有效地解决人工操作带来的测量误差等问 题,因此具有广阔的应用前景。 本文将自动控制技术应用在血沉值测试中,对血沉值的测试原理及其 应用进行了理论分析,利用单片机作为系统的中央控制芯片,设计了信号 采集电路、步进电机驱动电路、多路选择开关电路、电压比较器电路、键 值采集电路、液晶显示电路、串行通信电路等硬件电路并对其工作原理进

2、行了分析。利用 C 语言编写了系统的控制程序,包括系统的初始化程序、 数据采集和处理程序、运行状态和结果的显示程序、键值采集程序、步进 电机驱 动程序、结果的打印程序等。最后对本文所设计的硬件电路和软件部分进 行了总体调试,并选取四组血样进行了重复测试,得到的结果与实际结果 具有很好的可比性,证明了本设计的可行性,而且它具有检测速度快、测 量准确等优点可以使医护人员更快更直接的得到测量结果,确保给病人快 速准确的诊断。 关键词关键词:血沉自动测试仪,步进电机,信号采集,多路选择开关. 燕山大学里仁学院课程设计论文 2 目录 第一章第一章 绪论绪论3 3 1-1 血沉的机理介绍 3 1-2 血沉

3、的临床意义及测试方法 4 1-3 本课题的选题意义及研究现状 6 第二章第二章 血沉自动测试仪的原理与构成血沉自动测试仪的原理与构成7 7 2-1 血沉自动测试仪原理介绍 7 2-2 血沉自动测试仪基本构成 9 2-2-1 红外对管介绍.9 2-2-2 电压比较器介绍10 2-2-3 多路选择开关介绍11 2-2-4 步进电机介绍13 2-2-5 数据通信13 2-2-6 信号传输时序15 2-3 本章小结 .16 第三章第三章 血沉自动测试仪硬件系统的设计血沉自动测试仪硬件系统的设计1717 第四章第四章 血沉自动测试仪软件系统的设计血沉自动测试仪软件系统的设计1818 4-1 软件系统设计

4、原理 .18 4-2 软件系统流程图简介 .20 4-3 本章小结 .26 第五章第五章 硬软件调试及结果分析硬软件调试及结果分析2727 51 硬软件调试 27 52 测试结果分析 29 第六章第六章 全文总结全文总结3030 参考文献参考文献3131 燕山大学里仁学院课程设计论文 3 第一章第一章 绪论绪论 1-1 血沉的机理介绍血沉的机理介绍 血沉现象的出现是由于人体的血液是由血细胞、血小板和血浆构成。 取一定的血样,在其中加入抗凝剂,过一段时间后就和大多的沉淀现象一 样,血样会出现分层现象,血细胞密度较大会逐渐沉淀到最底端,血浆则 在最上端。血液沉降速率的快慢是由于在血流中的红细胞,

5、因胞膜表面的 唾液所具有的负电荷等因素而互相排斥使细胞间距离为约为 25nm,故彼此 分散悬浮而下沉缓慢。如血浆或红细胞本身发生改变,则可使血沉发生变 化。 在循环着的血液中红细胞悬浮于血浆中而不下沉。这种悬浮稳定性取 决于红细胞膜和血浆的特性,当用抗凝剂防止血液凝固,并将抗凝的血液 放在一定的刻度管中,观察一定时间内红细胞下沉的速度(用下沉距离表 示)叫做“红细胞沉降率” ,简称“血沉” (ESR) 。通常以第 1 小时末血沉 管内血浆高度为标准,血沉愈快则表示红细胞的悬浮稳定性愈差。血沉测 定所得数据将随仪器与试剂的不同而变化。临床上通常采用魏氏法,正常 值成年男子为 015mm/第 1

6、小时末,成年女子为 020mm/第 1 小时末。 小儿血沉较成人慢。血沉有生理性增快,见于妇女月经期及妊娠期。此外 多为病理性增快,见于结核病进行期或病情恶化、风湿病活动期或肿瘤以 及全身性炎症病例,如急性肺炎等,故测定血沉有辅助诊断 的意义。 血沉快慢的关键,在于红细胞是否易于发生叠连现象。红细胞叠连指 红细胞彼此以凹面相贴而重叠成串钱状。由于红细胞与血浆间的摩擦力为 红细胞下沉的阻力,而叠连红细胞的表面积与容积比减小,也即是和血浆 接触面积减小,彼此摩擦力也就减小,叠连红细胞就随单位面积的重量增 大而加速下降。当正常人的红细胞放置在血沉增快的患者血浆中,红细胞 叠连度和血沉正常。由此证明,

7、影响红细胞叠连的主要因素在血浆中。进 一步研究又证明这与血浆蛋白总量无关,而当球蛋白、纤维蛋白原等(带正 电荷)增多时会促进叠连。有人分析红细胞表面存在带负电荷的唾液蛋白、 白蛋白增多会促使叠连减慢。由于同电相斥,致使红细胞保持悬浮稳定性, 当某些因素使血浆中带正电荷的蛋白质增多或降低红细胞表面负电荷量时, 燕山大学里仁学院课程设计论文 4 则叠连增快,其详细机理还不清楚。另外,血浆脂类中胆固醇增多时,可 使叠连和血沉加速,卵磷脂则阻止叠连而使血沉减慢。 1-2 血沉的临床意义及测试方法血沉的临床意义及测试方法 血沉是一项非特异性的化验项目。这就是说,血沉加快并不能确定患 有哪种病,血沉正常也

8、不意味着没有病。测定血沉可以了解疾病和观察疾 病的发展和变化,需要与其他化验结果和临床资料结合分析,才能对疾病 诊断有所帮助。血沉是一项有效的疾病预警指标,并在一些特殊的情况下 可作为一项非常有用的疾病预兆指标。判断血沉结果的正常与否需按性别 区分,参考范围(魏氏法):男性为 015mm/h,女性为 020mm/h。血沉 增快在临床上更为常见。魏氏法无论男女其血沉值达到 25mm/h,为轻度增 快;达到 50mm/h 为中度增快;大于 50mm/h 为重度增快。潘氏法无论男女 血沉达到 20mm/h 者均为增快。血沉增快的临床意义如下: 生理性增快:妇女月经血沉略增快,可能与子宫内膜破伤及出血

9、有 关,妊娠 3 个月以上血沉逐渐增快,可达 30mm/h 或更多,直到分娩后 3 周,如无病发症则逐渐恢复正常。其增快可能与生理性贫血、纤维蛋白原 量逐渐增高、胎盘剥离、产伤等有关。60 岁以上的高龄者因血浆纤维原蛋 白量逐渐增高等。也常见血沉增快。小儿的血沉也可略快于参考范围,此 时可能与疾病无关。 病理性增快: 各种炎症:细菌性急性炎症时,血中急性反应相物质(acutephase reactant)迅速增多,包括 1 抗胰蛋白酶(-antirypsin) 、2 巨蛋 白(2-mactoglobulin) 、C 反应蛋白(C reactiveprotein) 、肝珠蛋白 (haptoglo

10、bin )、运铁蛋白(transferrin)、纤维蛋白原(fibrinogen)等, 主要因为释放增多甚至制造加强所致。以上成分或多或少地均能促进红细 胞的线状聚集,故炎症发生后 2-3 天即可见血沉增快。风湿热的病理改变 结缔组织性炎病症,其活动期血沉增快。慢性炎症如结核病时,纤维蛋白 原及免疫球蛋白含量增加,血沉明显增快。临床上常用血沉来观察结核病 及风湿热有无活动性及其动态变化。 各种原因导致的高球蛋白血症(hyperglobuinemia):亚急性感染性 心内膜炎、黑热病、系统性红斑狼疮等所致的高球蛋白血症时,血沉常明 显增快。各种原因引起的相对性球蛋白增高如慢性肾炎、肝硬化时血沉也

11、 常增快。多发性骨髓瘤、巨球蛋白血症时,浆细胞的恶性增殖致使血浆病 理性球蛋白高达 40-100g/L 或更高,故血沉增快。巨球蛋白症病人,血浆 燕山大学里仁学院课程设计论文 5 中 IgM 增多,其血沉理应增快,但若 IgM 明显增多而使血浆沾稠度增高即 高沾综合症时,反而抑制血沉,可得出一个正常甚至减慢的结果。另外恶 性肿瘤、组织损伤及坏死、贫血、高胆固醇积压症均可导致血沉增快。 血沉加快常与以下疾病有关: 炎症性疾病,如急性细菌性炎症,23 个小时就会出现血沉加快的 现象; 恶性肿瘤,迅速增长的恶性肿瘤常使血沉增快,而良性肿瘤血沉多 正常; 各种急性全身性或局部性感染,如活动性结核病、肾

12、炎、心肌炎、 肺炎、化脓性脑炎、盆腔炎等;各种胶原性疾病,如类风湿性关节炎、系 统性红斑狼疮、硬皮病、动脉炎等; 组织损伤和坏死,如大范围的组织坏死或损伤、大手术导致的损伤, 心肌梗死、肺梗死、骨折、严重创伤、烧伤等疾病亦可使血沉加快; 患有严重贫血、血液病、慢性肝炎、肝硬化、多发性骨髓瘤、甲亢、 重金属中毒、恶性淋巴瘤、巨球蛋白血症、慢性肾炎等疾病时,血沉也可 呈现明显加快趋势。血沉加快对发展速度较快的恶性肿瘤具有提示价值: 手术将肿瘤切除,或化疗、放疗治疗有效时,血沉可减慢;肿瘤复发或出 现转移时,血沉还可再加快。良性肿瘤一般血沉不加快或出现减慢现象, 因此可以通过这个项目协助初步判断肿瘤

13、的性质。血沉减慢临床意义较小, 可因红细胞数量明显增多及纤维蛋白原含量严重减少所致,见于各种原因 所至的脱水、血浓缩、真性红细胞增多症、弥漫性血管内凝血、低纤维蛋 白原血症和球形红细胞增多症等。 血沉的快慢还可辅助观察病情的变化。如风湿病、结核病血沉加快的 程度常与病情轻重有关。活动期血沉加快;病情好转时血沉速度减缓;非 活动期血沉可以恢复到参考范围。因此,测定血沉可大致推测疾病的发展 及观察治疗效果。例如,红斑狼疮病人的血沉从平稳到加快表明病情进入 活动期,长期稳定在参考范围内就说明病情得到了控制。有关血沉的临床 应用,已在风湿病诊断中广泛证实。有报道,正常动脉炎在短时间内发生 率仅在 0.

14、2% ,而仅有 4.0% 的动脉炎患者血沉小于 30 mm 。观察发现, 多发性肌炎 ESR 及疼痛密切相关,为疾病活动性的重要标志物。除风湿病 外,近年临床还观察到在镰状细胞贫血、骨髓炎在诊断上也有价值。而且 ESR 对脑卒中及急性冠状动脉炎的病程进展也有参考价值,还可预测死亡 率。并可评估是否因炎症所致血小板破坏及血栓形成。因此,从临床的角 度看, 血沉是一项值得推广的实验方法。 既然血沉作为一项非特异性的指标对人的生理病理有如此重要的临床 意义,如何迅速而准确的得到血样的血沉值,就成为全世界关注的问题。 血沉值测定的方法有多种,有魏氏法(Westergren 法) 、库氏法(Coulte

15、r 法、 ) 、温氏法(Wintobe-landsbrey 法) 、潘氏法。过去一直使用国际血液 燕山大学里仁学院课程设计论文 6 学标准委员会(ICSH)推荐的魏氏法,也是该委员会推荐的唯一的血沉测 定法。国际血液学标准化委员会(ICSH)要求血沉报告必须采用魏氏法结 果。我国在 1983 年全国临床检验方法学学术会议上推荐魏氏法作为血沉 值测定的参考方法。魏氏法的操作过程是:患者于清晨空腹抽取静脉血 1.6ml,按照 4:1 与 109mol/L 的枸椽酸钠溶液(抗凝剂)0.4ml 混匀, 然后吸入清洁、干燥的标注魏氏血沉管中,并调至零刻度处。让后将血沉 管插入血沉架中,血沉管要求在室温下

16、严格垂直放置,避免阳光直射、振 动和血液外溢。一小时以后读出血浆凹液面底部至沉降红细胞柱顶部之间 距离数,即为血沉结果。 1-3 本课题的选题意义及研究现状本课题的选题意义及研究现状 生命对于每个人来说都是最宝贵的。随着社会的发展和科技的进步, 人民文化水平和整体素质的提高,越来越多的人开始关注健康问题。血沉 作为一个具有重要临床意义的指标也同样受到越来越多人的关注。红细胞 沉降率( ESR )是一项传统而又应用范围比较广的古老的实验技术。自瑞 典医师 Fabraeus(8) 。1921 年首创以来,手工原始的魏氏法 (Westergren)在一个多世纪以来修改很少,魏氏法(Westergre

17、n)作为 国际参考的方法之一,至今仍被广泛应用,但是由于魏氏法采用的是人工 定时目测法,整个流程采用的是人工操作,因此易于出现技术错误,实际 测试工作中血沉管的清洁度、放置位置是否垂直、室外温度的高低、判断 时间是否严格以及观察血沉管的角度等因素均会影响血沉测定的结果。而 且需要专门的医护人员进行操作,操作过程较为繁琐,浪费了不少人力和 物力资源,虽然被多数实验室和医院采用,但是效果都不太理想。80 年代 以来,随着电力电子技术,控制技术、传感器技术和光电技术的发展和应 用,以及人们对血沉检测时间和检测精度的要求越来越高,随之在国外的 一些国家如:美国、意大利、日本、西班牙等产生了由单片机或其

18、他微处 理器控制的血沉自动测试仪。它是把光电技术与计算机技术运用在传统测 试中,将人工操作的部分利用光电传感器来完成,动态分析红细胞的沉降 过程,由于采用计算机进行数据采集和处理,它的可靠性远远大于传统的 魏氏测量法,大大降低了操作过程中各种人为因素给测试结果带来的误差, 并且由计算机自动打印测试结果,同时避免了人为目测读取结果引起的偏 差,为临床测试提供了很大的方便。血沉自动测试仪一般采用一次性的血 沉管,可以提高测试结果的准确性并避免了血样之间的交叉影响,有利于 临床的推广使用。综上所述,血沉自动测试仪成为近年来血沉测量的发展 趋势,随着检验医学的飞速发展,血沉自动测试仪在国外已有不少产品

19、, 国外一些医院和实验室已经开始使用自动血沉测试仪进行血沉值的测量, 燕山大学里仁学院课程设计论文 7 其测量结果和魏氏法相比较有良好的相关性和准确性,基本满足临床的需 要,值得临床的推广和使用。我国是一个人口大国,国内大大小小的医院 数不胜数,可以说血沉自动测试仪在我国有着及其广阔的市场前景。从查 阅到的国内公开的文献资料来看,目前我国使用的血沉自动测试仪大多是 从国外进口的产品或是引进国外的技术自己加工生产,国内自主设计生产 的血沉自动测试仪相关报道不是很多。但是从国外进口的仪器一般价格比 较昂贵,而且由于操作和显示部分大都采用的是全英文形式,这样对一些 医护人员进行快速准确的操作有相当的

20、难度,大大延长了血沉测试的周期, 降低了医院的工作效率;同时因为血沉的测量对血沉管的测量比较严格, 血沉管的粗细长短都影响最终测定的血沉值,不同型号的血沉自动测试仪 配套的血沉管都是不一样的,每个血沉管的使用周期比较短,因此购买与 仪器配套的血沉管也成为医院面临的一个比较麻烦的问题。为了有效地解 决进口血沉自动测试仪带来的上述问题,满足国内大多数医院的需要,以 达到快速、准确地测定血沉值的目的,本课题基于魏氏法的原理,对血沉 自动测试仪进行了设计,论文主要研究内容如下: 1 设计了血沉自动测试仪的硬件电路。设计合理的硬件电路来实现 所需要的测量功能,其中包括数据采集和处理电路的设计、存储器接口

21、电 路的设计、人机接口电路的设计、串行通信电路的设计等。 2 利用 C 语言编写了针对该血沉自动测试仪的控制系统。包括采样 控制程序、步进电机驱动程序、数据处理程序、串行通信程序、键盘扫描 程序、液晶显示程序、打印驱动程序等。最终实现仪器的自动控制。 3 制作血沉自动测试仪的硬件电路板,在 keil Uvision3 的编程环 境下对血沉自动测试仪的硬软件进行调试,实现自动测定血沉值的目的。 4 利用该血沉自动测试仪对几组特定的血样进行测试,将测试结果 与魏氏法测得的结果进行分析比较。第二章 血沉自动测试仪的原理与构成。 第二章第二章 血沉自动测试仪的原理与构成血沉自动测试仪的原理与构成 2-

22、1 血沉自动测试仪原理介绍血沉自动测试仪原理介绍 血沉自动测试仪采用传统的魏氏测量方法的原理,在本设计中,把人 燕山大学里仁学院课程设计论文 8 工测量血浆段环节改由利用红外对管进行。首先,将红外对管和步进电机 固定在一起,然后再利用步进电机的上下移动来实现红外对管的上下移动。 由于血样出现分层后血浆部分比较清澈透光性好,而血细胞部分透光性差, 利用红外对管扫描时就可以很容易识别出哪里是血细胞哪里是血浆。所有 的测量和数据处理是由一个单片机所控制的。当红外对管识别出血细胞和 血浆后,利用电压比较器把测量的信号转化为单片机可以识别的高低电平, 然后传给单片机进行处理;在单片机控制步进电机上下移动

23、时通过单片机 内部的记数器来计算步进脉冲的个数以确定步进电机的移动距离最后计算 出试管内血细胞的沉降位置。本自动血沉自动测试仪设计为每四分钟扫描 一次,为了能够同时测量多组血样,在本设计中采用了两个 8 路的多路选 择开关来控制多个试管插孔,这样可以实现同时测量十六组血样。因此就 可以把该血沉自动测试仪分为以下几个模块,分别是:采集模块、中心控 制模块、串行通信模块、键盘模块、显示模块和打印模块。其基本工 作电路图如下所示: 燕山大学里仁学院课程设计论文 9 2-2 血沉自动测试仪基本构成血沉自动测试仪基本构成 采集模块 血沉自动测试仪的采集部分由两个多路选择开关,十六组红外对管, 一个电压比

24、较器和一个步进电机组成。它的基本采集流程是,首先利用安 装在步进电机上的红外对管来采集试管内的液面信号,然后通过电压比较 器将采集到的液面信号转化为单片机可以识别的高低电平信号,再将高低 电平信号传给单片机进行分析。血沉自动测试仪设计了两排测试孔,每排 有八个孔,为了方便测试,用两个多路选择开关来控制每个测试孔位。下 面逐一进行介绍。 2-2-1 红外对管介绍红外对管介绍 实验所用的红外对管由一个红外发射二极管和一个红外接收二极管组 成,并将其与步进电机固定在一起。其基本原理如下图所示。当红外发射 管与红外接收管之间没有障碍物时,红外接收二极管由于接收到红外光辐 射而导通,输出电平为低;当红外

25、发射管与红外接收管之间有障碍物时, 红外接收二极管截止,输出电平为高。因而,利用其输出电平的高低很容 易判断出红外对管之间有无障碍物。因为血浆和血细胞具有不同的折射系 数和反射能力以及透光能力,当用血浆和血细胞分别来遮挡红外发射管发出 的红外辐射时,接收管接收到的信号将发生很大变化,因此利用红外接收管 输出电平的高低变化便可以判断出测到的是血细胞还是血浆。 燕山大学里仁学院课程设计论文 10 2-2-2 电压比较器介绍电压比较器介绍 电压比较器是对输入信号进行鉴幅与比较的电路,它的输入信号是模拟 电压,输出信号一般只有高电平和低电平两个稳定状态的电压。本系统中 利用电压比较器将红外接收管输出的

26、电压信号与设定的阀值电压进行比较, 从而输出单片机可以识别的高低电平,以便单片机进行数据的分析和处理。 1、 电压比较器的原理图。 2.电压比较器传输特性 燕山大学里仁学院课程设计论文 11 2-2-3 多路选择开关介绍多路选择开关介绍 由于单片机工作速度很快,而本系统中被测参数的变化比较慢,所以 一个单片机可供十几几十个回路同时使用。但是,单片机在某一时刻只 能接收一个通道的信号,因此必须通过多路开关进行转换,以便完成由多 到一的转换。本系统中要求对十六个通道的信号进行采集,这样必须通过 多通道动态信息采集来实现。电子集成技术的发展和计算机技术的进步使 得程控放大器和抗混滤波一体化,数据采集

27、可编程化成为现实,大大提高 了动态信号处理的水平精度。 电压比较电路任一时刻只能对一路信号进行处理,为了实现对多路输入 信号进行处理,必须采用多路切换技术,对多路输入信号进行轮流切换, 以使电压比较器能分时对每一路信号进行处理,多路选择开关就是为了实 现这一功能而设计的电路。为了对十六路模拟输入信号进行切换,本系统 采用了两片八选一模拟开关芯片 CD4051B 来组成多路选择开关电路。 CD4051B 芯片内部含有三组单刀双掷开关,三组开关具体接通哪一通道, 由输入地址码 ABC 来决定,具体的对应关系见下表。其引脚分布见下图。 燕山大学里仁学院课程设计论文 12 燕山大学里仁学院课程设计论文

28、 13 2-2-4 步进电机介绍步进电机介绍 步进电机是一种作为控制用的特种电机, 它的旋转以固定的角度(称为 “步距角”)一步一步运行,其特点是没有积累误差, 所以广泛应用于各种 开环控制。步进电机的运行要有一电子装置进行驱动, 这种装置就是步进 电机驱动器, 它是把控制系统发出的脉冲信号转化为步进电机的角位移, 或者说控制系统每发一个脉冲信号, 通过驱动器就使步进电机旋转一步距 角。所以步进电机的转速与脉冲信号的频率成正比。 所以,控制步进脉冲信号的频率,可以对电机精确调速;控制步进脉 冲的个数,可以对电机精确定位目的。步距角表示控制系统每发一个步进 脉冲信号,电机所转动的角度。电机出厂时

29、给出了一个步距角的值,如 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 位保密

30、位(OTP ROM) 4 层优先级中断嵌套 双数据指示器 外中断唤醒电源掉电模式 全双工增强 UARL 通道 异步端口复位 帧数据错误检测 可编程时钟输出 自动地址识别 布尔处理器 燕山大学里仁学院课程设计论文 14 2-2-5 数据通信数据通信 数据通信的基本方式可分为并行通信与串行通信两种方式:并行通信 是指利用多条数据线将一个数据的各位同时传送;串行通信是指利用一条 数据线将数据一位一位的顺序传送。并行通信的特点是传输速度快适用于 短距离通信,串行通信的特点是通信线路简单,利用电话线路或电报线路 就可以进行通信,降低成本,适用于远距离通信,但是通信速度慢。由于 本系统的资源有限,而且对速

31、率的要求也不高因此串行通信是最佳选择。 串行通信又分为同步通信和异步通信两种。同步通信的数据传输速率相对 异步通信较高,但是同步通信的缺点是要求发送时钟和接收时钟保持严格 同步,故发送时钟除应和发送的波特率保持一致外,还要求把它同时传送 道接收端去。因此在本系统的设计中采用异步通信。串行接口总是和串行 数据传输联系在一起,而串行数据的传输通常又被人们习惯的称为“串行 通信” 。可见,为了实现串行通信必须设计和使用相应的串行接口。所以在 讨论串行接口之前,首先介绍一下串行通信的基本概念。 数据传输方式 在串行通信中,数据是在两个不同的站之间传送的。按照数据传送的 方向,串行通信可分为 3 种制式

32、,即单工、半双工、和全双工。 单工制式 这种方式只允许数据按一个固定的方向传送,如图,图中 A 方式只能 发送,叫发送器;B 方式只能接受,叫接收器。数据只能从发送器 A 传到 接受器 B 而不能反过来。 (2)半双工方式 如图,数据既能从 A 传到 B 也能从 B 传到 A,因此 A 方、B 方都 既可作发送器又可作接收器,通常称之为收发器。从这个意义上说,这种 方式属双向工作方式。但是 A、B 之间只有一根传输线,信号只能分时在 两个方向传输,不能同时双向传输,所以称之为半“双工”方式。在这种 方式下工作时,要么 A 发送 B 接收,要么 B 发送 A 接收,不能同时工 作,一般让 A、B

33、 都处于接受方式以便随时响应对方的呼叫,组成一个单 燕山大学里仁学院课程设计论文 15 方向传输的通信线路。 全双工制式 如图,A、B 双方既都是发送器又都是接收器,且由于相互间有两根信号传 送线, A 方、B 方可以同时发送或接收。显然为了实现这种全双工传输,两个方 向的资源必须完全独立,A 方和 B 方必须具有独立的发送器和接收器,两 个方向的数据通道必须完全打开。这样,在 A、B 方控制逻辑的协调下才 可以同时 A 向 B 发送,B 向 A 发送。这种全双工方式在通信线路和通信 机理上都相当于将两个方向相反的单工方式组合在一起。 这三种传输方式尽管在收发控制上有差别,但作为数据发送和接收

34、的基本 原理是相同的。 2-2-6 信号传输时序信号传输时序 信号传输时序图: 燕山大学里仁学院课程设计论文 16 寄存器读写状态: 忙标志位为“”时,表示内部操作正在进行,即处于忙状态而不接 受新的指令,所以,每次接受新指令前,都要读取标志,只有当其为 “”时才可接受。 2-3 本章小结本章小结 本章首先对血沉自动测试仪的原理进行了简单的介绍,在对原理理解 和掌握的基础上设计了血沉自动测试仪的总体方案,将血沉自动测试仪分 为数据采集模块、中央控制模块、串行通信模块,键盘输入和显示模块等 几个模块,并对构成各个模块的硬件电路进行了介绍和分析。 燕山大学里仁学院课程设计论文 17 第三章第三章

35、血沉自动测试仪硬件系统的设计血沉自动测试仪硬件系统的设计 血沉自动测试仪各个模块的硬件电路 信号采集电路 由于本系统要求对十六路模拟输入信号进行切换,所以本设计中采用两片 八选一模拟开关芯片 CD4051B 来实现,为了节约系统的资源,设计了一种 简单并且实用的选择电路,如图分别是本设计中两块 CD4051B 芯片的外围 电路。 燕山大学里仁学院课程设计论文 18 第四章第四章 血沉自动测试仪软件系统的设计血沉自动测试仪软件系统的设计 要研制一个单片机的实时系统,一般包括三个阶段:硬件电路设计及印 刷电路板的制作,系统软件流程的设计,系统硬软件调试。硬件电路设计 及电路板的制作是保证应力测试仪

36、实现测量功能的前提;软件流程设计是决 定血沉自动测试仪能实现哪些功能;系统硬软件调试协调软件设计与硬件所 能实现功能之间的冲突,最后实现血沉自动测试仪所需的功能。本章主要 介绍系统的软件流程设计。 4-1 软件系统设计原理软件系统设计原理 在进行软件编程时,考虑到单片机的特点,充分利用其计算、存储和 控制功能以及查表指令带给它的查表功能,充分发挥软件的作用,以达到 燕山大学里仁学院课程设计论文 19 简化硬件电路结构,提高系统性能的要求。全部程序由主程序、步进电机 驱动子程序、采样子程序和液晶驱动子程序等组成,力求实现软件模块化。 从软件的功能来看,主要是执行软件,它能完成各种实质性的功能,

37、如检测、计算、显示、输出控制等。软件任务分析时,应将各执行模块一 一列出,并为每一个执行模块进行功能定义和接口定义(输入、输出定义)。 整个系统软件可分为后台程序和前台程序。后台程序指主程序及其调用的 子程序,这类程序对实时性要求不高,故通常将监控程序(键盘解释程序) 、 显示程序等与操作者打道的程序放在后台程序中来执行。而前台程序安排 一些实时性要求较高的内容,如定时系统和外部中断。 系统中各个执行模块之间有着各种因果关系,互相之间要进行各种信 息传递。各模块之间的关系体现在他们的接口条件上,即输入条件和输出 结果上。必须严格规定好各个接口条件。在程序编写过程中,这样解决这 个问题:将每一个

38、执行模块要用到的参数和要输出的结果列出来,对于与 不同模块都有关的参数,只取一个名称,以保证同一个参数只有一种格式。 然后为每一个参数规划一个数据类型。 上述各准备工作都完成之后,就可以进行编程了。 软件设计有两种方法,一种是自上而下,逐步细化;另一种是自下而 上,先设计出每一个具体的模块(子程序) ,然后再慢慢扩大,最后组成一 个系统。第二种方法调试比较方便,每设计好一个程序模块,就能立刻进 行调试并看到实际效果,所以课题的软件设计采用了第二种方法。 由于 C 语言可读性好、易于移植,对于以后软件的修改和维护更加方 便,因此本程序采用 C 语言编写,同时采用模块化程序结构方案,使工艺 流程清

39、晰明了。为使程序具有很好的可读性和易于操作,软件编写工程中 利用了以下几种编程技术。 软件延时程序的设计 它是一种常用的延时子程序。采用 FOR 循环语句完成,延时周 期较长时采用 FOR 语句嵌套。延时时间与应用程序的晶振和采用的语 句有关。在发送数据时,数据的传输过程需要一定的时间,这时调用 一个延时子程序,等待数据正确传输完成之后,再执行下一步指令操 作。 子程序的透明性设计 子程序在执行后,除了完成指定的功能外,不留下任何额外的痕迹。 子程序只利用与主程序无关的工作单元,从而保护主程序的各种现场。 子程序的清晰度设计 无论是键盘输入的,还是从串行口传输过来的命令和数据,在相应 子程序中

40、被确定完类型后,只是置相应的标志,即返回主程序。在主 燕山大学里仁学院课程设计论文 20 程序中再根据检测到的标志,执行不同的操作。这样,程序会很清晰, 不容易出错,即使程序运行出现问题,也很容易找到问题的根源。 本课题软件开发使用的开发软件是德国 keil 公司开发的基于 Windows 的软件开发平台,有功能强大的编辑器、项目管理器和制作工 具。Uvision3 支持 8051 所有的 keil 工具,包括 C 编译器、宏汇编 器、链接器/定位器和目标文件至 HEX 格式的转换器 Uvision3 提供了 以下功能,加速嵌入式应用开发过程,即非常有特色的源码编辑器; 器件数据库:配置开发工

41、具的设置; 项目管理器:创建和维护项目; 集成制作工具:可以汇编、编译和链接嵌入式应用; 所有开发工具的设置都是对话框形式的; 真正集成的源码级调试器,带高速 CPU 和外围器件模拟器; AGDI 接口,可在硬件目标中调试软件,以及连接到 Monitor- 51; Uvision3 软件有菜单栏、可以快速选择命令按钮的工具栏、源代码文件窗 口、对话框窗口和信息显示窗口。Uvision3 允许同时打开多个源码文件。 由于 keil 本身是一个纯软件,还不能直接进行硬件仿真,必须挂接硬件 仿真器才可以进行仿真。使用 keil Uvision3 开发环境一般是按照下面的 流程来完成开发任务的: 建立

42、工程,为工程选择目标器件; 设置工程的配置参数; 打开/建立程序文件; 编译和连接工程; 纠正程序中的书写和语法错误,并重新编译连接; 对程序中某些纯软件的部分使用软件仿真验证; 使用硬件仿真器对应用程序进行硬件仿真; 将生成的 HEX 文件烧写到 ROM 中运行测试。 4-2 软件系统流程图简介软件系统流程图简介 本课题系统软件主要由以下几个部分组成:系统的初始化、数据采集 和处理程序、运行状态和结果的显示程序、键盘的输入扫描程序、步进电 机驱动程序、结果的打印程序等。其中系统的初始化是对单片机内部资源 以及液晶显示块进行初始化,数据采集和处理是对红外对管采集到的电压 信号进行分析处理,键盘

43、扫描是对输入的按键进行扫描显示处理,步进电 机驱动是使步进电机带动红外对管在特定的时间内上下运动。主程序流程 燕山大学里仁学院课程设计论文 21 图如图所示: 主程序路程图: 燕山大学里仁学院课程设计论文 22 根据各自功能和执行操作的不同,将系统分为几个主要的功能模块,这样 既增强了程序的可读性又易于程序的移植。下面对各个模块分别进行介绍。 燕山大学里仁学院课程设计论文 23 初始化流程图: 燕山大学里仁学院课程设计论文 24 1、系统初始化 燕山大学里仁学院课程设计论文 25 系统初始化包括:定时器/计数器 0 的初始化、定时器/计数器 2 的 初始化、串行口的初始化、外部中断 1 的初始

44、化、CPU 开中断、液晶显示 屏的初始化等。 2、数据采集和处理 数据的采集和处理是本系统的一个重要环节。主要包括: 控制步进电机上下运动利用红外对管检测试管中液面的位置、将采集到的 数据经过电压比较器送到单片机进行处理、计算试管中液面的高度。 数据采集和处理流程图: 3、测量结果的显示和打印 通过键盘输入血样的位置号,将存储在单片机与该位置号对应的血样 测量结果通过液晶屏显示并将结果进行打印。本键盘设有 1、3、9 三个功 能键,它们的功能分别是:输入血样的 ID 号、打印结果、显示结果。 “IN”键是确认键,它是用来确认一个操作或是确认数据的输入。 “ESC” 键是删除键,用来删除输入有误

45、的数据,长按此键将取消所有操作并返回 主显示界面。 燕山大学里仁学院课程设计论文 26 按键判断流程图: 4-3 本章小结本章小结 本章首先对系统软件部分的设计原理进行了说明,对本软件开发环境 keil Uvision3 进行了简单介绍;该系统的软件采用了模块化形式,将软 燕山大学里仁学院课程设计论文 27 件部分划分为几个模块并进行了介绍,说明了系统的总体流程图,对初始 化、数据采集和处理、结果显示和打印部分的软件模块用流程图进行了解 释。 第五章第五章 硬软件调试及结果分析硬软件调试及结果分析 51 硬软件调试硬软件调试 在硬件设计、软件设计完成以后,血沉自动测试仪能不能用,最终还 要进行

46、调试才能确定,在方便调试的前提下,使用 TKS-52B 仿真器进行调 试。TKS-52B 仿真器的仿真头有 40 引脚,与 P87C52 的引脚位置完成匹 配,所以直接将仿真器插到 P87C52 所在的 DIP 插座上就可以代替 P87C52 进行硬件调试。同时仿真器配合 keil Uvision3 编程环境就可以 进行软件调试,非常方便。因为软件调试主要是根据流程图编程实现血沉 自动测试仪的功能,所以这里就不对软件调试进行过多叙述了,本节主要 介绍硬件调试。 硬件调试阶段首先要做如下细致的常规检查: 上电以前,先用肉眼观察有无短路和断路情况发生,再用万用表检查 电源、地以及一些关键的信号线,

47、如读、写、复位、片选等是否正确。上 电以后,先用手检查有无异常:用手感觉是否有些芯片特别热。如果发现有 些芯片烫得很厉害,一般是有问题,需掉电检查确认无误或排除故障后再 重新上电。如果是电源和接地接错或发生短路,那么芯片的损害是很难避 免的,需查出错误所在,排除后,更换芯片,才能重新上电工作。 排除上述问题后,认为系统中无致命的错误,接下来可检查时钟能否 长时间稳定的工作。时钟输出波形的毛刺水平是否能保证工作可靠。这主 要是通过用示波器来观察晶振输出波形的质量和精度来检验的。检查复位 是否正常,按复位按钮用示波器观察其输出复位脉冲的电平和脉宽是否正 常。检查 P87C52 的 ALE 输出的频

48、率电平是否正常、稳定。 燕山大学里仁学院课程设计论文 28 关上电源,接上仿真接口。插仿真器接口时,要注意引脚的方向并保 证接线正确。上电运行仿真器应该能在屏幕上看到用户界面。如果出现警 告信息,一般是未上电或接线不正确造成的。仔细检查引脚的连接是否正 确,如果正确,仿真接口由于连续的插拔可能接触不好,这时应该紧固接 口,才能继续使用。另外,还有一种可能是配置文件不正确造成的。检查 完毕后,确保无误后就可以分步地进行硬件的调试了。 本课题中最关键的一步就是液面数据信号的采集,其他部分的调试在 程序运行以后,用肉眼观察或用万用表测量某些信号就可以确定硬软件是 否运行正常。确定硬件工作正常以后,接

49、下来的工作就是在 keil Uvision3 的编译环境里协调软件各个模块之间的逻辑,使硬件电路按照设 计的功能动作。液面数据信号采集部分的调试,我们可以在 keil Uvision3 编程环境里编写一段程序来使红外对管工作,然后利用一个不透 光的物体挡住红外发射管,观察电压比较器的输出端电压信号,然后把不 透光的物体拿开,再观察电压比较器的输出端电压信号。如果两次产生的 输出电压一个是高电平一个是低电平,则表示红外对管采集到的数据是正 确的。程序如下: void sampling() bit sampling_value1,sampling_value2; if(motor_status) y4=0x81; else y4=0x01; Delay(150); sampling_value1=sampling_value; if(motor_status) y4=0xa1; else y4=0x21; Delay(150); sampl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1