ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.05MB ,
资源ID:18534924      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18534924.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简单智能路灯测控原理系统设计Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简单智能路灯测控原理系统设计Word文档下载推荐.docx

1、封面,任务书,目录,正文,参考文献,附录等。 目录 第一章 方案设计与论证 11.1 方案设计 11.2 方案论证 11.2.1 控制芯片的确定 11.2.2 A/D转换芯片的确定 21.2.3 LED调光控制方式确定 21.2.4 方案的最终确定 2第二章 硬件的设计与实现 32.1 单片机最小系统 32.1.1 单片机引脚说明 32.1.2 时钟电路 42.1.3 复位电路 52.1.4 ADC0832模数转换 5第三章 软件的设计与实现 73.1 程序流程图 73.2 AT89C51中断技术概述 7第四章 实物调试 9参考文献 10附录A 电路图 11附录B 程序源代码 12附录C 调试

2、实物图 17第一章 方案设计与论证1.1 方案设计智能路灯控制系统是基于AT系列的C51单片机和PWM调光的LED路灯以AT89C51作为主控芯片,设置五个调节档位,由于PWM的输出不同,所以其占空比对LED的电流控制也不同,根据不同环境亮度,从而实现对光度调节的控制。光敏电阻作为传感器,通过ADC0832芯片进行模拟转换和不断测量光敏电阻的两端电压来间接测量感应的光强度,将检测到的电压和预设的工作阈值进行对比,并且调整PWM的占空比对LED的电流进行控制,通过单片机的信号处理,以便实现对光度的自动调节。系统总体框图如图1-1。图1-1 系统总体框图1.2 方案论证1.2.1 控制芯片的确定选

3、择嵌入式型MCU的主要考虑因素有以下几个方面:所应用领域:一个产品的主要功能一旦限定下来,其所应用的领域也随之确定。应用领域的确定将减少选型的考虑。自身带有的资源:芯片自带资源越符合产品的需求,产品开发越相对便捷。,芯片属于可扩展存储器。低功耗的特征:低功耗的产品节能环保,成本低,可以降低环境污染,还能增加使用的稳定性,所以选择芯片时,低功耗也是一个重要的指标。而AT89C51单片机是具有40个引脚的双列直插式微型MCU,其价格低廉、兼容性强、超强抗干扰能力、超低功耗等优点。其工作电压在3.3V5.5V之间,内集成4K字节ROM和128字节RAM,具有扩展内存的功能,两个定时器和计数器中。基于

4、51单片机的这些特点并考虑到该系统实现的复杂程度,还有路灯所处的环境,AT89C51单片机是比较理想的。其性能完全满足于系统要求。1.2.2 A/D转换芯片的确定 A/D模数转换芯片在这个系统中就是执行从传感器得到的模拟信号转换为单片机可以识别的数字信号。在这个系统中,由环境的亮度引起光敏电阻的阻值变化,其变化过程比较缓慢,因而不需要采样保持器。ADC0832是可以满足其要求的。ADC0832与常用的ADC0809的主要区别是ADC0809为8通道模数转换器,可以对8路输入信号进行模数转换,而ADC0832是2通道模数转换器。ADC0809是并行ADC,速度要比串行ADC0832快得多,不过外

5、围电路比较复杂,价格也贵。一般来说,串行ADC对于检测变化缓慢的信号非常有利,电路简单,价格也便宜,但坏处是速度非常受限,如果是对声音进行采样,必须考虑使用并行式的ADC,否则会丢失大量信息,造成失真。1.2.3 LED调光控制方式确定 LED的调光控制,传统上LED的调光是利用一个DC信号或滤液PWM对LED中的正向电流进行调节来完成的。减小LED电流将起到调节LED光输出强度的作用,然而,正向电流的变化也会改变LED的彩色,因为LED的色度会随着电流的变化而变化。许多应用(例如汽车和LCD 背光照明)都不能允许LED发生任何的色彩漂移。在这些应用中,由于周围环境中存在不同的光线变化,而且人

