基于单片机心率计程序.doc

基于单片机心率计程序.doc

ID:56101076

大小:33.00 KB

页数:16页

时间:2020-06-19

基于单片机心率计程序.doc_第1页
基于单片机心率计程序.doc_第2页
基于单片机心率计程序.doc_第3页
基于单片机心率计程序.doc_第4页
基于单片机心率计程序.doc_第5页
资源描述:

《基于单片机心率计程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include//包含头文件#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlong//宏定义#defineLCD_DATAP0//定义P0口为LCD_DATAsbitLCD_RS=P2^5;sbitLCD_RW=P2^6;sbitLCD_E=P2^7;//定义LCD控制引脚sbitXintiao=P3^2;//脉搏检测输入端定义sbitspeaker=P2^4;//蜂鸣器引脚定义voiddela

2、y5ms(void);//误差0usvoidLCD_WriteData(ucharLCD_1602_DATA);/********LCD1602数据写入***********/voidLCD_WriteCom(ucharLCD_1602_COM);/********LCD1602命令写入***********/voidlcd_1602_word(ucharAdress_Com,ucharNum_Adat,uchar*Adress_Data);/*1602字符显示函数,变量依次为字符显示首地址,显示字符长度,所显示的字符*/voidIni

3、tLcd();//液晶初始化函数voidTim_Init();ucharXintiao_Change=0;//uintXintiao_Jishu;ucharstop;ucharView_Data[3];ucharView_L[3];ucharView_H[3];ucharXintiao_H=100;//脉搏上限ucharXintiao_L=40;//脉搏下限ucharKey_Change;ucharKey_Value;//按键键值ucharView_Con;//设置的位(0正常工作,1设置上限,2设置下限)ucharView_Chang

4、e;voidmain()//主函数{InitLcd();Tim_Init();lcd_1602_word(0x80,16,"HeartRate:");//初始化显示TR0=1;TR1=1;//打开定时器while(1)//进入循环{if(Key_Change)//有按键按下并已经得出键值{Key_Change=0;//将按键使能变量清零,等待下次按键按下View_Change=1;switch(Key_Value)//判断键值{case1://设置键按下{View_Con++;//设置的位加if(View_Con==3)//都设置好后将

5、此变量清零View_Con=0;break;//跳出,下同}case2://加键按下{if(View_Con==2)//判断是设置上限{if(Xintiao_H<150)//上限数值小于150Xintiao_H++;//上限+}if(View_Con==1)//如果是设置下限{if(Xintiao_LXintiao_L+1

6、)//上限数据大于下限+1(同样上限值不能小于下限)Xintiao_H--;//上限数据减}if(View_Con==1)//设置下限{if(Xintiao_L>30)//下限数据大于30时Xintiao_L--;//下限数据减}break;}}}if(View_Change)//显示变量{View_Change=0;//变量清零if(stop==0)//心率正常时{if(View_Data[0]==0x30)//最高位为0时不显示View_Data[0]='';}else//心率不正常(计数超过5000,也就是两次信号时间超过5s)

7、不显示数据{View_Data[0]='';View_Data[1]='';View_Data[2]='';}switch(View_Con){case0://正常显示{lcd_1602_word(0x80,16,"HeartRate:");//显示一行数据lcd_1602_word(0xc0,16,"");//显示第二行数据lcd_1602_word(0xcd,3,View_Data);//第二行显示心率break;}case1://设置下限时显示{lcd_1602_word(0x80,16,"HeartRate:");//第一行显示

8、心率lcd_1602_word(0x8d,3,View_Data);View_L[0]=Xintiao_L/100+0x30;//将下限数据拆字View_L[1]=Xintiao_L%100/10+0x30

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。