【《单片机控制的远程监护系统的软件程序设计案例》1600字】_第1页
【《单片机控制的远程监护系统的软件程序设计案例》1600字】_第2页
【《单片机控制的远程监护系统的软件程序设计案例》1600字】_第3页
【《单片机控制的远程监护系统的软件程序设计案例》1600字】_第4页
【《单片机控制的远程监护系统的软件程序设计案例》1600字】_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机控制的远程监护系统的软件程序设计案例目录TOC\o"1-3"\h\u380单片机控制的远程监护系统的软件程序设计案例 1172311.1从机采集模块设计 127671.2按键模块程序设计 2173021.3主机模块程序设计 322641.4OLED显示模块程序设计 5209921.5小结 7本章主要介绍远程监护系统软件设计思想,以系统整体程序设计框架、从机采集板程序设计框图和主机操作板程序设计框图出发,设计代码完成功能模块。本次软件代码采用C语言来进行代码设计。1.1从机采集模块设计单片机(从机)上电后,对AD0832及串口初始化,功能程序配置。从机模块进行各项数据采集。在采集按键信号,假如按下,主机将会进行接收,且将显示按扭序号,还将设置有蜂鸣器提醒。最后将采集的数据发送到接收站中。设计从机流程图如下图4-1所示:图4-1从机系统基本框图流程温湿度检测代码设计:上电后要等待不稳定状态过去之后,再发送起始信号,从机采集板上的DHT11温湿度传感器先后接收采集数值发送过来的第一个字节,然后依次接收采集来的数据,等待一段时间的低电平过去,直到接收为高电平才会跳到值1,使用移位法正确接收数据,随后进行数据处理,以便显示;采集板上的烟雾和PM2.5程序设计:先进行程序初始化,设置采样次数,计算采样的值,将数值进行AD转换,之后取平均采集的值;心率采样程序设计:初始化心率传感器模块的各部分功能代码,进行数据采集,将采集的从机检测的值运行处理,进行滤波复位后,输出心率数据,完成功能数据采集。1.2按键模块程序设计按键流程图如下所示:图4-2按键流程图设置有四个按键,分别代表四张床位号,首先先进行初始化,设置延时函数,随后进行按键判断,判断是否按下,按键判断代码如下:voidKeyTest_##X()\{\ if(K##X==0) /*检测按键KX是否按下*/\{\ Delay_Single_Key(1000);/*消除抖动一般大约10ms*/\ if(K##X==0) /*再次判断按键是否按下*/\{\ Single_KEY_Flag_##X=~Single_KEY_Flag_##X; /*状态取反*/\ }\ while(!K##X); /*检测按键是否松开*/\ }\ }不断扫描从机板中四个按键读取情况,来判断从机板上按钮是否按下,从而设置主机板上的蜂鸣器响应,进行呼叫提醒。1.3主机模块程序设计单片机(主机)上电后,对串口初始化,依次接收从机采集的各项环境数据,并通过液晶显示屏显示出相应的各个模块采集的值。接收从机上的四个按钮信号,假如按下,则会显示出按钮号且会进行呼叫提醒。最后将采集主机按键信号来控制从机板上的继电器的工作与否。主机流程图如下:图4-3主机系统基本框图流程先设置变量定义和程序初始化,传感器检测值开始设置,设置传感器检测值判断代码如下:if(RH>=50||TH>=30) { Beep=0;Delay500ms();Beep=1;} if(Y_Value>=120) { Beep=0;Delay500ms();Beep=1;} if(((Rigester_F[0]-0X30)*100+(Rigester_F[1]-0X30)*10+(Rigester_F[2]-0X30))>=120) { Beep=0;Delay500ms();Beep=1;} if(((Rigester_P[0]-0X30)*100+(Rigester_P[1]-0X30)*10+(Rigester_P[2]-0X30))>=120) { Beep=0;Delay500ms();Beep=1;}设置湿度大于50,蜂鸣器报警;温度大于30蜂鸣器报警提醒;烟雾浓度大于120蜂鸣器报警;PM2.5浓度大于120蜂鸣器报警提醒;病人心率大于120蜂鸣器报警提醒。设置两个按键分别来控制两个继电器工作,若按键按下则继电器正常工作: if(Single_KEY_Flag_1==1) { KEY_Value=0xA1; } else { KEY_Value=0xA0; } if(Single_KEY_Flag_2==1) { KEY_Value|=0xA2; } else { KEY_Value|=0xA0; }1.4OLED显示模块程序设计先设置初始化,定义函数接口和设置延时函数,写入一个字节的命令,初始化LED屏,设置显示模块,根据要求设计主机接收板上各项数据显示的位置,从而设置需要显示的各项代码数据。图4-4液晶显示屏显示流程图先设置清屏。然后设置数据写入。voidLcdIDisplay_Char(bitH,bitC,ucharX,uchar*CH) { if(C==1) {LcdWriteCom(0x01);}//清屏 if(H==0) { LcdWriteCom(0x80+X);//设指针起点 while(*CH!='\0') { LcdWriteData(*CH);//写数据 CH++;Lcd1602_Delay1ms(1); } } if(H==1) { LcdWriteCom(0x80+0X40+X);//设置数据指针起点 while(*CH!='\0') { LcdWriteData(*CH);//写数据 CH++;Lcd1602_Delay1ms(1); } } IIC_Write_Byte(0x08);//打开背光 IIC_Ack();}1.5本章小结本章通过软件设计从机和主机的整体框图入手,先将需要实现的功能通过原理框图,进行原理分析,设计正常工作的代码,通过定时器配置实现从机的数据采集,设计从机数据采集的代码,实现数据采集,设置从机按键输入代码,按键代码共有两个模块,即从机采集板上四个按键代码模块和主机两个继电器按键控制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论