6、眼对于光强的微小变化都很敏感,因此宽范围调光是必需的。通过施加一个PWM信号来控制LED亮度的做法允许不改变彩色的情况下完成LED的调光。PWM是脉冲宽度调制信号,其中的“宽度”,就是脉冲的高电平的时间。PWM信号调节LED亮度时,信号频率是不变的,改变的是脉冲的高电平的时间,即LED的导通时间。这种信号调节亮度相当于调节LED的平均电流,所以电流会变化。1.2.4 方案的最终确定 控制芯片采用AT89C51单片机,A/D转换器采用ADC0832,还需要一个光敏电阻。另外考虑到条件的限制和课程设计的实质性,在本系统中采用普通的发光二极管替代LED灯,而控制灯光的目的也是实现了。第二章 硬件的设

7、计与实现2.1 单片机最小系统最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心部分,通过对其进行存储器扩展、A/D扩展等,使单片机完成较复杂的功能。AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单且可靠。用AT89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,由于集成度的限制,最小应用系统只能用作一些小型的控制。2.1.1 单片机引脚说明单片机的引脚如图2-1所示。VCC:供电电压。GND:接地。图2-1 单片机引脚

8、图P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口

9、,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部

10、下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此

11、频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1

12、时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.1.2 时钟电路图2-2 时钟电路图AT89C51单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。内部时钟方式如图2-2所示。在AT89C51单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C2和C3的作用是稳定频率和快速起振

13、,电容值在530pF,典型值为30pF。晶振的振荡频率范围在1.212MHz间选择,典型值为12MHz和6MHz。2.1.3 复位电路当在AT89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。复位电路通常采用上电自动复位和按钮复位两种方式。图2-3 上电复位电路最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容

14、充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用11.0592MHZ时C取10uF,R取10k,如图2-3所示。2.1.4 ADC0832模数转换ADC0832是美国国家半导体公司生产的一种 8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高。ADC0832具有以下特点:8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容; 5V 电源供电时输入电压在05V之间;工作频率为250KHZ,转换时间为32s,一般功耗仅为15mW;8P、14PDIP(双列直插)、PICC多种封装ADC0832各端口的接线如图2-4所示。CLK为芯片

15、时钟输。时钟信号通过单片机P1.1口利用定时器中断输出图2-4 ADC0832转换接线图CS为片选使能,低电平芯片使能。GND为芯片参考0电位(地)。Vcc/REF为电源输入及参考电压输入。CH0为模拟输入通道 0,或作为 IN+/-使用。CH1模拟输入通道 1,或作为 IN+/-使用。这里只使用CH0作为输入端接光敏电阻。DI为数据信号输入,选择通道控制。DO为数据信号输出,转换数据输。正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当

16、ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。硬件设计的电路总图在附录A。第三章 软件的设计与实现3.1 程序流程图 在编写程序之前,对系统的软件要实现的功能进行流程图的编写能大大提高程序形象直观性,使得各种操作一目了然,不会产生

17、“歧义性”,便于理解,算法出错时容易发现。该系统的程序流程图如图3-1所示。图3-1 程序流程图3.2 AT89C51中断技术概述中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应、及时处理。这是由片内的中断系统来实现的。当中断请求源发出中断请求时,如果中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。中断服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。中断技术是如何产生的呢?当CPU与外部设备交换信息的时候,如果用查询的方式,那么CPU就会浪费很多时间去等待外部设

18、备。这样就存在快速的CPU与慢速的外部设备之间的矛盾,当CPU与外设工作不同步时,很难确保CPU在对外设进行读写操作时,外设一定是准备好的。为保证数据的正确传送,可采用查询方式。但是在查询方式下,CPU主动地查询所有外设以确定其是否准备好,是否需要进行数据传送,会使CPU的效率降低,特别是与低速外设进行数据交换时,CPU需要等待更多的时间。另外在对多个外设进行I/O操作时,如果有些外设的实时性要求较高,CPU有可能因来不及响应而造成数据丢失。这也是计算机在发展过程中面临的严重问题之一。为了解决这个问题,一方面要提高外部设备的工作速度;另一方面,就应运而生了中断技术。如果单片机没有中断系统,单片

19、机的主程序中断服务程序大量时间可能会浪费在查询是否有服务请求发生的定时查询操作上。采用中断技术断点继续执行主程序完全消除了单片机在查询方式中的等待现象,大大地提高了单片机的工作效率和实时性整个中断响应和处理过程如图3-2所示。图3-2 中断响应和处理过程第四章 实物调试在面包板上连接完实物且把程序烧入到单片机中后,对实物进行了调试。通过改变照射在光敏电阻上的光强,观察LED灯发出的光亮度的变化,并记录当前LED灯的亮度是否达到照明的效果,最后在程序上进行占空比的调节使得LED灯能达到当前光敏电阻所在的光强的环境所需要的照明亮度。经过不断地测试与修改,最终会得出一系列适合该LED路灯的占空比值。

20、由于系统采用了普通二极管替代了LED路灯,而且也因为条件的限制,无法测量出当前的环境的光强。因而本课程设计中自行设定了五个档位并对应一系列的占空比值。 具体数值在如下面表4-1中所示。其中,只需要五个档位能根据光敏电阻在不同光强下显示出来,并能看到普通二极管的亮度的变化,即可认为该设计的目的已经达到。该系统的实物调试结果在后面的附录C中的图2至图7。其中图2、图3、图4、图5的结果都是在灯光下测试得到的,图2为0级调光,即在光强很高的环境下,二极管不发光。这就模拟了路灯在晴天的时候的情景。图3为1级调光,用手挡住部分照射在光敏二极管上的光线,这是二极管是发出微弱的光。这在模拟凌晨时将要天亮的情

21、景。图4为2级调光,这是手靠得更近,光敏电阻能接收的光更少。图5是3级调光,这需要一张纸片将光敏电阻隔离起来,这是模拟将要进入夜晚的情景。图6和图7是在灯关闭后测试得到的结果。图6为4级调光,图7为5级调光,它们都是在模拟晚上的情景。在这次测试中,二极管的发光亮度变化得不太大,需要连续环境亮度才很明显地看出二极管的发光情况。表4-1 光敏电阻阻值与调光级别和占空比的关系光敏电阻阻值调光级别占空比0.7K以下0级2.4K4K1级1004K7K2级10007K12K3级250012K26K4级350026K以上5级4500参考文献1. 周明珠. 无触点开关在控制中的应用J. 现代电子技术, 200

22、2.2. 赵玉安. 人体热释电红外传感器介绍J. 中国电子制作, 2006.3. 俞海珍, 李宪章, 冯浩. 热释电红外传感器及其应用J.电子照明技术, 2006.4. 曹巧媛. 单片机原理及应用M. 北京:北京: 电子工业出版社, 1997. 5. 谢晓军. 红外遥控技术在付费率电度表中应用J. 电测与仪表, 1996.6. 吴可久. 8031单片机在遥控解码方面的应用J. 电子技术, 1993. 附录A 电路图图1 电路总图附录B 程序源代码#includeintrins.h#define uchar unsigned char#define uint unsigned int#defin

23、e led P0 sbit cs=P10;sbit clk=P11;sbit dio=P12;sbit yellow=P25;uchar code display11=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;/数码管驱动信号0-9,共阳uchar buf=10;uchar adc_dat=0;uint time15=100,1000,2500,3500,4500; /占空比调节uint time25=4900,4000,2500,1500,500;bit flag=1;uchar k;/= =定时器初始化=void time

24、0_init() TMOD=0x01; TL0=(65535-5000)%256;TH0=(65535-5000)/256; ET0=EA=TR0=1;/=读出ADC转换的结果函数=uchar read_adc_convert() uchar i; uchar dat=0; uchar dat1=0; clk=0;cs=1;dio=0; cs=0; dio=1; clk=1; _nop_(); dio=0; for(i=0;i8;i+) clk=1;_nop_(); clk=0; dat if(dio) dat1|=0x80; else dat1|=0x00; cs=1; if(dat=dat

25、1) return dat; else return 0; return dat;void main() uint i; time0_init(); while(1) i+;if(i10000) i=0; adc_dat = read_adc_convert();/读出ADC转换的结果 if(255=adc_dat)&(adc_dat213) k=buf=5; else if(213171) k=buf=4; else if(171129) k=buf=3; else if(12987) k=buf=2; else if(87=45) k=buf=1; else if(45=0) k=buf=0; led=displaybuf; void time0_interrupt()interrupt 1/中断处理函数 if(k=0)yellow=1; if(flag=1) TL0=(65535-time1k-1)%256;TH0=(65535-time1k)/256; flag=0; yellow=0; else if(flag=0) TL0=(65535-time2k-1)%256;TH0=(65535-time2k)/256; flag=1; yellow=1;附录C 调试实物图图3 1级调光图2 0级调光图5 3级调光图4 2级调光

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1