目录
一、总体方案· ······················································1
1.1方案论证及系统工作原理·········································1
1.2总体方案图·····················································1
二、硬件选择························································2
2.1主控芯片MCS-51介绍············································2
2.1.1主要功能···················································2
2.1.2 MCS-51单片机内部结构······································3
2.1.3引脚信号···················································5
2.2 ADC0809的介绍·················································7
三、硬件电路的设计··················································9
3.1温度检测原理的设计·············································9
3.1.1温度测量··················································9
3.1.2温度部分电路图············································10
3.1.3 A/D转换部分电路图·········································11
3.2脉搏检测原理的设计·············································11
3.2.1 ST188光电传感器介绍·······································11
3.2.2 脉搏测量部分仿真··········································13
3.3 LCD显示电路的设计·············································14
3.3.1 LCD1602简介···············································14
3.3.2 LCD1602与单片机连接的电路图······················16
四、软件设计·························································17
4.1主程序流程图····················································17
4.2部分程序························································18
五、结论······························································19
附录一································································20
附录二································································30
附录三································································31
一、总体方案
1.1方案论证及系统工作原理
本系统设定两种工作方式:人体体温检测和指尖脉搏检测。指尖脉搏检测采用ST188光电传感器将脉搏的跳动转换成单片机可以接受的脉冲信号,每跳动一次就产生一个脉冲,利用单片机计数功能对信号进行计数,十秒钟进行一次采样,得到人体每分钟的脉搏跳动次数。人体体温检测使用MF58系列热敏电阻进行温度测量,将输出电压通过ADC0809进行A/D转换,将模拟量转换成数字量,利用温度与电压之间的关系得到当前的温度值。测得的脉搏、温度数据通过LCD1602进行显示。
该方案可以有效、实时的测量脉搏、体温这些要求监测的参数,能够达到系统设计的各项指标,设计方案切实可行。
1.2总体方案图
二、硬件选择
2.2 ADC0809的介绍
本系统采用ADC0809与ST188光电传感器组成脉搏测量系统。ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式AD转换器,可以和单片机直接接口。
ADC0809的内部逻辑结构如图4所示。
图4 ADC0809内部结构图
由图4可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
引脚图如图5所示。
图5 ADC0809引脚图
- IN0~IN7:8条模拟量输入通道
- ALE:地址锁存允许输入线,高电平有效。
- A,B,C为地址输入线,用于选通IN0~IN7上的一路模拟量输入。通道选择表如表1所示:
表1 通道选择表
- ST为转换启动信号
- EOC为转换结束信号
- OE为输出允许信号
- CLK为时钟输入信号线
- VREF(+),VREF(-)为参考电压输入
三、硬件电路的设计
3.1温度检测原理的设计
3.1.1温度测量
温度测量原理图如图6所示。
图中Rt为负温度系数热敏电阻,R1=R3,R5=R7,R6=R8,R4=R2(R2为Rt在25℃时的电阻值),R5//R6>>Rt,由电路理论知识不难得到
(1-1)
由上式可知在25℃时,Vo=0V,适当调整R6(R8)和R5(R7)的比值,容易做到45℃时,Vo=Vc=5V。
事实上,只要取
(1-2)
式中,R为温度为45℃时Rt的值。从而温度在25~45℃变化时,输出电压Vo变化范围是0~5V。
可以根据热敏电阻阻值和温度的关系以及Vo和阻值的关系,事先制作一张Vo(V)~t(℃)的关系表,存入单片机内部ROM中,以便通过查表的方式根据电压值得到温度值。
3.1.2 温度部分电路图
温度部分硬件电路如图7所示。
图7 温度部分硬件电路图
3.1.3 A/D转换部分电路图
A/D转换部分电路图如图8所示。
图8 A/D转换部分电路图
3.2脉搏检测原理的设计
3.2.1 ST188光电传感器介绍
1.采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。
2.检测距离可调整范围大,4-13mm 可用。
3.采用非接触检测方式。
图9 底视图与内部电路示意图
左边是光电二极管的外形图,由发射二极管和接收管组成,如右图的电路示意图。A、K是红外发射二极管的正负极,C、E是接收管的正负极。
因此只要A极接高电平、K极接低电平,红外发射管就能发出红外线。可以在传感器加上外围电路来检测接收管的信号,进而确定是否接受到反射回来的红外线。
根据反射式红外光电传感器的原理和内部结构,我们可以设计下面的电路,电阻主要起限流作用,电阻值常设置R1=510Ω,R2=20kΩ。这样,如果接收管接收到反射回来的红外线,红外接收头导通,E管脚输出高电平,接近Vcc;如果没有没有接收到反射回来的红外线,红外接收头不导通,E管脚输出低电平,接近GND。
图10 ST188常用电路图
3.2.2 脉搏测量部分仿真
脉搏部分Multisim仿真如图11所示。
如图所示,电路的输入部分接上图的OUT引脚,利用LM358进行信号的放大、滤波和整流,将输入的信号转换成方波,方便单片机进行计数。
当输入1HZ,20mv的正弦信号,转换的结果如图12所示。
图11 脉搏部分电路仿真
图12 脉搏部分仿真结果
3.3 LCD显示电路的设计
3.3.1 LCD1602简介
1脚:Vss,电源地。
2脚:Vdd,电源正极。
3脚:Vee,液晶显示器对比度调整端,接电源端时,对比度最弱,接地时对比度最高。对比度过高会产生“鬼影”,使用时,可通过一个10KΩ的电位器调整对比度。
4脚:RS,数据/命令选择端,高电平时选择数据寄存器,低电平时,选择指令寄存器。
5脚:R/,读写信号线。高电平时进行读操作,低电平时进行写操作。4脚和5脚联合作用的功能如表2所列。
6脚:E,使能端。当E端为下降沿时,液晶模块写指令或写数据;当E为高电平时,为读状态或读数据。表3所列为4~6脚共同作用实现的功能。
7~14脚:DB0~DB7,8位双向数据线。
15脚:背光源正极。
16脚:背光源负极。
表2 4脚和5脚共同作用实现的功能表
| R/ | |
| | |
| | |
| | |
| | |
表3 4~6脚共同作用实现的功能表
| R/ | | |
| | | |
| | | |
| | | |
| | | |
清屏指令;
光标归位指令;
进入模式设置指令;
显示开关控制指令;
设定显示屏或光标移动方向指令;
功能设定指令等。
3.3.2 LCD1602与单片机连接电路图
1602与单片机连接如图13所示。
图13 LCD1602与单片机连接图
四、软件设计
4.1主程序流程图
4.2部分程序
部分程序如图14所示。
图14 部分程序
五、结论
通过这次设计的多参数床边监护系统,对单片机的认知更进一步,在刚开始的时候因为资料没有查找清楚,浪费了一个月的时间在DS18B20上面,经过老师的指导,才意识到温度传感器不能够准确的测量温度值,存在很大的误差。需要用到热敏电阻进行AD转换读取温度值。在得到新的方案后开始设计电路图进行编程,在编程仿真过程中,存在一个温度值一直无法准确读出的问题,经过自己一天的查找,发现问题在AD转换结束后的查表部分,所以经过半天的修改,因为调用子程序过多,导致问题的出现,所以及时的将程序改成顺序结构,减少子程序的调用,这么做虽然没有问题,但增加了程序,占用的内存也会变多,对于存在的这一问题将会在以后的学习中进一步改进。通过这次课设,学到了一下几个方面:首先。得到一个问题之后要及时的查找资料,找到最适合这个问题的设计,不能因为偷懒减少计算量而使用不精确的元件,其次就是遇到问题要冷静的分析问题,不能焦躁,一步一步的将问题拆分,细化,找到问题的所在。最后,要学会自主分析,不能轻信他人的语言,本次课设属于你自己的课设,别人只是给你提意见,并不能够完整的理解你所设计的问题,如果百分百的相信他人,那么你自己什么都没有学会,而且容易被误导。以上就是我对本次设计的总结。
附录一
源程序: