基于单片机智能路灯的设计_第1页
基于单片机智能路灯的设计_第2页
基于单片机智能路灯的设计_第3页
基于单片机智能路灯的设计_第4页
基于单片机智能路灯的设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

word文档可自由复制I编辑word文档可自由复制I编辑word文档可自由复制I编辑摘要本次课程设计题目是《基于单片机智能路灯的设计》,此课题要求以路灯控制器为对象,完成硬件接线系统和软件系统程序的设计,实现以传统手动和行人通过控制两种方式来控制路灯的亮灭功能,属于软硬件结合的题目。其中单片机体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机。是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专用的硬件和软件。近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。随着夜晚的来临,城市里华灯初上,人们消除了白天的繁忙,漫步于城市的街道。在城市照明中发挥着举足轻重的作用,而其所依靠的就是路灯自动控制系统。路灯控制方式很多,本系统采用AT89S52系列的单片机和相关的传感器设备来设计智能路灯控制器,实现了根据实际行人情况通过8052芯片的P1口来控制路灯开关的功能。利用单片机控制路灯,达到了节能、自动控制的目的,避免了传统电路对能源的浪费,且方便了工作人员的管理。本系统实用性强,操作简单,而且路灯采用LED灯,LED是目前最为节能的发光元件,可以节省大量电能,而且LED发光柔和,亮度适中,对环境无污染,已经用于各种照明场合。因此,智能光控节能路灯必将在未来得到广泛应用。目录引言.....................................................................1设计思路..................................................................................1最小系统.................................................................4硬件接线图...............................................................................4电路及元件介绍...........................................................................4软件程序.................................................................................6路灯控制................................................................73.1电路设计原理图及说明.......................................................................7行人检测................................................................84.1电路设计原理图及说明.......................................................................9手动控制...............................................................105.1电路设计原理图及说明.......................................................................10智能路灯...............................................................116.1电路设计原理图及说明.......................................................................11流程图..................................................................127.1主流程图...................................................................................127.2中断流程图...........................................................13总程序...................................................................................14结束语....................................................................15谢辞.........................................................................................16参考文献..................................................................17元件清单...............................................................1811引言1.1设计思路本次设计的题目是《基于单片机的智能路灯的设计》。要求实现以路灯为控制对象,完成软件和硬件的设计,以手动和行人控制两种方式实现路灯的亮灭功能。其中硬件电路部分主要包括以下部分:单片机最小系统、路灯控制电路部分、行人检测电路部分。工作原理简图如下:本系统需要如下电路元器件,其中电路元器件及相关参数如下:(1)AT89S52实验板一块;(2)单片机最小系统所需的12M晶振一个;(3)路灯控制电路部分所需的LED灯八个,470欧姆电阻八个,单刀单置开关两个;(4)行人检测电路所需的2K电阻八个,红外传感器一个;(5)+5V直流电源一个。系统总框图如下:行人检测手动控制AT89C51单片机路灯控制Proteus软件介绍:英国Labcenter公司推出的Proteus软件是一款极好的单片机应用开发平台,它以其特有的虚拟仿真技术很好地解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试,使单片机应用系统设计变得简单容易。Proteus软件涵盖了PIC、AVR、MCS8051、68HC11、ARM等微处理器模型,以及多种常用电子元器件,包括74系列、CMOS4000系列集成电路、A/D和D/A转换器、键盘、LCD显示器、LED显示器,还提供示波器、逻辑分析仪、通信终端、电压/电流表等各种虚拟仪表,这些都可以直接用于仿真设计,极大地提高了设计效率和设计水平。Proteus软件已有20多年的历史,在国外应用较为普遍,尤其在教育界的口碑极佳。近年来Proteus软件被引入国内,在多所高等工科院校中得到成功应用。在单片机教学中采用Proteus软件,使单片机的学习过程变得直观形象,可以直接在基于原理图的虚拟模型上进行编程,并实现源码级的程序仿真调试,如有显示及输出,还能看到程序运行后的输出效果,配合各种虚拟仪表来展现整个单片机系统的运行过程,很好地解决了长期以来困扰单片机教学过程中软件和硬件无法很好结合的难题。Proteus软件已有20多年的历史,在国外应用较为普遍,尤其在教育界的口碑极佳。近年来Proteus软件被引入国内,在多所高等工科院校中得到成功应用。在单片机教学中采用Proteus软件,使单片机的学习过程变得直观形象,可以直接在基于原理图的虚拟模型上进行编程,并实现源码级的程序仿真调试,如有显示及输出,还能看到程序运行后的输出效果,配合各种虚拟仪表来展现整个单片机系统的运行过程,很好地解决了长期以来困扰单片机教学过程中软件和硬件无法很好结合的难题。在Proteus软件平台上学习单片机知识,比以往单纯学习书本知识更易于接受,以原理图虚拟模型进行程序仿真调试,更易于提高单片机编程能力,还可以通过绘制和修改原理电路图增加很多实践经验。KeilC51软件介绍:KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会有很好的效果。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KeilC51开发系统各部分功能和使用。C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。使用独立的Keil仿真器时,注意事项:仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。仿真器上的复位按钮只复位仿真芯片,不复位目标系统。仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。最小系统硬件接线图XTAL218XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52R3k10C1PF22C2PF22X1M12C3UF10R1300D1LED-RED图2-1最小系统硬件接线图最小系统组成:电源电路、晶振电路、复位电路、单片机电路及元件介绍晶振电路:单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。其中XYAL1接外部晶体的一个引脚,在单片机内部,它是一个反向放大器的输入端。若采用外部振荡器,该引脚接收振荡器的信号,即八次信号直接接到内部时钟发生器的输入端;XTAL2节外部晶体的另一端,在单片机内部接到反向放大器的输入端,当采用外接晶体振荡器时,此引脚可以不接。复位电路:复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间选择外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.3软件程序ORG0000HAJMPSTARTORG0030HSTART:MOVP1,#0FFHLCALLDELAYMOVP1,#00HLCALLDELAYSJMPSTARTDELAY:MOVR5,#10DEL:MOVR6,#200DEL1:MOVR7,#123NOPDEL2:DJNZR7,DEL2DJNZR6,DEL1DJNZR5,DELRETEND33路灯控制3.1电路设计原理图及说明图3-1路灯控制电路接线图此部分由单片机、LED显示灯、电阻(470)组成连接LED显示灯时,注意其极性及连接方式,连接方式包括共阳极连接和共阴极连接两种方法,而在本电路中要采用共阳极连接的方法。连接单片机时,要注意将LED显示灯与P2口的连接方式,即按照顺序依次从P2.0~P2.7一一对应连接。在进行路灯控制程序设计的时候,主要考虑传感器的获取信号,在设计初期,采用高电平控制LED灯,结果,灯的亮度很低,发现,单片机高电平带负载能力很弱,于是,采用低电平控制LED路灯。44行人检测4.1电路设计原理图及说明图4-1行人检测电路硬件接线图此部分由单片机、按钮、电阻(2K)组成。在设计的时候,主要是用高电平来模拟红外传感器的检测信号,当有人通过为低电平,无人通过为高电平。在开始时单片机就初始状态P1口即为高电平,模拟情况下接了8个按钮。在实际的电路中根本没有电源给传感器供电,为了提高电源给传感器,此处提供了上拉电源。各引脚功能分别为:电源供电端(内部开关管D极,DRAIN)、信号输出端(内部开关管S极,SOURCE)、接地端(GROUND)。55手动控制5.1电路设计原理图及说明5-1手动控制部分通过手动部分可以处理紧急情况,让所有灯全亮。智能路灯6.1电路设计原理图及说明XTAL218XTAL1XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C122PFC2PF22X1M12R1470R2470R3470R4470R5470R6100R7470R8470R9K2R102KR11k2R12k2R132kR14k2R152kR16k2R17k10C310uFSW1SW-SPSTSW2SW-SPSTD8LED-GREEND7LED-GREEND5LED-GREEND4LED-GREEND2LED-GREEND3LED-GREEND1LED-GREEND6LED-GREEN当程序启动后,单片机处于设置的原始状态;所以灯全关,所以红外传感器打开手动控制开关处于关灯状态。此时系统开始正常工作。如果有行人进入智能路灯面前,红外传感器检测到信号,并以电压的形式吧信号送给单片机,单片机根据传感器送来的信号个传感器的布置,点亮相应的传感器所处的位置LED路灯,当行人通过这个路灯后,达到下一个路灯时,上一个路灯熄灭。所处位置处和所处位置下一个灯亮。从而实现自动控制,达到节能的效果。当人通过最后一个路灯后,最后一个灯延时8s熄灭。在紧急的情况下,所有的路灯都要打开,此时通过手动开关打开路灯,紧急情况过后,关闭所以路灯。系统恢复正常。流程图7.1主流程图开始初始化设初值,开中断手动开关是否按下检查是否有行人通过进入相应的中断程序控制相应的路灯点亮YYNN7.2中断流程图进入紧急手动全开中断紧急情况结束后返回主程序路灯全关路灯全开功能的实现:在紧急的情况下,所有的路灯都要打开,此时通过手动开关打开路灯,紧急情况过后,关闭所以路灯。系统恢复正常。总程序#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitsw1=P3^2;sbitsw2=P3^3;uintnum,j;voiddelays(uintx){uinti;while(x--){if(i=0,i<110,i++);}}intmain(){while(1){TMOD=0x01;TH0=(65535-110000)/256;TL0=(65535-110000)%256;EA=1;ET0=1;P1=0xff;P0=0xff;while(sw1==1&&sw2==0){if(P1==0xfe)P2=0xfc;if(P1==0xfd)P2=0xf9;if(P1==0xfb)P2=0xf3;if(P1==0xf7)P2=0xe7;if(P1==0xef)P2=0xcf;if(P1==0xdf)P2=0x9f;if(P1==0xbf)P2=0x3f;if(P1==0x7f)j=0xba;while(j==0xba){TR0=1;while(num==160){TR0=0;num=0;P2=0xff;j=0;break;}}if(sw1==0){P2=0x00;break;}}if(sw1==0){P2=0x00;delays(20);}if(sw1==1&&sw2==0){delays(20);P2=0xff;}}}voidtime()interrupt1{TH0=(65535-50000)/256;TL0=(65535-50000)%256;num++;}

温馨提示

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

评论

0/150

提交评论