血糖测试仪汇编.docx
- 文档编号:29723647
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:21
- 大小:291.80KB
血糖测试仪汇编.docx
《血糖测试仪汇编.docx》由会员分享,可在线阅读,更多相关《血糖测试仪汇编.docx(21页珍藏版)》请在冰豆网上搜索。
血糖测试仪汇编
《单片机原理及应用》
课程设计报告书
课题名称
血糖测试仪
姓名
黄嘉成
学号
2012118010255
专业
电子工程及其自动化
指导教师
机电与控制工程学院
2015年6月24日
目录
一、绪论……………………………………1
二、方案论证……………………………………1
三、方案说明……………………………………3
四、系统硬件电路设计…………………………4
五、系统软件设计………………………………8
六、血糖仪的调试与仿真………………………11
七、技术小结……………………………………13
八、参考文献………………………………………13
九、附录……………………………………………14
一、绪论
糖尿病(DM,DiabetesMellitus)是一种常见的慢性非传染性疾病,是由遗传和环境因素相互作用而引起的临床综合征(慢性、全身性、代谢性疾病),是终生性疾病。
由人体内胰腺分泌胰岛素缺乏,或因胰岛素功能失调所至。
这种功能失调导致血中葡萄糖浓度增高,从而危及体内诸多系统,特别对血管系统和神经系统影响最大。
血糖浓度是反映病情状况的一个重要指标,经常性地进行血糖测量可及时把握病情变化并及早采取治疗措施。
严格控制血糖到接近正常水平,比一般的控制血糖,可使慢性并发症减少约2/3。
因此,血糖监测对于糖尿病患者是非常重要的。
使用便携式血糖仪进行测定并记录结果,可了解一日内血糖的波动幅度和平均值,及时发现和处理异常情况,并可作为调整药物治疗的依据。
二、方案论证
血糖检测从有创到微创的发展过程,也是血浆糖测定到毛细血管全血糖测定的发展,目前大多使用葡萄糖生物传感器来检测血糖浓度,按工作原理可分为电化学型、压电型、热电型、光学型等,其中电化学型是血糖检测的主流。
大多数上市的血糖仪都是电化学型的测电流葡萄糖传感器[。
1962年,Clark就提出了葡萄糖生物传感器的原理,他们预示用一薄层葡萄糖氧化酶(GOD)覆盖在氧电极表面,通过氧电极检测溶液中溶解氧的消耗量可以间接测定葡萄糖的含量。
1968年Updike和Hikcs根据此原理成功地制成了第一支葡萄糖生物传感器。
从此以后,基于酶电极的电流型生物传感器得到了迅速的发展。
葡萄糖氧化酶电极的结构
根据生物电化学原理设计的便携式血糖仪是采用一次性使用的葡萄糖氧化酶印刷电极(即血糖试条)作为传感器,将被测血样滴在试条上,电极上的氧化酶促使血样中的葡萄糖与氧发生氧化还原反应,相关化学反应式为:
葡萄糖+O2+H2O葡萄糖酸+H2O2
该反应所产生的电子被导电介质转移给电极,电极在恒定的工作电压(0.5V)作用下便产生电流。
经过一段时间后,酶电极的电流值的大小与血样中葡萄糖浓度呈一定的线性关系,通过检测电流变化与葡萄糖浓度的这个线性关系达到检测血糖浓度的目的。
简单地说就是“施加一定电压于经酶反应后的血液产生的电流会随着血液中的血糖浓度的增加而增加"。
通过精确测量出这些微弱电流,并根据电流值和血糖浓度的关系,反算出相应的浓度。
电流变化与葡萄糖浓度的关系
如图所示,理想情况下,电流变化与葡萄糖浓度呈线性关系,要确定二者之间的直线系数,可使用样机测得的几组数据,通过对数据进行多次直线拟合,即可得到血糖值和电流值之间的关系图。
三、方案说明
§3.1方案总体设计
全面考虑系统的总体目标,进行硬件初步选型,然后确定一个系统的方案,同时考虑软硬件实现的可行性。
本系统的设计,采用酶电极法对血糖进行采集。
在葡萄糖氧化酶电极两端加0.5V的电压,这个电压要保持恒定,不能随葡萄糖浓度的变化而变化。
当滴入血样之后,血液中的葡萄糖在氧化酶的作用下与氧反应产生微电流信号,由于此信号非常小,不便于测量,所以通过硬件电路将其转换为电压信号,该电压信号通过放大器进行放大和硬件滤波处理,再通过A/D转换器将模拟信号转换为可以被CPU处理的数字信号,输入单片机并对其进行软件滤波,进而对读取的数据进行处理、转换,换算成血糖含量数据,结果通过LCD显示出来。
其中,滤波的目的是去除干扰信号(主要是来自电源和各种因素产生的系统噪声),使得测试更加精确。
一般来说,血糖测量至少有如图所示的这些过程组成。
总体设计框图
§3.2主要器件介绍
设计中实现信号的有效传输和放大采用的是低功耗,低功率的运算放大器LM324。
与单电源应用场合的标准运算放大器相比,它们有一些显著优点。
该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。
共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。
设计中采用的核心器件是AT89C51。
它具有4k字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
设计中实现模数转换采用的是八位逐次逼近式A/D转换器ADC0808。
它是一种单片CMOS器件,包括8位的模/数转换器、8通道多路转换器和与微处理器兼容的控制逻辑8通道多路转换器,能直接连通8个单端模拟信号中任何一个。
设计中系统的输出模块采用的是液晶显示器LM016L,它具有可以直接显示图形、体积小、重量轻、功耗低等特点,适用于便携式仪器的设计。
四、硬件电路设计
§4.1信号前置通道设计与仿真
血液与血糖酶反应产生的电流是极其微弱的,通常为几微安到几十微安。
由于MCU上A/D转换的是电压信号,而我们所要确定的是电流信号。
因此在放大电流信号的同时,还需要将它转换为等效的电压信号。
电流信号转换为电压信号电
仿真结果可以看出,该设计很精确的实现了从10μA的电流信号向0.01V的电压信号的转换。
§4.2电压放大模块
上述图电流信号转换为电压信号电路己将电流信号成功的转换为毫伏级的电压信号,由于信号十分微弱,为了方便后期对电压信号的处理,电压信号需放大到伏级才可以,为了提高抗干扰能力,本次设计采用了两级放大电路,差动放大25倍和次级放大4倍,总放大倍数为25*4=100倍。
一.三级运放设计与仿真
本设计中第一级放大采用了高增益、高输入阻抗、高共模抑制比的同相并联结构的差动放大电路,如图所示。
差动放大电路
图中U1和U2组成同相并联输入第一级放大,以提高输入阻抗。
U3为差动放大,作为放大器的第二级。
电路中第一级电路具有完全对称形式,这种结构有利于克服失调、漂移的影响。
电压放大倍数公式为
Ad=-(1+R7/R8)*R11/R10
本设计中,设定三运放放大倍数
。
取R5=R6=20K,R7=R9=12K,R8=1K,R10=R11=R12=R13=1K
二.次级放大
本次设计中次能放大采用的是同相比例运算电路,电路图如下图所示:
次级放大电路
放大倍数为Ad2=1+R16/R15=1+3=4
§4.3滤波电路设计
查阅相关资料得到,血糖信号的有效频率范围是0.08HZ~40HZ之间,所以本部分电路设计了截止频率分别为0.08HZ和40HZ的高通和低通滤波器]如下所示:
低通滤波电路
图中截止频率为
代入数据计算得
高通滤波电路
图中
五、系统软件设计
软件设计中一个重要的思想就是采用模块化设计,把一个大的任务分解成若干个小任务,分别编制实现这些小任务的子程序,然后将子程序按照总体要求组装起来,就可以实现这个大任务了。
这种设计方法对于程序的重复使用和移植显得尤为优越,因为不仅程序结构清晰,而且节约程序存储空间。
本文即采用了模块化程序设计。
初始化是监控程序的重要部分之一,它通常包括硬件初始化和软件初始化两方面。
硬件初始化以实现对各硬件资源分配任务,设定其初始状态。
软件初始化以免除以后程序执行时产生混乱;为此要对中断、堆栈等安排好。
另外,还要对状态变量、系统时钟以及变量存储单元、各软件标志等进行初始化。
监控程序的质量直接影响系统的操作和运行,首先介绍软件的总体设计。
§5.1软件总体设计
本便携式血糖仪的软件部分是根据硬件电路的功能模块而实现的,设计了主程序和几个子程序模块。
测试流程主要由采样、清屏、写代码、写地址、写数据、读数据、满屏显示、数据显示、延时、数据存储等过程组成,整个系统程序都是采用结构化方式进行设计的。
血糖仪的相关子程序包括:
A/D转换子程序、血糖值显示子程序、液晶显示子程序等。
这种通过软件方法来优化系统的设计思想不仅简化了仪器硬件结构,而且降低了仪器功耗、成本和体积。
软件总体设计框图
§5.2单片机初始化
首先是单片机初始化,主要对中断优先级,定时/计数器工作方式,开中断和初始化定时器进行初始化。
本设计设置外部0优先级高,定义TMOD=0x12,TMOD结构图如图所示。
图4-2
方式寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址的寄存器,字节地址为89H。
其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1[。
voidmain()
{
TMOD=0x01;//定时器0,模式1
TH0=TIME0H;
TL0=TIME0L;
TR0=1;//启动定时器
ET0=1;//开定时器中断
EA=1;//开总中断
§5.3AD转换程序设计
§5.4血糖值显示及报警程序设计
该设计中LCD显示转换过后的电压值,计算好的血糖数值进行上下限阈值判断(根据正常人体血糖值范围,将上下限阈值设置为2和0.5)。
六、血糖仪的调试与仿真
§6.1系统软件编译、链接
在Keil下新建工程,在选择CPU设备窗口中选择ATMEL下的AT89C51,在源代码组添加源代码文件(见附录二),调试程序,没有错误后在工程菜单下点击目标设置选项,在输出选项卡下选中产生HEX文件,确定[26-28]。
点击创建目标,软件会编译源程序,并在默认文件夹下生成一个HEX文件。
§5.2软、硬件联调
按附录一所示,连成电路图,将生成的HEX文件加入单片机,仿真结果如下图所示:
仿真电路图
有仿真结果可以看出当输入电流为5μA时转化为电压为0.0066V,经过放大滤波之后输出电压为0.66V,对应的血糖值为0.66,理论上血糖值为0.5,误差为0.16;当输入电流为10μA时转化为电压为0.01V,经过放大滤波之后输出电压为1V,对应的血糖值为1.17,理论上血糖值为1,误差为0.17;当输入电流为20μA时转化为电压为0.02V,经过放大滤波之后输出电压为2.17V,对应的血糖值为2.17,理论上血糖值为2,误差为0.17;当液晶显示血糖值小于0.5或者血糖值大于2时,发出报警。
七、技术小结
本文提出了基于AT89C51系列MCU的血糖检测的设计方案,并对其加以实现,采用AT89C51作为便携式血糖仪微处理器的核心,组成的单片机扩展系统具有体积小、模块化程度高、外围电路简单等特点,而且仪器测试精度和性能指标都满足预定要求。
本设计完成了血糖测试系统的硬件和软件的设计,硬件部分包括硬件的选型、硬件电路的设计、制作和测试等内容;软件部分包括仪器的主程序和一些子程序,如:
驱动A/D转换器工作并从其采集转换数据等。
设计中除了基本的测量血糖浓度的功能外,系统还增加了报警系统,使用户不仅可以定时测量,而且还可以及时的了解病情,采取相应措施。
参考文献
[1]汤海涛,王毅,虞启琏,等.自我血糖监测仪器(SMBG)的性能及研制进展[J].医疗卫生
[2]T.Kawanishi,M.A.Romey,P.C.Zhu,M.Z.Holody,S.Shinkai.AStudyofBoronicAcidBasedFluorescentGlucoseSensors[J].JournalofFluorescence.,2004,14
[3]张海锋,张小水,王丽娟,等.生物传感器的研究现状、应用及前景[J].计测技术,2006,26"92—96
[4]顾维正.血糖自我监测与实用血糖计[J].医学与工程,2000,2
(1):
52—54
附录
附录一总电路图
附录二软件设计总程序
//*************头文件及宏定义************//
#include"includes.h"
#defineTIME0H0x3C
#defineTIME0L0xB0
#defineucharunsignedchar
voidAlarm(uchart);
//**************全局变量*************//
unsignedcharuc_Clock=0;//定时器0中断计数
bitb_DATransform=0;
unsignedintU;
sbitSPK=P1^0;
//<<<<<<<<<<把电压显示在LCD上>>>>>>>>>>//
voidvShowVoltage(unsignedintuiNumber)
{
unsignedcharucaNumber[3],ucCount;
if(uiNumber>999)
uiNumber=999;
ucaNumber[0]=uiNumber/100;//把计算数字的每个位存入数组。
ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;
ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];
for(ucCount=0;ucCount<3;ucCount++)
{
vShowOneChar(ucaNumber[ucCount]+48);//从首位到末位逐一输出。
if(ucCount==0)
vShowOneChar('.');
}
}
//****************主函数****************//
voidmain()
{
//<<<<<<<<<<<<设置定时>>>>>>>>>>>>//
TMOD=0x01;//定时器0,模式1。
TH0=TIME0H;
TL0=TIME0L;
TR0=1;//启动定时器。
ET0=1;//开定时器中断。
EA=1;//开总中断
WriteCMD(0x84);//写入显示起始地址(第二行第一个位置)
vShowChar("Voltage:
");
vWriteCMD(0xC9);
vShowChar("(V)");
while
(1)
{
if(b_DATransform==1)
{
b_DATransform=0;
vWriteCMD(0xC4);
U=uiADTransform();
if(U<50||U>200)
{
Alarm(90);
Alarm(120);
}
else
SPK=1;
vShowVoltage(U);
}
}
}
//<<<<<<<<<<<<定时器0中断函数>>>>>>>>>>>>//
voidTime0()interrupt1
{
if(uc_Clock==0)
{
uc_Clock=5;
b_DATransform=1;
}
else
uc_Clock--;
TH0=TIME0H;//恢复定时器0。
TL0=TIME0L;
}
voidAlarm(uchart)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j } } //<<<<<<<<<<<< #include #defineSTARTP3_4//ATART,ALE接口。 0->1->0: 启动AD转换。 #defineEOCP3_3//转换完毕由0变1. #defineOUTPORTP2//AD转换函数,返回转换结果,转换结果是3位数,小数点在百位与十位之间。 unsignedintuiADTransform() { unsignedintuiResult; START=1;//启动AD转换。 START=0; while(EOC==0);//等待转换结束。 uiResult=OUTPORT;//出入转换结果。 uiResult=(100*uiResult)/51;//处理运算结果。 returnuiResult; } 指导教师 评 语 课程设计 成 绩 指导教师 签字 年 月 日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 血糖 测试仪 汇编