《基于单片机的智能拐杖软件设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能拐杖软件设计.docx(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于单片机的智能拐杖软件设计学 院:专 业:姓 名:指导老师:信息学院自动化何子龙学 号:职 称:160104105592刘娇月教授中国珠海二二零年四月北京理工大学珠海学院2020届本科生毕业设计诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计基于单片机智能拐杖软件设计是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期: 2020 年 4 月 12 日单片机智能拐杖软件设计摘 要目前全球人口约为77亿,而中国是全球最多人口的国家,拥有14亿人口,同样的是中国人口残疾率也是世界拔尖的。根据世界卫生组织的官方
2、调查,目前全球盲人将近有4500万,而有各种各样的视力问题的人则多达1.8亿,重要的是全球每年有近700万新增盲人,而中国在16年时数据,视力障碍人数已经增长到1731万人。更可怕的是,由于人口增长趋势和老年化,如果不采取有效措施,未来十年,盲人与有视力问题的人的总数将扩大一倍。针对以上问题,此课题将会设计一款以STC89C51单片机为控制器,采用HC-SR04超声测距模块作为传感器,只做一款结构简单并且具有良好预警探路功能的盲人拐杖。关键词:单片机,传感器,超声波,智能拐杖Smart crutch software designAbstractAt present, the global p
3、opulation is about 7.7 billion, and China is the worlds most populous country with a population of 1.4 billion. Similarly, Chinas population disability rate is also the highest in the world. According to the World Health Organization, there are currently nearly 45 million blind people worldwide, and
4、 180 million people with various vision problems, and nearly 7 million new blind people worldwide every year, and China s data at 16 years, The number of visually impaired people has increased to 17.31 million. What is even more frightening is that due to population growth trends and aging, the tota
5、l number of blind and visually impaired people will double in the next ten years if effective measures are not taken.In view of the above problems, this topic will design a STC89C51 single-chip microcomputer as the controller, and use the HC-SR04 ultrasonic ranging module as the sensor. Make a blind
6、 crutch with simple structure and good early warning path detection function.Keywords: MCU, sensor, ultrasonic,Smart crutches目 录第一章 绪论11.1研究背景11.2 本设研究内容3第二章 方案选择42.1主芯片的选择42.2测距芯片的选择62.2.1声波传感器62.2.2光学传感器7第三章 硬件设计介绍93.1硬件介绍93.2仿真硬件展示103.3系统控制框图123.4设计整体仿真图13第四章 软件设计介绍144.1概述144.2开发语言的选择144.3程序设计步骤1
7、54.4程序逻辑关系174.5软件编程部分184.6软件测试与调试19第五章 总结22参考文献23致谢24附录25第一章 绪论1.1研究背景目前来说,由于全球盲人约有4500万人,各种各样的视力障碍者多达1.8亿人,不幸的是全球每年都会有700万人成为新增盲人。在中国的情况,我们国家是占有全球盲人数量最多并且盲人生活环境出行设备最为复杂的,比例约为全球失明患者的18%,数量则为500万左右,可以看出我国的失明群体和盲人助行需求十分迫切与庞大,更可怕的是,我国还有600万左右的低视力群体,这还不包括1000万儿童斜弱视眼疾群体,更重要的是,我国还保持着很高且快速的新增的数量和潜在的群体新增比率,
8、我国盲人上涨速度约为45万每年,从而看出潜或有风险成为盲人群体十分庞大。全国儿童青少年近视调查在2018年数据显示出许多问题,首先是我国年轻群体总体近视发病情况相当严重。在2018年的全国调查中,青少年即未满18岁群体中近视人数约53.6%,即每两个中就有一个是近视的。其中,6岁的儿童即未进行义务教育前就近视的约为14.5%,当到了小学读书阶段近视的占比就提升为36.0%,这种情况到了初中阶段翻倍增长,约占比为71.6%,到了高中阶段不近视反而成了少数群体,近视与不近视学生呈现5:1,比率则为81.0%,学生因学业的用眼程度使眼睛近视的防控举步难行。二是中小学近视的增长速率突出并且难以控制。青
9、少年群体从小学到初中的过程中,近视学生比率的情况随着年级快速爬高,小学生从入学到毕业的近视比率从15.7%快速爬升到59.0%,青少年初中入学到毕业也从64.9%快速提升77.0%,显而易见中小学阶段是防控近视的关键时间段。三是高度近视是引发失明的主要问题之一,因此高度在近视的问题是我们不可忽视的事情。高中毕业的青少年群体中视力达到600度高度近的学生,在此年龄段的的近视群体中的比率居然高达21.9%,然而致盲性眼病很大部分是由于高度近视而得不到康复护理或置之不管发展而来,十分容易导致各系列严重的并发症。 导致这类非先天性视力障的主要原因是,我国青少年群体大部分每天眼睛放松的户外活动远远不足2
10、个小时,这比例约67%,甚至有29%的学生是没有1个小时的眼部课外放松时间的;大概有73%的青少年,每天睡眠时间更是不能达到青少年应有健康时段,这很大程度是因为学余时间重度使用手机或沉迷于电子游戏导致的。而老年化导致视力障碍甚至失明也是主要失明群体人数暴增原因之一。总所周知,我国拥有庞大的老年人群体,这是我国人口结构老龄化所致,而老年人白内障患者的数量也在逐年累增,而白内障、角膜疾病这些眼科疾病正是致盲的一大原因。目前中国每年新增的眼病患者200多万例,这200多万名患者中虽然不全是、但绝不乏因疾病致盲而无法恢复的例子。虽然很大部分盲人可以通过眼角膜捐赠等医疗手段来治愈失明,但是目前来说,我国
11、目前大约有200多万的盲人患者在等待医疗,但是治疗的方式是需要眼角膜的移植,可是眼角膜的病人需求远大于实际提供的数量,目前我国角膜的移植手术平均每年完成七千多例不到八千。拿我国最发达的北京来说,此地的同仁医院眼库大概有4万多的眼角膜捐献登记的志愿者,绝大部分是年轻人,比例为90%。然而眼角膜捐献不会无缘无故,而是逝去的人留下的余香,但年轻志愿者和其他捐献者的眼角膜源何时能捐献这是一个很难确定的事情,这是代表逝去和重生的十分值得期待但也矛盾的更可能存在变化难以确定的,因此远水是解不了近渴的,为何捐献群体会有如此大的年龄差异,且人数稀缺,一个是很大程度是因为“身体发肤受之父母”的封建且根深蒂固的传
12、统的观念,第二则是我国进行眼球或角膜的捐献系统的十分繁琐,眼角膜的唯一合法捐献途径是公民去世并自愿捐献器官。就现在而言,我国医疗系统中器官捐献的体系与角膜的捐献系统还没有完善的并网互通信息,因为无法简单便捷的给失明患者获取角膜。国内的眼库运作信息系统无法跟上器官捐献系统,是处于医疗中的孤立无援或难援的困境。各大医疗机构只能各自的找眼角膜源。国内的医院大多都是处于眼角膜库空仓的情况。而且通过昂贵的治疗也不是每一个盲人能支付得起的。所以我们应该在社会中提供更大的帮助与盲人群体。盲人道因而就由始普及,但目前来说,盲道设计与规划也没有十分的重视,反而很多是市政面子工程,例如弯弯曲曲的盲行道,美曰其名的
13、说是美化道路,道路车辆乱放占道,盲道被井盖、墙壁、绿化树打断戛然而止、各种残破损坏等。更严重的是,市民本身的不重视,道路悬挂绳索,店铺物品外放占道,这是属于事不关己的漠视态度,这早在多年前就有的各式不文明现象,对于盲人来说,盲道似乎并不能给他们带来太多实际的帮助。因而外出的盲人更多时候是带协助工具或帮手,现在常见的导盲犬就是解决盲人导航的方法之一。发达国家失明人士大多都会去用导盲犬解决导路问题,这也与他们社会公共社区接纳犬类动物有关,在中社会环境来说,宠物犬犬类虽然已经很融入人们城市社区,但是很多公共场所依旧有所顾忌,目前在国内最新修订的中华人民共和国残疾人保障法规定中:“盲人携带导盲犬出入公
14、共场所,应当遵守国家有关规定。”可是现在具体的规定究竟是什么还没有明确的规范确定。局部的确来说,如北京市这种国内最发达的城市来说,五万多名盲人在此生活,但是服务盲人的导盲犬数量却不到三十只,在东城区盲人与导盲犬比例居然是4000:1。目前来说,只要有1%的盲人拥有导盲犬,即可当做导盲犬普及成功,这是国际导盲犬联盟规定规定的。想而易见,北京都远达不到这个标准,更不用说不如北京的小城市。并且,导盲犬如果大量进入人流密集的公共场所则会引起一系列的社会问题,例如,高铁巴士地铁等主要交通工具,这些地方人群结构十分复杂,有行为难以规范的小孩,行动缓慢的老人等,很难确保他们与导盲犬之间能否不发生任何冲突。乘
15、务员一般来说保障大部分乘客的权益而委曲求全,导致本是弱势群体的盲人与导盲犬处于相当尴尬的局面。在餐厅类这种一样复杂的人群环境更为不乐观,因为导盲犬的毛发与体味影响其他客人饮食这类新闻也常有。所以盲人就不能和普通人一样,享受社会的各种服务了吗?非也!首先从道德关怀的角度来说,为了更好地提供盲人便捷的帮助,与解决其他各种因而产生的社会矛盾,设计一款以STC89C51集成电路芯片作为控制器,并采用HC-SR04超声测距模块来作为距离探测的传感器,做一款结构简单并且具有良好预警探路功能的盲人拐杖。其原理是将声波的技术应用到盲人的手杖上,首先这款产品原理简单且造价便宜,能够为盲人解决路面障碍物探行报警等
16、基本出行难题,首先通过拐杖产生超声波探测前方物体,当前方有物体,声波被反弹到拐杖的声波接收器,则会发生警报提示提请盲人,用这样的方式提高盲人路面路况的具体情况来使出行安全。相比于难以确定实际情况的导盲犬或者路况探测设备,我们的盲人拐杖的优势就十分突出,功能更是强于以前传统的盲人探路棒,便携性更不容置疑,比活体动物导盲犬方面多且争议少。从市场角度来看,盲人的数量群体非常庞大,并趋于快速上升的状况,这此设计来说,制造成本也不贵,以至于在庞大的盲人市场上也会得到产品更好更低得普及成本。1.2本设计的研究内容以STC89C51单片机为控制器,采用HC-SR04超声测距模块作为传感器,设计一款结构简单并
17、且具有良好预警探路功能的盲人拐杖。主要功能有:通过声波探测前方障碍物并且是否报警;拐杖倒地长后定时报警1根据设计要求,对设计方案做出不同零件选择与比较得出最佳方案。2电路设计以及仿真调试3单片机的程序开发。第二章 方案选择根据设计要求,写出详细的业务逻辑,再根据可行性来罗列出所有的方案,从性价比、开发难度出发,选择出最优的方案,本设计目的是在设计一个盲人拐杖射波探测系统,能够有效判断障碍物,即使声波系统来检测,另外,盲人倒地或突发情况后需要建立人机交互系统,对于人机交互来说,需要选择输入方式,即告诉机器要怎么做,以及机器选择回馈方式,即机器告诉我们怎么做,因此,对于不同的模块、功能,都要进行方
18、案的比较与选择。2.1主芯片的选择目前市场上占有率最大的是51系列的单片机,因为产品的造价成本低结构简单功能齐全,指令系统的规范,重要的是生产渠道的成熟和普及,有应用市场普及的优势。全世界众多芯片公司有研发51芯片的核心专利,并且还在不断升级完善技术,久而久之已经形成了庞大的体系,直到现在仍在不断翻新,使单片机的设计世界注入源源不断的新鲜血液。51系列有一套全面的软硬件按位操作系统,并且它的能效功耗比相当优秀,性能强劲。在功能上他也相当易懂完整容易使用,它的处理对象不是字或者字节,而是位。 它不仅可以处理芯片上某些特殊的功能寄存器的某个位,还能处理传送、置位、清零、测试等,还可以对该位执行逻辑
19、运算。 它的功能非常完整并且易于使用。尽管其他类型的微控制器也具有位处理功能,但很少能够执行位逻辑运算。51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为OOH7FH),使用极为灵活。折旧功能为设计者提供了很大的便利,因为复杂的程序运算会有很多分支需要建立许多标志位。 在运行过程中,需要将相关标志位进行置位、清零或检测,以确定程序的运行方向。而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。51系列的另一个优点是乘法和除法指令。八位除以八位的除法指令,商为八位,精度
20、嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。51系列的I/O脚的设置和使用非常简单等。STC89C51的引脚功能介绍:(1)4 KB芯片程序存储器(2)128字节片上数据存储器(RAM)(3)32个字节专用于注册库(4)16位可位寻址存储器(5)3个内部和2个外部中断。(6)8位数据总线(7)80字节的通用存储器(8)128个用户定义的软件标志。(9)4家注册银行。(10)16位地址总线(11)16位定时器(通常为2,但可能有更多或更少)。(12)位和字节可寻址RAM区域为16字节。(13)
21、四个8位端口(短型号有两个8位端口)。(14)16位程序计数器和数据指针。(15)1微秒指令周期,12 MHz晶振。(16)8051的变体还可以有一些特殊的特定模型,如UART,ADC,Op_Amps等,使其成为更强大的微控制器。该芯片引脚有40个。在单片机的40个引脚中,电源引脚2根分别为VSS用于接低电平,VCC接电源,有2根引脚为外接晶体振荡器,控制引脚有4根以及4组8位可编程I/O引脚有32根。各个引脚的功能为:VCC(40):电源输入,接5V电源GND(20):接地线XTAL1(19):片内振荡电路的输入端XTAL2(20):片内振荡电路的输出端RST/VPP(9):用于将微控制器复
22、位到其初始值。ALE/PROG(30):地址锁存的允许信号PSEN(29):外部存储器的读选通信号EA/VPP(31):程序存储器的内外部选通,接高电平从内部程序存储器读指令,接低电平则从外部程序存储器读指令。PO口(3932引脚):8位双向I/O口线,名称分别为P0.0P0.7P1口(18引脚):8位准双向I/O口线,对内程序存储器校验和编程时用做低8位地址总线,分别为P1.0P1.7 P2口(2128引脚):8位准双向I/O口线,对片内程序存储器校验编程时用做高8位地址总线,分别为P2.0P2.7 P3口(1017):8位准双向I/O口线,可以提供特殊的第二编译功能,分别为P3.0P3.7
23、图2.1 STC89C51单片机最小系统2.2测距芯片的选择2.2.1声波传感器首先,超声波传播的速度与传播介质的密度有关,这里介质一般为空气。 适当的升高温度或者温度变化时,测量值可能会发生偏差。 当温度低至零摄氏度时,超声波的传播系数为332 m / s。 在十摄氏度时,超声波的速度为350 m / s。 在这种情况下,仅测量300米以内的目标时,由于声速变化引起的误差将达到15米,也就是说,每米约5mm的误差的确是业界难以忽略的距离,但这仅仅是用作引导装置,即在知道超声波传播速度C时,使用超声波发射器将超声波发射到前方,当声波遇到障碍物或者测试物后,声波将被反射回接收装置,反射波将被超声
24、波接收器检测接受到。 利用声波到物体后反射回来的时间记为s,然后量出模块到障碍物体的距离记为d,即d=340t/2。因此,对于步幅接近半米的正常人来说,5mm的距离是一个无害的数字。因为结构简单,成本便宜,因而这次设计选择这款探距芯片。声波测距原理十分简单,如图2.2。HC-SR04超声波收发模块的技术参数1:使用电压:DC-5V2:电平输出:高5V3:电平输出:低0V4:测试障碍物距离:0.2M-4.5M5:静态电流:0到2mA6:感应角度:水平夹角上下各7.5度7: 高精度:误差可达0.2CM内图2.2 声波测距原理图图2.3 光学测距原理图(激光三角法)2.2.2光学传感器首先,光速比声
25、速快得多,这使得光学传感器的响应速度比超声传感器快得多。 光传感器可以轻松实现许多只能精确到厘米级的超声波传感器测距精确度,光学传感器精度级别可以轻松达到毫米级别,实际场景上光学传感器与超声波传感器相比,光学传感器在拐杖的应用上干扰性有待斟酌,例如碰到雾天、雨天或玻璃类障碍物的实际情况,但理论上来说,光学探测比声波探测更要精准, 无需考虑温度和风速等变化,并且由于光的传播比声波的可能性小,因此超声波传感器与光学传感器相比,后者测得的最大距离远远超过了前者。光学测距模块运行原理是:先由发射模块中的激光二极管向前方发射激光,物体接收到光线后光线向周围反射,当这时接收模块接收到部分反射的光线后,经雪
26、崩光电二极管传递信号源,其中雪崩光电二极管是一种能放大信号的光学传感器,因此微弱的光信号也能发挥作用。只要记录光发出到返回被接收所经历的时间,也就是如声波传感器一个原理计算距离,即可测定目标距离。在具体的计算环境中,只有精确的测出传送时间才能有效计算距离,因为光速比音速快相当多。因为光速相当快,即使按光速约为3X108米每秒来计算,要想使距离误差达到1毫米,则测距模块与电路之间的误差识别要在0.001m/(3X108m/s)=3ps之内,要分辨出3ps的时间,从物料成本来看,就会大大提高了制作成本,不利于市场普及,对制造拐杖来说造价太高。市面常见的光学测距传感器工作原理如图2.3所示。图2.4
27、 控制系统硬件电路原理图最终硬件选择如图2.4所示,芯片采用STC89C51,测距模块采用SRF04声波传感器,各种零部件组成,电路原理图连线如图2.4,第三章 硬件设计介绍3.1硬件介绍表3.1 硬件清单元件名参数数量万用板/PCB空板1电阻1K欧1电阻10K欧1晶振11.0592MHz1瓷片电容30PF2排阻10K欧(103)1电解电容10uF1IC座40Pin1LED红色1插针单排20Pin2插针双排2*31DC插头5.5*2.11自锁开关8*81电位器10K1SRF044脚1蜂鸣器有源1STC89C51/STC89C5211602显示16*21轻触开关3本次设计材料主要有STC89C5
28、1单片机、1602显示屏、万用板、电阻、晶振、瓷片电容、排阻、电解电容、IC座、LED灯、插针、DC插头、自锁开关、电位器、SRF04声波传感器、蜂鸣器、轻触开关等。而数量与参数如表3.1硬件清单所示。3.2仿真硬件展示图3.1 LM016L仿真显示屏和实物1602A显示屏上图为仿真LM016L和实物1602A的一个显示屏,主要作用仅是仿真过程中设计距离时用于模拟障碍物报警距离而用,实际实物并不会用得上。图3.2 SRF04声波传感器上图为声波传感器,在此模块设置中范围是2CM到4.5M可触发报警的距离。图3.3 蜂鸣器报警图此为蜂鸣器的报警装置,当距离小于30cm时蜂鸣器接受到控制器发送的命
29、令,触发蜂鸣器模块工作。图3.4 复位电路图图3.5 晶振电路图上图为最小系统的复位电路与晶振电路,当程序运行出现错误或者使系统进入锁死的时候,为了解除问题可以使用复位电路的复位功能。晶振电路是给单片机提供时钟输入,是时钟电路中十分重要的部件,没了它工作频率会不稳定从而容易造成相关设备的波动,没有时钟单片机不可工作。3.3系统控制框图电源模块STC89C51单片机开关显示屏声波传感器蜂鸣器图4.7 整体硬件逻辑图图3.6 硬件运行流程图开始声波扫描报警按键中断是否有障碍物结束YN图3.7 声波报警工作流程图本设计系统控制如图3.6,图3.7所示,由电源提供单片机5V电压,单片机驱使声波传感器不
30、断扫面前方障碍物数据,在仿真过程中添加了显示板提供距离数值方便了解测试情况,假如障碍物在设置值30CM以内,会驱动蜂鸣器报警,而开关设定是用于拐杖不使用时靠墙或放在物体附近时可以手动关闭报警功能。3.4设计整体仿真图图3.8 仿真电路设计图图3.8所示的是本次实验的仿真图,本系统主要功能运作模块由SRF05声波传感器、STC89C51单片机、SMC1602A液晶显示模块、蜂鸣器、晶振回路和复位电路组成。第四章 软件设计介绍4.1概述硬件系统需要软件系统作为驱动力,拥有软件系统这个灵魂,硬件系统这个躯体才能执行命令。硬件系统与软件系统同时运行,工作中两大系统皆不可缺一。4.2.开发语言的选择目前
31、,执行设计方案的开发语言有C语言、JAVA、C+以及python等,它们都有自己的特点,都有自己擅长编程的领域。此设计的主控芯片为STC89C51单片机,目前能够对STC89C51单片机进行程序设计的语言只有C语言、C+、汇编语言以及python(micropython)语言。对于这几种语言,在MDK上运行的要求也会不一样,因此以下列举了几种方案:方案一:采用C语言,C语言具有地层结构并且设计功能十分强大的设计功能,加上他清晰的逻辑层次编译设计,因而人们常常编译出高效、质量优良的代码。因为以上特点,用C语言来编程软件即可极大缩短研发周期,结构层次清晰还能便于他人改良和阅读。方案二;采用汇编语言
32、,汇编语言是最为底层的编程语言,在遇到BUG时候,能够直接针对底层进行修改,但是这种语言编写繁琐,需要写更多的代码完成相同功能,一般,汇编语言主要用在更加底层的任务编程上面,比如磁盘的修复等。方案三:采用python(micropython)语言,在单片机中移植micropython库,这种方式一般用在人工智能上面,比如机器学习、图像识别等,优点是对于人工智能类的需求可以更适配,但是普通的需求却难以胜任。方案四:采用C+语言,对于单片机编程,C+相比C语言来说扩充了自定义类型,可以用class对任意对象封装成模板,然后建立实物对应的对象,此语言和C语言不通,主要是面向对象,C语言主要是面向过程
33、。对于此设计,并非人工智能设计,因此排除方案三,C+相较于C语言更为复杂,虽然强大,但是适用性不强,汇编语言比较偏向底层,在遇到BUG时候,能够直接针对底层进行修改,但是这种语言编写繁琐,需要写更多的代码完成相同功能,C语言也是一种偏底层的编译型设计语言,拥有较为底层的语法结构以及强大的程序设计功能,它是一个运行快、用于底层硬件编译、移植和可读性简单的语言,可以操作对象为系统的硬件。可以更快地完成系统软件,并且修改或者扩编便捷,可读性更强而且更利于做出高性能且大规模的系统应用。因而,针对以上的对比与选择,智能拐杖系统选择了C语言进行程序设计。4.3程序设计步骤对于多通道检测的数字频率计的软件调
34、试就是对KEIL5软件的调试,此软件编程代码相当高效,有代码紧凑、简单易懂,在大型软件的开发具有很大的优势,是一款功能强大的C语言软件开发系统,其特点是结构简单、功能齐全、易读易维护。因而使用KEIL可使代码更为紧凑而提高编程效率。开始编程前,需打开软件后需要新建一个工程文件。我们可以对这个新的工程进行命名,软件的创建新工程的选项为project-New uvision project,完毕后即可进入编写新工程文件的界面。如图图4.1 创建新工程文件新工程创建完毕后,需要选择编程的芯片,例如本次编程的芯片为51系列单片机,即可选择51选项,点击软件的“File”选项即可完成对空白文档的建立。创
35、建新文档如图图4.2 创建新的文档在新文档中,我们就可以编写代码了,编写代码的第一步就是定义头文件,带有“include”的第一行代码就是定义程序的头文件。由于是首次尝试编写代码,因此在编写过程中及编写完成后都需要仔细的检查,确保代码没有问题,顺利编译。编译完成,通过编译后会出现镜像文件,这个镜像文件就是要烧录到单片机内的程序文件。 程序编译通过并实现所需的功能,这样才能证明软件调试的成功,虽然代码有几百、几千行,但只要认真对待、认真检查就会取得最后的成功运行。在完成硬件的焊接和软件的编写之后,软硬件相结合的调试方法是十分重要的,也是必不可少的一个环节。在本章中,详细的说明了软硬件的调试过程,
36、并且对调试的结果进行了分析,验证了本系统的软件和硬件的最终结果。系统采用KEIL5按键进行编程,在程序完成后,可以在编译器中查找错误,如果有错误可进行修改。如果程序编译不通过,可以进行程序断点调试,在软件调试工具栏中对程序进行逐句调试。编写好程序代码之后,可以点击编译。在编程中,由于编程疏忽,经常会写出语法错误,在编译器中会提示相关的错误信息。经过多次不屑努力,终于把错误都修改完,编译成功之后,“0error”,这样可以生成hex镜像文件。烧录STC89C51单片机程序,通过KEIL5软件进行烧录,加载镜像文件,实现烧录刚才编译好的hex镜像文件。4.4程序逻辑关系告警查询显示查询串口接收中断
37、处理程序入口获得超声波传感器数据查询按键是否按下处理按键事件图4.3 程序引用关系图查询按键是否按下获得超声波传感器数据显示查询N是否有障碍物Y串口接收中断处理串口发送中断处理图3.3图4.4 函数运行关系流程在仿真中,程序初层由程序入口,分别引用告警查询、显示查询、串口中断查询、获得超声波传感器数据、按键查询等构成。如图4.3所示,其中按键事件关系如图4.4。4.5软件编程部分图4.5 声波模块代码本编程设计核心主要是声波部分,代码为图4.5。首先开启定时器TIME2,先对数据进行清楚,避免数据采集出错,设置标志位,当遇上障碍物时,标志位置为1,对数据进行采集。其中,根据超声波模块使用手册可
38、知距离计算公式为(12 / 11059200) * 344.4/2 )*100,乘以100表示转化为厘米级,12表示12个时钟周期。测距局部编程代码如下:uint16_tget_ultrasonic_distance(void)uint16_tt;uint16_tdistance;clear_timer2();_disable_irq(); /关闭中断,测距更准ULTRASONIC_TRIG=1;ultrasonic_delay50us();ULTRASONIC_TRIG=0;while(!ULTRASONIC_ECHO);TR2= 1; / 启动定时器运行while(ULTRASONIC_E
39、CHO);t=(uint16_t)(timer2_ticks_now();_enable_irq();distance=t*0.01870768; /(12/11059200)*344.4/2)*100使用手册提供returndistance; 图4.6 函数调用图4.6软件测试与调试当程序编辑完成后,后续调试极其重要,是设计中必不可少的环节,当发现错误即要立即修改,编译不成功,则可尝试程序断点调试,程序组局调试可以再软件调试工具栏中找出。当程序完成后进行编译。如图4.7图4.7 程序编译在设计过程中,往往会有很多疏忽,导致语法上错误,例如少了“;”的基础错误,都会导致编译失败,出现错误提示。
40、如图4.8图4.8 错误检查经过多次修改,最后编译成功后得到“0error”,即可尝试仿真实验,进一步查看实际调试效果。图4.9 编译通过当我们转至仿真实际功能测试中时,仿真中的声波模块能自动调节声波探测距离,即模拟物体所在距离,如图4.10,此时模拟物体距离在前方35CM处,这时声波模块设定报警距离低于30CM报警,因而这时蜂鸣器没有报警,而报警距离可以通过按键K0增加设定值,K1减少设定值。图4.10 仿真功能测试在实物对软件编程的调试检验中,我们分别测试了五组数据,分别是模块测得距离为10/30/50/70/90CM时,实际测得距离分别为多少,而数据如表4.1表4.1 距离探测报警实况表
41、Distance实际距离误差距离10.0CM10.5 CM0.5 CM30.0CM31.5 CM1.5 CM50.0CM52.0 CM2.0 CM70.0CM72.4 CM2.4 CM90.0CM93.8 CM3.8 CM经过多次测量的数据表明,此设计能够满足要求,并且精度对实际使用需求足够满足,存在的误差都属于正常范围内。图4.11 距离误差测试第五章 结论超声波测距,所使用的原理十分明了且非常简单,即利用超声波的收发模块当作传感器,作为核芯计算机的是51系列单片机,首先测定超声波的传播的时间来计算出声音传播的距离,然后在显示器(数码管显示器并不是给使用者观看,更多的是给开发者以便利)和蜂鸣
42、器上显示或报警的形式体现出来。但其实真实情况下,盲人却并不只是依靠了这种相对智能的拐杖即可完全的安全避开这些一切的障碍,例如生活中下垂的树枝,满地布满污泥影响行人的路况,这就需要更复杂的更精准的系统来完成检测。所有其实,最重要的还是我们的盲道的合理的设计和严格的施工,这才是盲人出行安全最大的前提,实际中,无论是实际中数量很少很少的久经训练的导盲犬、亦或是多精准的声波、光波的探测拐杖甚至是语音功能的盲人导航,都难以媲美一条合理合情设计的绿色盲人的通道。或是无论我这个多么微不足道的盲人拐杖的设计,还是已经投入了盲人市场并且获得诸多的大奖的智能的设计、产品,最终结果也是稍微的能对盲人提高辅助的工具而
43、已。本次设计从方案选择刀后期实物的焊接制作都花了很多时间去了解查找,而难点在于元器件搭配到电路板焊接制造实际上考虑的因素有很多,当然编程编辑与编译调试改错更是繁琐,需要多个模块协调等。因此本次设计我从阅了所学课本书籍和网上各知识点,确定了设计方向,完成了这个设计并撰写了报告。参考文献1廖常初.S7-200PLC基础教程M.2版.北京:机械工业出版社.20092蔡杏山.西门子S7-200PLC技术M.北京:人民邮电出版社.20103郑凤翼.图解PLC控制系统梯形图和语句表M.北京:人民邮电出版社.20104 李道霖.电气控制与PLC原理及应用(西门子系列).北京:电子工业出版社.20045 亢俊
44、健,贾丽萍,等.光电子技术及应用M.天津:天津大学出版社.20076 张福学等.传感器敏感元器件大全.北京:电子工业出版社.19907 陈建明.电气控制与PLC应用,电子工业出版社 20078 邓则名.电器与可编程控制器应用技术,机械工业出版社9 李建兴.可编程序控制器应用技术.北京:机械工业出版社,200410 郁汉琪.电气控制与可编程序控制器,东南大学出版社,200311 汪晓平.PLC可编程控制器系统开发实例导航,人民邮电出版社,200412 搞钦和. 可编程控制器应用技术与设计,人民邮电出版社,2004致谢大学四年,我似乎获得了不少知识的收获,但通过此次设计却又发现,校园内的知识很难深
45、层次的涉及到社会中的真实事例,而这次实践就很大的弥补了这一点。首先,我十分感谢,耐心、细致的知识渊博的娇月老师,和帮助我解决问题的同学和朋友,他们使我们疑惑和困难得到提供了很大帮助! 在做毕业设计的漫长过程中,他们给我们主要帮助是从设计主题的选择和材料搜索、原理的说明,毕业论文的结构和报告内容完成、修改的耐心指导。 在此,我真的要向娇月老师表示最衷心的感谢! 给我们有很多最基本的理论知识,甚至细致到报告格式,并且在帮助我们寻找一切瑕疵的内容的同时,还指导我们利用自己的优势使我们的设计能够顺利完成,以满足要求的前提下令人满意地完成设计方案。其次,我还要十分感谢我的课题组里面一起奋斗的同学搭档,在共同的学习中,我们一起互帮互助,愉快顺利地完成了毕业设计!此外,还要感谢以前的一切教导我的老师,他们给予了各方面的知识,相当于给了我不少的帮助,愿他们永远工作顺利、愉快,身体健康!最后,向在这学习的期间帮助过、关心过我的所有老师和同学致以由衷地感