基于51单片机压力检测系统设计 - 图文(7)

2019-08-30 21:37

xx本科生毕业设计(论文)

开始判断是否有为0NY显示“无历史”读取显示结束

图4.5 查询历史数据流程图

4.4.4 数据统计分析子程序设计

预先手动存储八个以内的压力值(超过阈值亦可),当存储第九个数据时,存储的历史数据会自动将第一位存储的数据挤掉,后面存储的数据均依次向前移一位。按上下键选择“数据统计分析”,则系统会将这些压力值进行数据分析处理(求均值、最值、排序求中位数、判断有无众数),然后依次显示输出均值大小、最大值、最小值、中位数、若有众数,则显示出现几次,并且显示该众数;在四种情况下,比如abcdefgh型、aabbccdd型、aaaaaaaa型、aaaabbbb型则显示无众数。如下图4.6所示。

第 26 页 共 61 页

xx本科生毕业设计(论文)

开始计算均值计算最大(小)值计算中位数判断有无众数N显示“无众数”Y依次显示均值、最值、中位数、众数结束

图4.6 数据统计分析流程图

4.4.5 阈值重设子程序设计

系统开启后,系统会默认显示程序中预先设定的阈值9.999kg,按阈值重设键,键盘程序读取键码,调用该子程序,界面跳到修改阈值的界面,有个光标在第一个9的下面,可以通过按左右选择键,将光标左右移动,该光标停在任意数下面,就可以通过加减键对该数字进行修改,从而完成阈值的修改,最后按确认键即可跳转到主菜单。如下图4.7所示。

第 27 页 共 61 页

xx本科生毕业设计(论文)

开始开始读取显示当前阈值按键判断检测键盘+-↑↓←→更新数据及显示结束

图4.7 阈值重设功能流程图

4.4.6 人机交互子程序设计

人机交互单元包括键盘处理和12864显示模块两部分。人机交互是设计人性化、便捷操作的必要操作,除了硬件上的设计基础,还必须要软件的灵活控制,由于显示时序均以时序建模的方式实现了控制驱动,大大简化了软件设计,软件仅需要按要求给出拟显示的图像和位置即可。

(1)液晶显示控制程序设计

液晶显示控制程序框图如图4.8所示,液晶的总线接口是P2.0~P2.7,P2.7定义为CS片选口,每次对液晶的操作必须先拉高CS信号,P2.5定义为液晶复位接口。开始先对液晶显示初始化,功能主要是对液晶的背光时间,背光等级,字符显示格式,汉字显示格式,和界面的初始化等。初始化完毕,下一步对各项参数显示。

第 28 页 共 61 页

xx本科生毕业设计(论文)

液晶显示接口液晶初始化设置N初始化完毕否用户设定系统参数Y显示系统各项参数用户是否设定系统参数 图4.8 液晶显示初始化控制流程图

(2)键盘驱动程序设计

键盘处理程序为单片机控制口读取按键状态,消抖后得到按键状态,根据按键状态得到用户输入的键值进行相应的参数设定,也可以通过按键重设系统阈值。键盘驱动程序框图如图4.9所示。

第 29 页 共 61 页

xx本科生毕业设计(论文)

开始行扫描列扫描判断是否有键按下Y取相应键码N结束

图4.9 按键驱动流程图

矩阵键盘的处理方法比较简单,单片机上电后引脚默认电平为高点平。当按键被按下的时候变低电平,单片机读取到低电平状态后经过一段时间的延时消抖再去读取电平状态,确保有按键按下,因为有的时候会误读。然后去处理后续程序代码。键盘控制程序代码如下: #include \//按键扫描函数 :

//功能;只扫描一个按键,按键为号小优先 //返回键值:

// 1(save) 2(clearHistory) 3(to_zero) 4(limit) // 5(plus) 6(up) 7(sub) 8(return) // 9(left) 10(down) 11(right) 12(enter)

第 30 页 共 61 页


基于51单片机压力检测系统设计 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:廉洁文化进校园活动总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: