智能路灯控制系统的设计(共23页).doc
精选优质文档-倾情为你奉上 课程设计任务书 14/15 学年第 一 学期学 院:计算机与控制工程学院专 业:电气工程及其自动化学 生 姓 名:学 号:课程设计题目:智能路灯控制系统的设计起 迄 日 期:1月5 日 1月 16 日课程设计地点:专业教室指 导 教 师:余红英 李静学科部副主任:刘天野 下达任务书日期: 2015 年 1月 5日专心-专注-专业课 程 设 计 任 务 书1设计目的:(1) 设计一个由计算机控制的智能路灯控制器,可以对室内外的光强度进行检测,如果外界灯光过低或是声音低到某一分贝时、智能路灯自行进行调节。通过设计,掌握数据采集系统的工作原理、掌握计算机控制系统的设计原理。(2) 利用AT89C52完成控制要求。熟悉并了解单片机控制系统的详细工作原理。(3) 利用Keil uVision、proetus、protel画出硬件原理图、软件仿真图。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):一、控制要求 :要做到“随需而控”,天黑时只有路上有人或车辆通过时路灯才点亮,且可根据行人和车辆通过的声音智能地打开前方一定数量的路灯,同时熄灭经过路段的路灯。二、用protel设计硬件原理图 三、选择控制算法,编写控制程序。用Keil uVision设计完整的控制程序(C语言或者汇编语言)四、编译、下载、运行五、用proetus给出软件仿真结果3设计工作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:1根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。2画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。3. 用Proteus软件绘制硬件电路图并仿真。4. 软件设计包括流程图、用汇编语言或C语言对软件进行编译,并能通过调试。课 程 设 计 任 务 书4主要参考文献:1. 孙涵芳.MCS-51/96系列 单片机原理及应用(修订版).北京航空航天大学出版社.1994 2. 李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.20053.彭伟.单片机C语言程序设计实训100例基于8051+Proteus仿真(第2版).电子工业出版社.20004.李光飞单片机课程设计实例指导北京:北京航空航天大学出版社,20055.陈明荧8051单片机课程设计实训教材北京:清华大学出版社,20045设计成果形式及要求:完成课程设计说明书一份,要求:1)写出主要设计思路,工作原理;2)画出硬件原理接线图;3)调试出现的问题及解决方法; 4)提交程序清单。6工作计划及进度:1月5日 1月7日 查阅资料,进行总体设计1月6日 1月12日 根据设计要求,进行软硬件设计,并撰写课程设计说明书。 1月12日 答辩或成绩考核。学科部副主任审查意见: 签字: 年 月 日目录1 绪论11.1 AT89C52简介11.2 Proteus软件介绍11.3 Keil C51软件介绍22 总体设计32.1 设计要求32.2 设计思路32.3 声检测模块32.4 光检测模块43 硬件接线图53.1 最小系统53.2 路灯设计电路63.3 行人检测电路63.4 光控制电路73.5 手动控制电路73.6 智能路灯电路设计原理图及说明84 流程图94.1 主流程图94.2 紧急情况流程图105 软件仿真115.1 软件仿真截图115.2 软件仿真结果分析136 总结14附录 A 程序清单15附录 B 软件仿真图17参考文献181 绪论1.1 AT89C52简介AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元. 图1.1 AT89C52引脚图1.2 Proteus软件介绍: 英国Labcenter公司推出的Proteus软件是一款极好的单片机应用开发平台,它以其特有的虚拟仿真技术很好地解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试。Proteus软件涵盖了PIC、AVR、MCS8051、68HC11、ARM等微处理器模型,以及多种常用电子元器件,包括74系列、CMOS 4000系列集成电路、A/D和D/A转换器、键盘、LCD显示器、LED显示器,还提供示波器、逻辑分析仪、通信终端、电压/电流表等各种虚拟仪表,这些都可以直接用于仿真设计,极大地提高了设计效率和设计水平。Proteus软件已有20多年的历史,在国外应用较为普遍,尤其在教育界的口碑极佳。近年来Proteus软件被引入国内,在多所高等工科院校中得到成功应用。在单片机教学中采用Proteus软件,使单片机的学习过程变得直观形象,可以直接在基于原理图的虚拟模型上进行编程,并实现源码级的程序仿真调试,如有显示及输出,还能看到程序运行后的输出效果,配合各种虚拟仪表来展现整个单片机系统的运行过程,很好地解决了长期以来困扰单片机教学过程中软件和硬件无法很好结合的难题。在Proteus软件平台上学习单片机知识,比以往单纯学习书本知识更易于接受,以原理图虚拟模型进行程序仿真调试,更易于提高单片机编程能力,还可以通过绘制和修改原理电路图增加很多实践经验。1.3 Keil C51软件介绍: Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。2 总体设计2.1 设计要求 设计一个由计算机控制的智能路灯控制器,可以对室内外的光强度进行检测,如果外界灯光过低或是声音低到某一分贝时、智能路灯自行进行调节。要做到“随需而控”,天黑时只有路上有人或车辆通过时路灯才点亮,且可根据行人和车辆通过的声音智能地打开前方一定数量的路灯,同时熄灭经过路段的路灯。2.2 设计思路本次设计的题目是智能路灯控制系统的设计。要求实现以路灯为控制对象,完成软件和硬件的设计,利用按键模拟声敏传感器,以手动和行人控制两种方式实现路灯的亮灭功能。其中硬件电路部分主要包括以下部分:单片机最小系统、路灯控制电路部分、行人检测电路部分、光检测电路部分、声检测电路部分。图2.1工作原理图 图2.2系统总框图2.3声音检测模块声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的。该传感器内置一个对声音敏感的电容式驻极体话筒。声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成0-5V的电压,输入单片机。声音传感器使用的是与人类耳朵相似具有频率反应的电麦克风。电路把信号放大并把信号传送给电讯接口。实际上,信号通过2条不同的线送达数据采集器。一个信号通过低电压输入线,在2.5V左右,另一信号通过电压输入线,在0V左右。声音传感器的应用:一般说有二种,一种是根据设定声音信号阀值判定声音的有无。第二种难一点的就是根据多个声音传感器来判定声音的方位。本设计利用按键模拟声音模块,声音模块对外界环境声音强度最为敏感,模块在环境声音强度达不到阈值时,输出高电平,当外界声音强度超过设定阈值时,输出低电平。2.4 光检测模块图2.3光敏电阻工作原理图光敏传感器是最常见的之一,它的种类繁多,主要有:、光电倍增管、光敏电阻、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、CCD和CMOS图像传感器等。它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。本设计采用光敏电阻。光敏电阻传感器对外界光线最敏感,用来检测外界周围环境光线的亮度,触发单片机,模块在光线不足时输出低电平,光线亮度超过设定值时输出高电平。利用光敏电阻传感器输出信号干净,波形好,驱动能力强。本设计中利用光敏电阻与一普通电阻串联,当白天有光照时,电阻很小,输出高电平,夜晚无光照时,电阻增大,输出低电平。3 硬件接线图3.1最小系统图3.1 系统硬件接线图 晶振电路:单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。其中XYAL1接外部晶体的一个引脚,在单片机内部,它是一个反向放大器的输入端。若采用外部振荡器,该引脚接收振荡器的信号,即八次信号直接接到内部时钟发生器的输入端;XTAL2节外部晶体的另一端,在单片机内部接到反向放大器的输入端,当采用外接晶体振荡器时,此引脚可以不接。复位电路:复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。3.2路灯电路设计 图3.2路灯控制电路接线图此部分由单片机、LED显示灯、电阻(470)组成。连接LED显示灯时,注意其极性及连接方式,连接方式包括共阳极连接和共阴极连接两种方法,而在本电路中要采用共阳极连接的方法。连接单片机时,要注意将LED显示灯与P2口的连接方式,即按照顺序依次从P2.0P2.7一一对应连接。在进行路灯控制程序设计的时候,主要考虑传感器的获取信号,在设计初期,采用高电平控制LED灯,结果,灯的亮度很低,发现,单片机高电平带负载能力很弱,于是,采用低电平控制LED路灯。3.3行人检测电路图3.3 行人检测电路硬件接线图此部分由单片机、按键、电阻(2K)组成。在设计的时候,主要是用高电平来模拟声音传感器的检测信号,当有人通过为低电平,无人通过为高电平。在开始时单片机就初始状态P1口即为高电平,模拟情况下接了8个单刀开关。在实际的电路中根本没有电源给传感器供电,为了提高电源给传感器,此处提供了上拉电源。3.4光线控制电路图3.4光线控制原理图光敏电阻传感器对外界光线最敏感,用来检测外界周围环境光线的亮度,触发单片机,模块在光线不足时输出低电平,光线亮度超过设定值时输出高电平。利用光敏电阻传感器输出信号干净,波形好,驱动能力强。本设计中利用光敏电阻与一普通电阻串联,当白天有光照时,电阻很小,输出高电平,夜晚无光照时,电阻增大,输出低电平。3.5 手动控制 图3.5 手动控制部分白天如果有突发黑暗的时候,或者有需要路灯全部亮的紧急情况,通过手动部分可以处理紧急情况,按下SWON让所有灯全亮,按下SWOFF可以熄灭所有路灯。将紧急开关接在P32,P33口,以实现紧急情况中断。只有当SWON与SWOFF都处于断开状态,即输入高电平时,系统恢复正常状态。3.6智能路灯电路设计原理图及说明 图3.6智能路灯电路功能的实现:当程序启动后,单片机处于设置的原始状态;所以灯全关,所以打开手动控制开关处于关灯状态 。此时系统开始正常工作。如果有行人进入智能路灯面前,声音传感器检测到信号,并以电压的形式把信号送给单片机,单片机根据传感器送来的信号传感器的布置,点亮相应的传感器所处的位置LED路灯,当行人通过这个路灯后,达到下一个路灯时,上一个路灯熄灭。所处位置处和所处位置下一个灯亮。从而实现自动控制,达到节能的效果。当人通过最后一个路灯后,最后一个灯熄灭。在紧急的情况下,所有的路灯都要打开,此时通过手动开关打开路灯,紧急情况过后,关闭所有路灯。系统恢复正常。4 流程图4.1主流程图图4.1 主流程图功能的实现:当程序启动后,给单片机设置初值,使所有灯全关。然后检测手动开关是否按下,若按下,则进入相应程序全部打开或全部熄灭所有路灯。若打开手动控制开关,此时系统开始正常工作。再检测是否有行人进入智能路灯面前,声音传感器检测到信号,并以电压的形式把信号送给单片机,单片机根据传感器送来的信号传感器的布置,点亮相应的传感器所处的位置LED路灯,若没有行人则返回上一步继续检测。4.2 紧急情况流程图 图4.2 紧急情况流程图 功能的实现:白天如果有突发黑暗的时候,或者有需要路灯全部亮的紧急情况,通过手动部分可以处理紧急情况,在紧急的情况下,所有的路灯都要打开,此时通过手动开关打开路灯,紧急情况过后,关闭所有路灯。按下SWON让所有灯全亮,按下SWOFF可以熄灭所有路灯。当二者皆断开即接入高电平时,系统恢复正常。5 软件仿真5.1 软件仿真截图 图5.1行人出现,到达D1路灯下 图5.2行人到达D2路灯下图5.3行人到达D3路灯下图5.4紧急情况下手动全关图5.5紧急情况下手动全开5.2 软件仿真结果分析通过PROREUS仿真测试,本系统具有“随需随控”,天黑时只有路上有行人或者车辆通过时路灯才点亮,且可根据行人和车辆通过的声音智能地打开前方一盏灯,同时熄灭经过路段的路灯。同时具有紧急模式,可手动全开所有路灯和全部关闭所有路灯,基本符合本次设计要求。6 总结本课程设计是基于传统的路灯系统上建立起来的,达到了节能、高效的方式。但是此设计需要每个路灯上安装一个光传感器与声音传感器,所需器件多,不经济,需进一步改善。通过此次的课程设计,我明白了纸上学来终觉浅,绝知此事要躬行,通过对程序的不断探索,对AT89C51系列单片机已经了然于心,对每个管脚的功能有了进一步认识,从一开始对PROTEUS和KEIL这两个软件的一无所知,到后来的熟练运用,最后终于完成了本次的课程设计。 通过这次计算机控制技术课程设计,我不仅加深了对理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。虽然课程设计到此结束了,但我前进的脚步不会因此而停止,我会继续学习51及其他系列单片机。附录 A 程序清单:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit SWN=P00;sbit SWOFF=P32;sbit SWON=P33;sbit p1_0=P10;sbit p1_1=P11;sbit p1_2=P12;sbit p1_3=P13;sbit p1_4=P14;sbit p1_5=P15;sbit p1_6=P16;sbit p1_7=P17;sbit p2_0=P20;sbit p2_1=P21;sbit p2_2=P22;sbit p2_3=P23;sbit p2_4=P24;sbit p2_5=P25;sbit p2_6=P26;sbit p2_7=P27;int main() if(SWOFF=0) /手动全部关闭路灯 P2=0xff; /路灯全关if(SWON=0) /手动全部打开路灯P2=0; /路灯全开if(SWOFF=1&&SWON=1&&SWN=1) /夜间时段if(p1_0=0) p2_0=0;if(p1_0=1) p2_0=1;if(p1_1=0) p2_1=0;if(p1_1=1) p2_1=1;if(p1_2=0) p2_2=0;if(p1_2=1) p2_2=1;if(p1_3=0) p2_3=0;if(p1_3=1) p2_3=1;if(p1_4=0) p2_4=0;if(p1_4=1) p2_4=1;if(p1_5=0) p2_5=0;if(p1_5=1) p2_5=1;if(p1_6=0) p2_6=0;if(p1_6=1) p2_6=1;if(p1_7=0) p2_7=0;if(p1_7=1) p2_7=1;附录B 软件仿真图参考文献1孙涵芳. MCS-51/96系列 单片机原理及应用(修订版).北京航空航天大学出版社.19942李朝青. 单片机原理及接口技术(第3版).北京航空航天大学出版社.20053彭伟. 单片机C语言程序设计实训100例基于8051+Proteus仿真(第2版).电子工业出版社.20004李光飞单片机课程设计实例指导北京:北京航空航天大学出版社,20055陈明荧8051单片机课程设计实训教材北京:清华大学出版社,20046余锡存. 单片机原理与接口技术M.西安: 西安电子科技大学出版社, 20037蔡美琴, MCS-51系列单片机系统及其应用M. 高等教育出版社, 20048刘建清. 轻松玩转51单片机C语言M. 北京航空航天大学出版社, 20119王海伦, 叶冬芬. 单片机控制的照明智能控制系统J. 电气时代, 200510谭浩强. C程序设计M. 北京: 清华大学出版社, 200711顾德英. 计算机控制技术.北京:北京邮电大学出版社,200612李全利单片机原理及应用北京:高等教育出版社,200113曾屹. 单片机原理与应用.中南大学出版社.200914刘娟. 单片机C语言与PROTUES仿真技能实训.中国电力出版社.201015林立. 单片机原理及应用基于Proteus和Keil C(第2版).电子工业出版社.201216 V. Yu. Teplov, A.V.Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier EffectJ , 200217 Yeager Brent,How to troubleshoot your electronic scaleJ. Powder and Bulk Engineering. 1995 18Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriersJ. TQM Journal. 2008