基于52单片机多功能视力保护器坐姿矫正仪设计_本科论文.doc
- 文档编号:1948603
- 上传时间:2023-05-02
- 格式:DOC
- 页数:40
- 大小:1.40MB
基于52单片机多功能视力保护器坐姿矫正仪设计_本科论文.doc
《基于52单片机多功能视力保护器坐姿矫正仪设计_本科论文.doc》由会员分享,可在线阅读,更多相关《基于52单片机多功能视力保护器坐姿矫正仪设计_本科论文.doc(40页珍藏版)》请在冰点文库上搜索。
本科学生毕业论文(设计)
题目基于52单片机多功能视力保护器
坐姿矫正仪设计
姓名
学号
论文编号
院(系)
专业
指导教师
职称(学历)
完成时间
宁夏师范学院2015届本科毕业论文(论文)
摘要
本文提出了一种基于单片机的多功能视力保护器,该设计主要对视力保护器的硬件和软件进行了研究。
在硬件设计中主要利用了89C52型单片机作为主控芯片,外围还设计了超声波报警电路、光线强度报警电路和定时报警电路;在软件设计中利用C语言编程实现该多功能视力保护器。
该设计实现了当距离近、光线弱和时间较长时均报警提示的功能。
关键词:
单片机;超声波;视力保护
Ⅰ
Abstract
Thispaperpresentsamulti-functionaleyeprotectionbasedonmicrocontroller,whichisdesignedprimarilyforvisionprotectionhardwareandsoftwarewerestudied.Inthehardwaredesignofthemainadvantageofthe89C52microcontrollerasthemasterchipperipheralsdesignedultrasonicalarmcircuit,lightintensityandtimingalarmcircuitsalarmcircuit;theuseofClanguageprogrammingThisversatileeyeprotectioninsoftwaredesign.Thedesignachievedherfromthepast,allalarmfunctionslongerweaklightandtime.
Keywords:
MCU;ultrasonic;visionprotection
Ⅱ
目录
摘要 I
Abstract II
0前言 1
0.1选题背景 1
1总体方案设计 1
1.1主要器件的选择 1
1.1.1单片机的选择 1
1.1.2显示器件的选择 2
1.1.3光照强度检测模块选择 2
1.1.4报警提示模块选择 2
1.1.5电源稳压电路设计的选择 3
1.1.6坐姿检测模块的选择 3
1.2系统整体设计概述 3
1.3超声波的工作原理 4
1.4定时报警电路 4
2硬件实现及单元电路设计 5
2.1主控制电路模块 5
2.2电源电路设计 6
2.3蜂鸣器驱动电路 6
2.4按键电路 6
2.5光照强度检测电路 7
2.6显示模块 7
2.7超声波坐姿测距模块 7
2.8多功能视力保护器主电路图 8
3系统软件设计方案 9
3.1系统软件设计方框图 9
3.2系统主程序流程图 10
3.3各个软件模块关键代码 10
4系统的调试和结论 12
4.1硬件调试 12
4.2软件调试 12
4.3测试结果 13
4.4总结 14
参考文献 14
致谢 16
附录 17
0前言
0.1选题背景
目前,青少年视力低下,已成为国内外共同关心的公共卫生问题。
我们进行了多功能视力保护器的研究设计。
通过创造健康的读写环境和科学方式,避免因长期读写。
百年来人们沿用着“玻璃凹凸”的笨办法维系着人们对外界求索的目光。
既然治疗近视这么困难,人们为什么不听听2000年前中国中医经典的劝谏呢?
“是故圣人不治已病治未病”,防患于未然正和现在的“预防医学”不谋而合。
研究表明,造成近视99%的原因,源自于孩子们平时读书、写字时坐姿不标准,导致眼睛距离书本太近所致。
大部分孩子喜欢趴在课桌上读写,并且老师、家长屡教不改,很难扭转习惯,是家长一直头疼的事。
综上所述:
如果人们使用不正确的读书写字姿势从而会导致近视、脊椎弯曲变形、驼背、斜视以及颈椎病等。
有必要设计一款视力保护器进行防范。
从而纠正人们读写的不良姿势,习惯。
避免给人们的身心带来伤害。
尤其对学生群体而言,可帮助学生矫正坐姿,改善学习环境,培养学生良好的学习习惯,保护学生视力。
0.2本文的设计意义和主要内容
首先是对各单元电路进行设计,并选择合适的元器件。
通过进行参数计算后在选择电容、电阻等常用元件。
其中单片机芯片选用的是较为普遍的STC89C52,坐姿传感器选用超声波传感器,光线报警选用光敏电阻来实现,报警发声蜂鸣器发声硬件电路
。
本次毕业设计的研究内容是设计一个多功能视力保护器。
它具备以下功能:
1.当使用者脸部与桌面之间的距离小于30CM时,电路将发出声光提示;
2.当读写环境光线照度不足时,电路将发出声光提示;
3.当使用者设定的时间为50分钟时,电路会发出声光提示;
4.电路测光报警的灵敏度可调;
5.电路可靠,做出实物能够实现相应的功能。
真正帮助学生做到国家教委规定:
学生在读写时,应在一定亮度下,眼离读物一尺,身离书桌一拳。
35
1总体方案设计
1.1主要器件的选择
1.1.1单片机的选择
方案1:
当选用可编程逻辑器件CPLD 作为控制器时。
它具有以下优点:
规模大、密度高、体积小、稳定性高、IO资源丰富。
如果提高系统的处理速度必须具有并行的输入输出方式,对大规模控制系统的控制核心很适合。
但是此系统没有必要用复杂的逻辑功能,对数据的处理速度的要求也没有非常高。
使用及经济的角度考虑我放弃了此方案。
方案2:
整个系统的核心是采用STC89C52单片机,单片机就显现出来它的优势:
控制简单、方便、快捷。
STC89C52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,满足本设计也绰绰有余,更可贵的是STC89C52单片机价格非常低廉
。
因此,这种方案是一种较为理想的方案。
从方便使用的角度考虑,我选择了方案2。
1.1.2显示器件的选择
方案1:
用数码管进行显示。
数码管显示速度快,使用简单,显示效果简洁明了,但是显示单一,不能表达出很好的人机界面,因此我放弃用数码管显示。
方案2:
采用LCD1602液晶显示,LCD1602液晶具有显示方便、美观、显示信息量大的特点,现在市场上集成度高的显示屏在编程方面也较为简洁,所以LCD1602液晶显示符合设计要求。
综上所述我选择方案2。
1.1.3光照强度检测模块选择
方案1:
采用光照度传感器M124749,此传感器采用的是先进的电路模块技术开发变送器,用于实现对环境光照度的测量,输出标准的电压及电流信号,具有体积小,安装方便,线性度好,传输距离长,抗干扰能力强,量程可调等优点。
但价格昂贵,性价比不高,且不易购买。
方案2:
光敏电阻的工作原理:
如果有光线照射的时侯,电阻内处于稳定状态的电子会受到激发,变为自由电子,当光线越强的时候,产生的自由电子也会越多,电阻就会越小。
它具有两个优点:
价格低廉,性价比高。
所以比较上面两个方案,方案1它有设计精度和线性度,但是性价比和光敏电阻相比不如。
方案2具有很高的性价比而且同时也能满足设计要求,所以最终选用了方案2。
1.1.4报警提示模块选择
本系统为多功能视力保护器,对于报警器来说,其提醒的方式有很多种。
我综合考虑了一下两种方案。
方案1:
采用语音报警,可以实现语音提示用户休息,和姿势是否正确,直接明了。
虽然它有很大优点,但是它的价格非常贵和编程复杂,很不利于多功能视力保护器的普及。
经综合比较考虑,我放弃了此方案。
方案2:
选用蜂鸣器报警。
蜂鸣器,体积小,重量轻,装配简单,使用方便。
价格实惠,对推进视力保护器的普及有很好的优势。
能够较好的满足系统的要求,于是我选择了此方案。
1.1.5电源稳压电路设计的选择
方案1:
选用12V蓄电池稳压后为系统供电。
蓄电池的性能:
有较强的电流驱动能力和稳定的电压输出。
可是蓄电池的体积过于巨大,更换成本高,在报警器上使用极其不方便。
因此我放弃了此方案。
方案2:
采用3节1.5V干电池共4.5V做电源,给单片机,传感器供电。
通过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。
综上所述采用方案2。
1.1.6坐姿检测模块的选择
方案1:
采用红外热释电传感器,红外热释电传感器对红外线感应灵敏,当人把坐姿坐好,然后开启视力保护器,如果坐姿发生变化,热释电红外传感器有一个高到低电平输出。
虽然红外热释电传感器敏感度高,但是对于用在视力保护器上不合适,当人只是轻微的移动视力保护器也会报警,误报警的情况很多。
除非人坐在那一动不动,因此红外热释电传感器不适用于多功能视力保护器的坐姿检测。
经综合考虑,我放弃了此方案。
方案2:
选用超声波传感器检测,是通过测量人脸与桌面的距离来确定坐姿。
当距离小于30CM时就提醒使用者。
超声波体积小,重量轻,使用方便。
价格实惠,对推动视力保护器的普及有很好的优势。
为了更好的满足系统的要求,所以我选择了这个方案
。
1.2系统整体设计概述
图1-2系统结构框图
根据以上设计需要,系统采用了一个设计方案,系统结构框图如图1-2所示。
系统采用STC89C52单片机作为多功能视力保护器的核心控制单元,本系统通过光敏电阻采集光线信号,通过AD采集光线信号的强弱,把光线强度等级化,通过设定光线等级来确定光照不足时报警。
利用超声波测距传感器测出人脸部与桌面的距离,当小于30CM时发出报警声提醒。
通过单片机内部定时器计时,当使用达到50分钟时电路自动发出声音提示,提醒使用者注意休息。
系统采用的提示电路由三极管驱动蜂鸣器组成。
1.3超声波的工作原理
图1-3避障原理
如图1-3所示是超声波避障原理图。
如果超声波发射器向制定的方向发射超声波时,计时与发射时同时进行的,当超声波在空气中传播的时候,如果途中碰到障碍物就会立刻返回来,如果超声波接收器收到反射波就立刻停止计时。
超声波在空气中的传播速度大约为340m/s,根据所用的时间t,就会计算出发射点到障碍物的距离(s),即:
s=340t/2就是所谓的时间差测距法。
1.4定时报警电路
报警电路分为单片机控制电路和报警发声电路。
它是通过单片机的定时计数功能完成定时50分钟并使报警电路发出报警声,用以提醒使用者休息。
89c52单片机内有两个可编程的定时器/计数器,满足诸如对外部脉冲进行记数,产生精确的定时时间,作串行口的波特发生器等功能的需要。
它具有两种工作模式(计数器模式和定时器模式)和4种工作方式(方式0,方式1,方式2,方式3)。
其控制字均在相应的特殊功能寄存器中,通过对它的特殊功能寄存器的编制,可以方便的选择适当的工作模式和工作方式。
当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。
计数器在每个机器周期的S5P2期间采样引脚输入电平。
若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。
所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。
89c52内部的定时器/计数器被选定为定时器工作模式时,记数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1,因此,定时器/计数器的输入脉冲和机器周期一样,为时钟频率的1/12
。
本设计采用的时钟周期为6MHz,记数速度为500KHz,输入脉冲的时间间隔为0.5秒
。
2硬件实现及单元电路设计
2.1主控制电路模块
图2-1是单片机最小系统电路图,单片机的最小系统是有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用是给单片机提供一个时间基准,其中一条基本指令需要的时间为一个机器周期
。
图2-1单片主控电路
2.2电源电路设计
图2-2电源电路
电源电路采用7805稳压芯片稳压成5V给传感器,如图2-2所示单片机供电。
2.3蜂鸣器驱动电路
蜂鸣器采用三极管驱动,驱动原理图如图2-3所示。
图2-3蜂鸣器驱动电路
2.4按键电路
该系统采用4个按钮来设置参数,并设置光照强度报警值。
按键S1是复位按键。
电路如图2-4所示。
图2-4按键电路
2.5光照强度检测电路
采用光敏电阻作为光照强度检测,当光线变化时,光敏电阻的阻值是不同,然后分得的电压也就发生不同变化。
电路如图2-5所示。
图2-5光照采集电路
2.6显示模块
选用LCD1602液晶显示,显示电路如图2-6所示。
图2-6LCD1602液晶显示
2.7超声波坐姿测距模块
选用HC-RS04作为超声波模块,这个超声波模块在2cm-400cm的非接触式距离上具有感测功能,测距的精度为3mm。
超声波模块有超声波发射器、接收器和控制电路。
图2-7超声波模块实物
该超声波坐姿测试模块的工作原理:
用的是IO口TRIG触发测距,至少给它10us的高电平信号;这样模块会自动发送8个40KHZ的方波,如果自动检测有信号返回的话;就可以通过IO口ECHO输出一个高电平,超声波从发射到返回的时间就是高电平持续的时间
。
图2-7超声波模块实物。
2.8多功能视力保护器主电路图
如图2-8所示,这个设计有以下电路:
蜂鸣器报警电路、超声波接口、电源接口电路、按键电路、单片机主控电路、LCD1602液晶接口、AD模块组成。
此设计可以实现三个方面的功能:
一、光敏电阻检测光照强度,当有光照时,AD采集光线,判断光线的强还是弱,当光线暗时,蜂鸣器响,LED灯亮。
二、当超声波测量的距离设置一定时,如果测量的距离小于此距离时,蜂鸣器响,LED灯亮。
三、首先单片机初始化,在开启计时器计时,设定合适的时间。
当达到此时间时,蜂鸣器响,LED灯亮。
图2-8所示电路图
3系统软件设计方案
3.1系统软件设计方框图
如图3-1所示,本设计主要是利用C语言编程。
设计思路是以单片机为主程序,分别调用测光子程序、计时子程序、报警子程序、超声波子程序。
该方案的编程第一要确定主程序,第二要根据各硬件电路功能去设计子程序模块,最终把各模块嵌入主程序中。
图3-1系统软件设计方框图
3.2系统主程序流程图
如图3-2所示,系统开机后必须要进行初始化操作,使用者可以用按键调节光线强度的范围、学习时间倒计时的时间长短、超声波测距的距离长度的范围。
设置好需要的范围之后。
按下学习键,如果光线强度超过使用者设置的范围的时候,蜂鸣器提示和二极管闪烁,提醒使用者调整坐姿。
调整正确之后蜂鸣器提示取消。
同理如果超声波设置的距离范围超过使用者的设置范围,蜂鸣器提示和二极管闪烁,提醒使用者调整坐姿。
调整正确之后蜂鸣器提示取消。
如果使用者设置的倒计时时间达到是,同理蜂鸣器提示。
提醒使用者休息。
系统主程序流程图如图3-2所示:
如图3-2系统主程序流程图
3.3各个软件模块关键代码
1.超声波测距程序代码:
此程序主要讲了超声波测距的原理和测距的范围的设置,在测量距离是最重要的参数就是时间
。
voidsend_wave()
{
c_send=1; //10us的高电平触发
delay();
c_send=0;
TH0=0; //给定时器0清零
TL0=0;
TR0=0; //关定时器0定时
while(!
c_recive); //当c_recive为零时等待
while(c_recive) //当c_recive为1计数并等待
{
flag_time0=TH0*256+TL0;
if((flag_time0>40000))//当超声波超过测量范围时,显示3个888
{
TR0=0;
flag_csb_juli=2;
distance=888;
break;
}
else
{
flag_csb_juli=1;
}
}
if(flag_csb_juli==1)
{
TR0=0; //关定时器0定时
distance=flag_time0; //读出定时器0的时间
distance*=0.017;//0.017=340M/2=170M=0.017M算出来是米
if((distance>500)) //距离=速度*时间
{
distance=888; //如果大于3.8m就超出超声波的量程
}
}
}
2.显示模块代码
显示模块主要采用LCD1602显示器,LCD1602液晶具有显示方便、美观、显示信息量大的特点,程序主要说明显示器是怎么显示符号和数字的。
voidwrite_sfm_csb(ucharhang,ucharadd,uintdate)
{
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
write_data(0x30+date/100%10);
write_data('.');
write_data(0x30+date/10%10);
write_data(0x30+date%10);
}
4系统的调试和结论
4.1硬件调试
坐姿矫正议系统的电路比较大,涉及的模块比较多,其中包括光线强度检测模块,单片机最小系统模块,液晶模块,超声波测距模块,对于焊接方面是很重要的,大电路如果有焊接错误,它会造成很多麻烦和电路的检测问题。
因为电路的交线比较多,有各种锋利的引脚,所以会刺破带有包皮的导线,这样对电路导致短路。
问题1:
由于器件排版过于紧密,导致实际焊接时各个模块容易导致短路。
解决:
调整各个模块的间距,从而避免引脚相互连接。
问题2:
在焊接完之后,发现各个模块不工作。
解决:
在检查过程中发现电容由于焊接时间太长被烧坏了,导致整个电路不能工作。
4.2软件调试
坐姿矫正议是一个比较复杂的数字系统,它的程序比较复杂,在编写程序和调试时出现了较多的问题。
为了测试效果更好,首先在单片机实验平台上进行验证。
然后经过很多次的修改各个模块子程序,最终软件问题被解决。
在软件的调试过程中主要遇到以下两个问题:
问题1:
在烧入程序之后,发现液晶显示器上显示闪动。
解决:
首先我提高液晶显示器的驱动频率,驱动电路的频率从30Hz提高到50Hz以上,最后解决了此问题。
问题2:
当使用者按下按键时,设定数值与单片机读取数值不同,参数设置的范围与实际也是不一样。
解决:
重新检查程序,发现按键链接不对应,重新建立链接。
在程序中重新设置参数范围。
4.3测试结果
1.当光线强度正常时,超声波测距的数值设置成30CM时的测量结果:
如图4-1所示,此图是当超声波测距大于30CM时的测量结果。
此时蜂鸣器不响,LED灯灭。
如图4-2所示,此图是当超声波测距小于等于30CM时的测量结果,此时蜂鸣器响,LED灯亮。
如图4-1测量结果如图4-2测量结果
当光线强度正常时,超声波测距设置成30CM时的测量结果参数:
表4-1超声波测试结果参数
超声波模块与障碍物的距离(CM)
20
25
30
35
40
45
蜂鸣器(响或者不响)
响
响
响
不响
不响
不响
LED灯(亮或者灭)
亮
亮
亮
灭
灭
灭
2.当测量大于30CM时,光敏电阻检测光线强弱测量结果:
如图4-3所示,此图是当光线弱时及用手指遮住光敏电阻时的测量结果。
此时蜂鸣器响,LED灯亮。
如图4-4所示,此图是当光线强时及用光线强的台灯照射光敏电阻时的测量结果。
此时蜂鸣器响,LED灯亮。
如图4-3测量结果如图4-4所示测量结果
当测量距离大于30CM时,光敏电阻检测光线强弱测量结果参数:
表4-2光敏电阻测试结果参数
光敏电阻测量结果
光线强
光线正常
光线弱
蜂鸣器(响或者不响)
响
不响
响
LED灯(亮或者灭)
亮
灭
亮
4.4总结
通过本次设计完成了一个STC89C52单片机的视力保护器的设计,此系统选用STC89C52单片机作为多功能视力保护器的核心控制单元,通过光敏电阻采集光线信号,通过ADC0832把模拟信号转化数字信号。
最后把光线强度等级化,通过设定光线等级来确定光照暗或者太强时报警。
利用超声波测距传感器测出人脸部与桌面的距离,当小于30CM时发出报警声提醒。
通过单片机内部定时器计时,当使用达到50分钟时电路自动发出声光提示,提醒使用者注意休息。
在这个平台用单片机C语言进行软件设计,通过测试,硬件基本满足设计目的和要求,可以完成各项基本功能。
参考文献
[1]李群芳等.单片机微型计算机与接口技术[M].北京:
电子工业出版社,2005.
[2]张洪润,蓝清华.单片机应用技术教程[M].北京:
清华大学出版社,1997.
[3]南建辉等.MCS-51单片机原理及其应用实例[M].北京:
清华大学出版社,2003.
[4]江志红.51单片机技术与应用系统开发案例精选[M].北京:
清华大学出版社,2008.
[5]张元良.单片机开发技术实例教程[M].北京:
机械工业出版社,2011.
[6]周润景.单片机电路设计分析与制作[M].北京:
机械工业出版社,2010.
[7]刘凤然.基于单片机的超声波测距系统[J].传感器世界.2001,第8期:
29~32
[8]张建,李刚.超声波测距系统的研究与设计[N].电气电子教学学报.2005,第4期:
4~6.
[9]戴仙金等.51单片机及其C语言应用程序设计[M].北京:
清华大学出版社,2005:
35~43
致谢
随着论文的完稿,在大学的神话很快就要结束了,在宁夏师范学院的学习过程中,我感触很深。
在宁夏师范学院的学习过程中,我学到了很多珍贵的东西,对我以后的学习工作和人生道路有很大意义。
我的论文在赵老师的指导下完成的。
赵老师知识丰富、待人热情,常常和我交流想法,尽努力给予了我多方面指导。
在论文的过程中,老师提出了很多宝贵的建议,在此我向我的老师表示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 52 单片机 多功能 视力 保护 坐姿 矫正 设计 本科 论文
![提示](https://static.bingdoc.com/images/bang_tan.gif)