資源簡介
血壓采集的原程序,包括整個工程在內(nèi)的所有,可以下載看看。

代碼片段和文件信息
#include?
#define?uchar?unsigned?char?
#define?uint?unsigned?int?
#include?“LCD_1602.H“
#include?“DS18B20.h“
#include?“ADC_Init.h“
#include?“stdio.h“
sbit?Motor=P2^0;//電機控制端口?高電平打開
sbit?Relay=P2^1;//電磁閥?1吸合
sbit?LED=P1^3;//指示燈
sbit?DataIn=P3^2;
sbit?KEY_Start=P1^4;//開始檢測按鍵
sbit?KEY_Stop=P1^7;//停止檢測按鍵
sbit?KEY_0=P1^5;
sbit?KEY_1=P1^6;
uchar?num=0;//定時器計數(shù)
uint?number=0;
bit?flag=0;//檢測血壓標志位
uint?countM=0;//脈搏計數(shù)
uint?MB=0;
float?idata?temp0=0;//讀取當前電壓對應的值
float?idata?tempS=0;
float?idata?temp;
float?idata?HighP=0LowP=0;
void?delay_ms(uint?t)
{
uint?i=0j=0;
for(i=0;i ?for(j=0;j<100;j++);
}
void?SendData()
{
uchar?idata?dat[20];
uchar?i=0;
sprintf(dat“x%3d_%2d_%2d_%.2fx“(uint)HighP(uint)LowP(uint)MBRead_Tempe());
while(dat[i]!=‘\0‘)//發(fā)送串口數(shù)據(jù)
{SBUF=dat[i];
while(!TI);//等待發(fā)送完成
i++;
}
}
void?Key_Scan()//按鍵掃描
{
uchar?i=0;
if(KEY_Start==0)
{
delay_ms(15);
if(KEY_Start==0)
{
while(!KEY_Start);
Motor=1;
Relay=1;
flag=1;
??write_string(00“?H:???mmHg“);
????write_string(01“L:???mmHg“);
write_string(91“???????“);
delay_ms(5000);
for(i=0;i<5;i++)GetADCResult(0);?
??????temp0=GetADCResult(0);?//獲取傳感器當前電壓值
}
}
if(KEY_Stop==0)//關閉測量
{
delay_ms(15);
if(KEY_Stop==0)
{
Motor=0;
Relay=0;
TR0=0;
flag=0;
LED=1;
while(!KEY_Stop);
}
}
?if(KEY_0==0)
{
delay_ms(15);
if(KEY_0==0)
{
?????MB=0;
?TR0=1;
write_string(120“???“);//清除脈搏顯示位置
while(!KEY_0);//松手檢測
while(number<=1199)//50*20?60=1200
{
if(DataIn)
?{
delay_ms(15);
if(DataIn)
{
MB++;
?????write_num(120MB);//顯示脈搏
while(DataIn);
while(!DataIn);
while(DataIn);
while(!DataIn);
delay_ms(10);
}
??}
???}
//MB*=6;
LED=1;number=0;
write_num(120MB);//顯示脈搏
}
//發(fā)送溫度?脈搏?高低壓信息
TR1=1;//啟動定時器1?波特率發(fā)生器
SendData();
TR1=0;//關閉波特率發(fā)生
}
?if(KEY_1==0)
{
delay_ms(15);
if(KEY_0==1)
{
while(!KEY_1);
for(i=0;i<5;i++)GetADCResult(0);?
??????temp0=GetADCResult(0);?//獲取參考電壓2.5v???2.5v對應的數(shù)字量假如是512
Motor=1;
Relay=1;
flag=1;
??write_string(00“?H:???mmHg“);
????write_string(01“L:???mmHg“);
write_string(91“???????“);
}
}
}
void?USART()?interrupt?4//串口中斷入口地址
{
if(RI)RI=0;//接收完成標志位
if(TI)TI=0;//發(fā)送
}
void?Usart_Init()//串口初始化?定時器初始化
{
IE=0X92;//1001?0011//開定時器0中斷?開串口中斷?開外中斷0
IP=0X02;//配置定時器0優(yōu)先級最高
SCON=0X50;//串口方式1?8位數(shù)據(jù)位
TMOD=0X21;//定時器0工作于方式?1?16位自動重裝?定時器1工作方式2?八位自動重裝?0101
TH1=TL1=0XFd;//9600bps?(256-fosc/(baud*384))
TH0=0X4C;
TL0=0X00;//定時50ms
TR1=0;//關閉定時器1?不使用串口
TR0=0;
}
//float?Get_V()//0.5-4.5?0-40kpa?0.1=1kpa?7.5*kpa=?mmHg
//{uchar?i=0;
// temp=0;
// for(i=0;i<5;i++)
//??GetADCResult(1);?//獲取參考電壓2.5v???2.5v對應的數(shù)字量假如是512
// temp=GetADCResult(1);//523;
//??temp=2.5/temp;//
//
// for(i=0;i<5;i++)GetADCResult(0);
//???????tempS=GetADCResult(0);?//2.0
// ?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????801??2015-06-05?16:26??健身數(shù)據(jù)采集\HardWare\ADC_Init.c
?????文件???????1288??2015-06-05?16:26??健身數(shù)據(jù)采集\HardWare\LCD_1602.C
?????文件???????8204??2015-05-02?15:58??健身數(shù)據(jù)采集\HardWare\NRF_24L01.C
?????文件???????1487??2015-05-02?19:59??健身數(shù)據(jù)采集\healthy.build_log.htm
?????文件???????5091??2015-06-05?16:18??健身數(shù)據(jù)采集\healthy.c
????.......?????71375??2015-05-17?21:46??健身數(shù)據(jù)采集\healthy.uvgui.admin
????.......?????72164??2015-06-05?16:27??健身數(shù)據(jù)采集\healthy.uvgui.LGL_QQ
????.......??????5436??2015-06-05?16:27??健身數(shù)據(jù)采集\healthy.uvopt
????.......?????14191??2015-05-13?19:39??健身數(shù)據(jù)采集\healthy.uvproj
?????文件????????809??2015-06-05?16:12??健身數(shù)據(jù)采集\inc\ADC_Init.h
?????文件???????2230??2015-05-07?21:35??健身數(shù)據(jù)采集\inc\DS18b20.h
?????文件????????601??2015-05-02?19:05??健身數(shù)據(jù)采集\inc\LCD_1602.h
?????文件???????3413??2015-05-02?15:45??健身數(shù)據(jù)采集\inc\NRF_24L01.h
?????文件???????2189??2015-06-05?16:26??健身數(shù)據(jù)采集\Listings\ADC_Init.lst
?????文件??????10657??2015-06-05?16:26??健身數(shù)據(jù)采集\Listings\healthy.lst
?????文件??????36129??2015-06-05?16:26??健身數(shù)據(jù)采集\Listings\healthy.m51
?????文件???????3460??2015-06-05?16:26??健身數(shù)據(jù)采集\Listings\LCD_1602.lst
?????文件???????4127??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????文件??????32665??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????文件???????1011??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????文件??????13955??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????文件????????152??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????文件??????22171??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????文件???????8545??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????目錄??????????0??2015-06-05?16:26??健身數(shù)據(jù)采集\HardWare
?????目錄??????????0??2015-06-05?16:12??健身數(shù)據(jù)采集\inc
?????目錄??????????0??2015-06-05?16:26??健身數(shù)據(jù)采集\Listings
?????目錄??????????0??2015-06-05?16:26??健身數(shù)據(jù)采集\ob
?????目錄??????????0??2015-06-05?16:27??健身數(shù)據(jù)采集
-----------?---------??----------?-----??----
............此處省略2個文件信息
評論
共有 條評論