一、硬件设计
该血压计以压力传感器测得血压值,传入单片机,再将血压数据转换成数字信号,然后由控制核心单片机控制,经主程序处理数据之后,在液晶显示器上把数据显示出来。
基于单片机的电子血压计是传感技术和微电脑技术的结合体,它的结构应该能保证完成三项基本任务:①感应血流的压力;②判别高压和低压;③在屏幕上显示测量结果。
感受血流压力离不了传感器,民用电子血压计中所应用的压力传感器必须是高性能低成本的,灵敏度要高,测量范围倒不需要很大。在各种传感器中有一类是利用压电效应的,还有一种人工合成的被称为PVDF的压电薄膜,它是柔软的塑料。其次就是能根据血压变动及时抓住高、低压的微处理器。另外,血压会通过电子血压计的液晶显示屏进行显示。本系统基于51系列单片机来实现,因为系统没有其它高标准的要求,我们最终选择了STC89C52通用的比较普通单片机来实现系统设计。
二、设计功能
该血压计以压力传感器测得血压值,传入单片机,再将血压数据转换成数字信号,然后由控制核心单片机控制,经主程序处理数据之后,在液晶显示器上把数据显示出来。
三、设计原理图
如下:
四、软件设计
1、程序流程图
2、主程序源码
void main()
{
TMOD=0x11; //定时器初始化配置
TH0=0x3C;
TL0=0xb0;
ET0=1;
TH1=0x00; //定时器0初值赋值 高8位
TL1=0x00; //定时器0初值赋值 低8位
ET1=1; //打开定时器0中断允许
TR1=1;
OUT_Air;
Hz_Num=0;
// Sys_Mode=0;
LCD12864_init();
Pressure_Dat=0;
TR0=1; //开启定时器0
EA=1;
while(1)
{
// Bleed=0;
// Sys_delay(5000);
// Sys_delay(5000);
// Sys_delay(5000);
// Sys_delay(5000);
// Bleed=1;
// Sys_delay(5000);
// Sys_delay(5000);
// Sys_delay(5000);
// Sys_delay(5000);
Sensor_Dat=read2543(0);
Button_Code();
Detection_Code();
if(read_temp)
{
read_temp=0;
temp1=Temper();
if(temp1<0) temp1=0;
if(temp1!=0) temp=temp1;
}
Dispaly_Code();
}
}
单片机仿真制作: