基于51单片机的智能声光控开关毕业设计_第1页
基于51单片机的智能声光控开关毕业设计_第2页
基于51单片机的智能声光控开关毕业设计_第3页
基于51单片机的智能声光控开关毕业设计_第4页
基于51单片机的智能声光控开关毕业设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

目录TOC\o"1-4"摘要 ③最小系统的中断技术概述中断技术用于实时监测与调控,通过主程序的中断请求源提出的服务请求来快速响应处理发生的问题。当主程序的中断请求源发出中断请求之后,如果中断请求被允许,单片机将会暂时中止当前正在执行的主程序响应请求,转到中断服务处理程序这里来处理服务请求。中断服务处理程序处理完服务请求后,再返回到原来被中止的程序断电处,继续执行被中断的主程序。单片机有了中断系统,就不会浪费大量的时间去查询是否有服务请求发生了,而是会去主动处理问题,这便能除去多余的等待现象,大大地提高了单片机的工作效率和实时性。3.2.2继电器驱动电路继电器是一种电子控制器件。继电器是一种当输入端的量(电、磁、声、光、热)达到一定值时,输出量将发生跳跃式转化的这样一种自动控制器件,具有控制系统和被控制系统之的连带依靠关系。图3.9继电器驱动电路图继电器通常应用于自动控制电路中,它实际上是反向思路运行的,用小的电流去控制大的电流的自动开关,而不是一般的大电流控制小电流。而本设计中使用的便是电磁继电器。电磁继电器一般由衔铁、铁芯、触点簧片、线圈等原件组成的。只要在线圈两端加上一定的电压,单片机又给三极管一定的电平信号,连通了三极管加上又有电压,整个电路形成回路,电流流经线圈通过三极管集电极发射极到达地线,线圈中就会产生一定的电流,从而出现电磁效应,线圈有了电磁吸引衔铁,衔铁就会在电磁力吸引的作用下克服弹簧的惯性拉力吸向铁芯,带动衔铁的动触点与静触点进行闭合。若是线圈断电,电磁对衔铁的吸力也随之消失,衔铁就会在弹簧的惯性作用力下回到原来的位置,使动触点与原来的静触点打开。当输入端为高电平时对应的输出口输出低电平,继电器线圈通电,继电器触点闭合;当输入端为低电平时,继电器线圈断电,继电器触点断开。通过闭合及打开,达到了在电路中的连通和断开的目的。继电器驱动接口电路如图3.9所示,我所使用的继电器是由相应的PNP型号三极管来驱动,当继电器闭合后便能驱动负载,点亮控制的灯。3.2.3按键电路按键电路主要是为了实现对整个控制模块的开关模式转换,他可以转换为四种模式:复位模式、手动控制模式、自动感应控制模式、关闭模式。其中的一个按键是负责控制自动和手动模式的转换的,另外一个按键则是负责复位和关闭模式的,将四种模式分装到两个按键上避免了一个按键不便利的问题,还可以避免四种模式难以控制发生混乱的问题。有了这几种模式的控制可以使得灯既能自动感应又能在特殊情况下人为的控制,便利了大众。图3.10按键电路3.3实时显示模块3.3.1指示灯电路指示灯电路只要是完成实时显示,按键模式的转换显示就要靠指示灯来显示,同样继电器线圈闭合的显示也是要靠指示灯的显示。4软件设计4.1软件设计语言本设计是采用C语言程序进行设计的,首先我们应该先对整个程序进行进行分析和整理,对整个设计划分模块,逐个模块实现其功能,最终把各个子模块合理的连接起来,构成总的程序。此次软件设计根据所要实现的功能,以系统的硬件设计为基础,采用模块化的程序设计思想,确保完成系统功能的同时,实现系统的可靠运行。软件设计的目的就是让单片机加载程序并运行,对距离、时间、光照强度进行测量,根据测量结果控制继电器的输出[8]。C语言具备汇编语言的功能。它功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛用的有顶向下结构化程序设计技术[10]。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此使用C语言进行程序的设计已经为软件开发的一个主流。综上所述,用C语言进行单片机程序设计是单片机开发和应用的必然趋势。程序图见附录B。4.2软件设计思路本设计主要是实现三个方面的功能:第一,白天光照强有声音的时候保证灯不亮,第二,晚上没有光的有声音的时候灯亮;第三,手动模式开启要保证按键功能能够实现灯亮30s后灯灭。这是设计最重要的三点。有了设计的思路整个设计就分为了这样几大模块:第一个是按键模式切换(即自动模式和手动模式的切换);第二个是自动模式、手动模式工作;第三个是定时器模块。图4.1系统框图通过这三个模块我们可以大概的弄出一个系统模式来,首先是要对模式切换的定义,要定义模式切换后输出显示灯和控制显示灯的亮灭问题;关于自动模式显示模块要解决关于光感和声音协调控制的问题,即白天即使有声音灯也不能自动亮灯,而晚上有声音要保证等能自动亮;定时器模块即是关于灯亮后延长保持的实间,这样可以最大程度的减少能源的浪费和软件开销。主要模块已经分析好,其他的通过定义很快便能够得到一个整体的系统框图见图4.1:有了上述的流程图,可以根据其设计的结构来进行C语言设计了,其具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛用的有顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此使用C语言进行程序的设计已经为软件开发的一个主流。综上所述,用C语言进行单片机程序设计是单片机开发和应用的必然趋势。程序图见附录D。4.3ProteusPROTEUS软件是英国Labcenter

公司研发的EDA工具软件。它是一个集模拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。是目前同类软件中最先进、最完整的电子类仿真平台之一。它真正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到板生成的完整的电子产品研发过程。Proteus是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件),Proteus与其他的仿真软件相比较,在下面的优点:能仿真模拟电路、数字电路、数模混合电路;能绘制原理图和PCB图;几乎包括实际中所有使用的仪器;其最大的亮点在于能够对单片机进行实物级的仿真。5测试与分析5.1硬件测试整个电路板焊接起来不算是太难,焊接图上看的也是比较的清晰,但是焊接过程中还是遇到了一些问题。1.像光敏电阻的焊接就是有些问题的,总是接触不良,进行测试的时候经常会难以感应光的强弱,无论怎么调节,系统实时显示的红灯都是亮着的,闭合右下角的开关黄灯亮,红灯一秒之后自动会亮。最后就只能检查光敏电阻那里是否有虚焊,才解决了这个问题。2.整个电路中,不注意的时候会有些虚焊的问题,像上面的光敏电阻就是虚焊了导致接触不良,总会有些没有焊好的地方,要进行认真的检查,确保每个地方都焊好了功能才能完整的实现出来。不仅是虚焊,还有主要引脚的问题,不能接错引脚。总体来说就是要认真检查,若是功能显示不齐全,那一定是焊接的时候哪部分出了问题,要进行认真的检测。5.2软件测试声光控开关整体要实现的功能比较简洁清晰,软件方面就三个问题:要求光声条件满足的时候灯要亮;开关可以实现自动和手动模式转换;定时器的设定方面。编写程序的时候就要考虑到这几个问题,要设定声光调节满足灯才能亮,以及模式转换,定时器时间的设定,启动的设定。(1)软件刚开始设定的时候对于定时器的问题没有设定好,关于何时启动何时关闭,灯亮后多少时间内是要关闭,还是要继续打开,最开始没考虑到要关闭定时器,所以只要灯亮条件满足后定时器就一直打开了,但是太浪费电了,本设计是响应节能的,最后还是选择完成定时任务后关闭它。(2)还有就是模式转换,模式转换上,同样关于设定的问题,手动模式的时候灯亮条该怎么协调,总是弄反。5.3测试结果分析(1)测试的时候,光敏电阻部分总是接触不良,后面发现是虚焊的问题,多对电路进行测试,就会减少很多的问题。(2)对于软件部分总会有些小的疏忽,没有设定好定时器,或者是模式转换的设定,要经过好好的思路分析。最后按照程序流程图对照查看功能,检查最后的显示。6总结这次设计的主题声光控开关可以很好的控制以及节省能源,应用较广泛,是有一定的研究价值的。整个设计体系是以STC89C51单片机为核心,其他模块包括声音采集模块、光信息采集模块、继电模块、晶振模块、复位模块、按键模块、指示灯模块几部分来辅助完成总的目标。STC89C51它是在集成电路芯片上集成了各类元件的微型计算器,各原件基于一身使得单片机的不仅多功能化还具有体积较小、价格较低、可靠性较高、开发和应用方便等特点,在各类器件中引入单片机,编程使器件智能化,可以提高器件的自动化程度和精准度,增强计算机的运算速度,简化方便器件的硬件结构,总体来说应用到本设计中是十分契合的。通过声光控原件、电压比较器、继电器各个部分的综合作用,能够很好实现整体功能。结合了各部分器件,整体来说还是比较使用节能的,经过声光检测元件将信号传达给电压比较器输出给单片机处理,信号处理过后由继电器驱动负载,利用双电压比较输出电信号,将模拟信号转变成电信号,又有继电器驱动负载,通过一系列的带动程序来控制系统减少电量损耗,又通过定时器的控制和各项条件控制使得最后能够减少资源的浪费。原件综合起来,比较便宜适合广大人民群众的,性价比较高。经过这次的毕设,突然间发现动手前一定要先整理好思路,得到整体的框架了再着手会轻松很多。由于前面的分析使得设计总体做起来有头绪多了,虽然也有很多的不懂和困难,但是完成了那些问题就都不算什么了。很难想象自己能认真的去完成一个项目,这次经过自己的实践,学会了不少东西,通过对目标的分析将各个功能分细到各个模块,将各个功能协调运用,对比目标功能来寻找合适的原件,整理好原理图,学会了如何去用软件实现各自的功能,把以前差点忘掉的原理图制作还有PCB图制作仿真等实践都复习了一遍巩固了以前的知识。通过此次设计我还加深了对STC89C51单片机以及LM393等原件的了解,也锻炼了自己查找资料的能力。自己的能力得到了很大的提升,也能够更加认真的去做好一件事情了,更明白了完成一件事情前一定要有好的思路再开始动手,有什么不懂得地方也要多问同学多自己上网搜索资料。总的来说收货颇多。参考文献[1]张毅刚,彭喜元,彭宇编著.单片机原理及应用[M].高等教育出版社,2010.5:92~102.[2]何立民.单片机高级教程.第1版[M].北京:北京航空航天大学出版社,2001:31~43.[3]赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.3:17~21.[4]焦中平.照明灯声光控制电路及制作[M].科教文汇,2007:71~78.[5]胡斌.元器件及实用电路[M].电子工业出版社,2007年7月:147~148.[6]肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出版社,2002.8:41~46.[7]赵家贵.传感器电路设计手册[M].中国计量出版社2002年:17~26.[8]王俊杰.检测技术与仪表[M].武汉理工大学出版社2002年:35~37.[9]孙涵芳.单片机原理及应用[M].北京航空航天大学出版社1996年:48~49.[10]谭浩强.C语言程序设计(第四版)[M].清华大学出版社2010年6月:34~41.[11]郝希才.实用传感器接口电路实例[M].中国电力出版社2007年:57~59.致谢大学四年最后的毕业设计结束了,在这里,首先要衷心地感谢彭晓良老师一直以来对我们的指导和帮助。正是老师时刻的关心与耐心的指导才能让我们这么快的掌握了这么多的知识,得到了一定的实践能力,在这里再次感谢老师的帮助。在这次毕业设计中,这四年学得的大部分知识得到了充分的应用,以前没有完全掌握的难点得到了解决,也是要感谢四年来一直教育我们的老师感谢各位老师的细心指导让我们能够收获颇多同时,培养了我们实事求是的科学态度和严谨的作风,进一步提高了自己的自学能力。这对即将完全踏入社会的我们来说,是一个很大的收获。也要感谢陪伴我一路走来的同学朋友,他们也在生活学习中给了我不少帮助,在做毕设时给了我不少的建议和帮助。最后,我要感谢怀化学院,在这里,我们不仅学到了丰富的专业和生活各方面的处理能力,更学到了如何去为人,这将是我人生中一笔巨大的财富。在这里,我向学校的每一位老师致以最真诚的谢意!感谢你们陪伴我们一起走过了最美好的四年。附录:附录A根据之前用ROTEL99SE做的电路原理图生成PCB板。绘制完电路原理图之后,要检测是否正确,再进行电器规则检测,然后生成相应的网路报表。最后把原理图生成PCB。生成后,对其进行手动或自动布线。附录B系统全程序:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitlight=P3^1; //光线输入sbitsound=P3^0; //声音输入sbitLED_onoff=P3^3; //按键:手动开关灯sbitchange=P3^2; //按键:模式切换sbitled=P0^0; //模式指示灯sbitLED_out=P2^6; //输出控制灯bitMode=0; //=0自动=1手动ucharsec=0; //定义秒变量控制灯亮时间voiddelay(uintxms) //延时函数约为1ms{ uinti,j; for(i=0;i<xms;i++) for(j=0;j<110;j++);}voidinit() //初始化函数定时器等{ TMOD=0x01; ET0=1; EA=1; TH0=0x3c; TL0=0xb0; TR0=0;}voidkey() //按键函数{ if(change==0) //模式切换按下时 { delay(50); //去抖 if(change==0) //再次判断是否按下 { Mode=!Mode; //切换模式 led=Mode; //控制模式指示灯的亮灭 if(Mode==1) //切换到手动模式时如果灯是亮的,就熄灭灯;反之则反 LED_out=!LED_out; elseif(Mode==0)//切换到自动模式时如果灯是亮的就计时sec后熄灯 { if(LED_out==0) { TR0=1; sec=0; } else delay(500); } while(!change); //按键释放 } } if

温馨提示

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

评论

0/150

提交评论