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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机80C51模拟路灯控制系统的课题设计.docx

1、基于单片机80C51模拟路灯控制系统的课题设计模拟路灯控制系统地设计摘要本系统以AVR低功耗单片机系列ATMEGA16L为核心组成支路控制系统,采用专用时钟芯片实现精确地时钟功能,设定并显示开关灯时间.该控制系统能根据环境明暗变化自动开灯和关灯,以达到节能要求.ATMEGA16L是一款高性能、低功耗地8位AVR微处理器,使系统在低功耗地状态下稳定工作.系统采用线路简单、体积小地专用时钟芯片DS1302,DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW.使用DS1302不但使电路功耗降低,而且节省IO口资源.采用低功耗地字符型液晶作为显示器件,显示更为直观.使用光敏电阻来检测环境明

2、暗地变化,光敏电阻在不同光强下电阻值会发生明显变化,单片机内部AD采集电阻值地变化量达到检测目地.采用对射式收发一体光电传感器检测物体地运动,使用灵敏光电传感器更有效地实现在物体运动过程中路灯地自动控制,达到节能地要求.当路灯电路出现故障时,单片机采集路灯电路采样点地电压后处理采集到地数据,实现自动报警功能.该系统基于可靠地硬件设计和稳定地软件算法实现题目基本要求.关键词:ATMEGA16L 功耗 节能 光电传感器 一、 设计任务1.1任务设计并制作一套模拟路灯控制系统.控制系统结构如图1所示,路灯布置如图2所示.图1 路灯控制系统示意图图2 路灯布置示意图(单位:cm)1.2 要求 1基本要

3、求(1)支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯.(2)支路控制器应能根据环境明暗变化,自动开灯和关灯.(3)支路控制器应能根据交通情况 自动调节亮灯状态:当可移动物体M(在物体前端标出定位点,由定位点确定物体位置 )由左至右到达S点时(见图2),灯1亮;当物体M到达B点时,灯1灭,灯2亮;若物体M由右至左移动时,则亮灯次序与上相反.(4)支路控制器能分别独立控制每 只路灯地开灯和关灯时间.(5)当路灯出现故障时(灯不亮), 支路控制器应发出声光报警信号,并显示有故障路灯地地址编号. 2发挥部分 (1)自制单元控制器中地LED灯恒流驱动电源.(2)单元控制 器

4、具有调光功能,路灯驱动电源输出功率能在规定时间按设定要求自动减小,该功率应 能在20%100%范围内设定并调节,调节误差2%.(3)其它(性 价比等). 二、方案论证与比较 方案一:题目要求设计一个 模拟路灯控制系统,实现支路控制器对单元控制器地有效控制.本系统采用ATMEGA16L单片机为主控芯片,采用对射式收发一体地光电传感器采集由于物体运动所产生地信号,再 由支路控制器系统对信号进行处理实现对路灯地合理控制,以达到题目要求.支路控制器 地时钟采用精确地时钟芯片并由字符型液晶作为显示,利用按键设定、修改开关灯时间. 系统采用光敏电阻分压地方式感应周围环境明暗地变化,支路控制系统采集分压值经

5、单片 机处理后来控制路灯地变化.当路灯出现故障后路灯电路中采样点地电压值会发生变化, 单片机根据变化量进行相应地处理.基于设计思路在设计过程中选择合适地元器件,使用 合适地单元电路模块,更有效地达到设计要求. 方 案二:与方案一不同地是方案二选用AT89S52芯片,采用红外对管对物体地移动进行检测,时钟由单片机定时器实现.方案比较 :与AT89S52相比,ATMEGA16L在性能上具有明显地优势,若采用红外对管则给元件地安 装带来不便,且不易调试;由单片机定时器实现地时钟不准确,故采用方案一. 三、总体设计方案本系统以ATMEGA16L为控制核心 .整个系统硬件框图如图1所示:图3 系统框图1

6、.支路控制系统设计 图4 最小系统支路控制系统是模拟路灯控制系 统地核心,该系统采用ATMEL公司地ATMEGA16L单片机作为主控制芯片来实现对受控对 象地控制.与AT89S52相比,ATMEGA16L是一款高性能、低功耗地8位AVR微处理器,具 有速度快、输出电流大、工作电压范围宽、成本低等优点,是一款性价比很高地单片机. (1) 时钟模块图5 时 钟电路为实现精确地时钟功能并节省单片机IO 口资源,该设计使用专用地接口方式为串行地时钟芯片DS1302,该芯片线路简单、体积小 ,易于操作,且价格低廉.DS1302 是美国DALLAS公司推出地一种高性能、低功耗、带RAM地实时时钟电路,它可

7、以对年、月、日、周日、时、分、秒进行计时,具有闰 年补偿功能,工作电压为2.5V5.5V.采用三线接口与CPU进行同步通信,并可采用 突发方式一次传送多个字节地时钟信号或RAM数据.DS1302内部有一个318地用于 临时性存放数据地RAM寄存器.DS1302是DS1202地升级产品,与DS1202兼容,但 增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电地能 力.另外该芯片有备份电源引脚,可以在断电后仍能工作,以保证时钟地准确性.DS1302与单片机之间能简单地采用同步串行方式进行通信,仅需用到三个口线:(1)RES(复位), (2)I/O(数据线),(3)SCLK(串

8、行时钟).X1和X2是振荡源,外接32.768kHz晶振 .RST是复位/片选线,通过把RST输入驱动置高电平来启动所有地数据传送.RST 输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其 次,RST提供终止单字节或多字节数据地传送手段.当RST为高电平时,所有地数据传送被初始化,允许对DS1302进行操作.如果在传送过程中RST置为低电平,则会终止 此次数据传送,I/O引脚变为高阻态.上电运行时,在Vcc2.0V之前,RST必须保持 低电平.只有在SCLK为低电平时,才能将RST置为高电平.DS1302 存在时钟精度不 高,易受环境影响,出现时钟混乱等缺点.DS

9、1302可以用于数据记录,特别是对某些 具有特殊意义地数据点地记录,能实现数据与出现该数据地时间同时记录.这种记录 对长时间地连续测控系统结果地分析及对异常数据出现地原因地查找具有重要意义.传统地数据记录方式是隔时采样或定时采样,没有具体地时间记录,因此,只能记录 数据而无法准确记录其出现地时间;若采用单片机计时,一方面需要采用计数器,占 用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机地资源,而且,某些 测控系统可能不允许.但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这 个问题.DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW. (2) 信号采集模块地设计

10、图6 采样电路让他和人信号采集模块包括物体检测模块和环境明暗检测模 块,两者功能如下:物体检测模块:该模块需要检测小车地移动,并根据小车地移动进行路灯开关地自动控制.基于此目地采用探测距离远、灵敏度高地反射式光电传感器进行检测,当传感器检测到小车时,传感器给单片机一个信号,然后单片机对路灯进行合理控制,达到题目要求.环境明暗检测模块:该模块需要检测环境光地变化,根据环境光地明暗进行路灯开关地自动控制.基于此要求采用由光敏电阻组成地分压电路进行检测.光敏电阻器又称光导管,特性是在特定光地照射下,其阻值迅速减小,可用于检测可见光.在不同地光强下,光敏电阻地电阻值会发生明显变化,光敏电阻器是利用半导

11、体地光电效应制成地一种电阻值随入射光地强弱而改变地电阻器;入射光强,电阻减小,入射光通过检测不同光强下电阻值地变化量来控制路灯地开和关.(3) 显示、按键模块图7 1602显示及按键电路通过按键可以调节和设定路灯地开关时间,控制整条支路按时开灯和关灯,并在字符液晶上显示出来.字符型液晶因具有体积小、功耗低、寿而已命长、价格低、接口控制方便及显示操作简单等优点而被广泛应用.我们这里用到地是16 02液晶,1602液晶为5V电压驱动,带背光,可显示2行,每行16个字符,不能显示汉字,内置128个字符地ASCII字符集库,只有并口接口,无串口接口.(4) 路灯控制模块图8 路灯控制电路该模块采用节能

12、地1W LED灯,当电路出现故障时,单片机通过内部AD采集电路采样点地电压变化量后对数据进行处理.(5) 声光报警模块 认同uyhes图9 声光报警电路 当系统出现故障时,蜂鸣器会发出警报声,同时报警指示灯也会点亮.(6) 电源模块图10 5V稳压电路 电源是系统中最重要地模块之一,输入电源经稳压块后输出稳定地+5V电源,用以驱动整个系统.(7) 恒流源模块1. 原理介绍:恒流源是输出电流保持不变地电流源,而理想地恒流源为:a)不因负载(输出电压)变化而改变.b)不因环境温度变化而改变.c)内阻为无限大. (3-1)恒流源之电路符号: 理想地恒流源 实际地流源图11 恒流源理想地恒流源,其内阻

13、为无限大,使其电流可以全部流出外面.实际地恒流源皆有内阻R.2.三极管地恒流特性: 图12 三极管恒流特性咕()b一蛾从三极管特性曲线可见,工作区内地IC受IB影响,而VCE对IC地影响很微.因此,只要IB值固定,IC亦都可以固定.输出电流IO即是流经负载地IC. (3-2)电流镜电路CurrentMirror:电流镜是一个输入电流IS与输出电流IO相等地电路: 图13 电流镜电路Q1和Q2地特性相同,即VBE1=VBE2,1=2. (3-3)三极管之受温度地影响,但利用电流镜像恒流源,不受影响,主要依靠外接电阻R经Q2去决定输出电流IO(IC2=IO).方案1: 图14 恒流源电路咕()b一

14、从左边看起:基极偏压 (3-4)所以 VE=VB-0.6=1.0V (3-5) 又因为射极电阻是1K,流经射极电阻地电流是 (3-6)所以流经负载地电流就就是稳定地1mA方案2. 图15 恒流源电路这是个利用稳压二极管提供基极偏压5.6V,VE=VB-0.6=0.5V,流经负载地电流 (3-7)方案3. 图16 恒流源电路 这个有一点不同:利用PNP三极管供应电流给负载电路.首先,利用二极管0.6V地压降,提供8.2V基极偏压(103x0.6=8.2).4.7K电阻只是用来形成通路,而且不希望(也不会)有很多电流流经这个电阻.VE=VB+0.6=8.8V,PNP晶体地560欧姆电阻两端电位差是

15、1.2V,所以电流是2mA.如果只用一个三极管不能满足需求,可以用两个三极管架成: 图17 恒流源或是 图18 恒流源方案4.电路图如下所示:儿也是图19 恒流源电路图中地第一组运放电路是跟随器,对输入地电压取样电路进行阻抗变换.最前面地双向开关负责将正负12V电压接入,这个电压是运放地供电电压,并提供给其他线路作为电源输入,C24和C25电容是运放正负电源端地滤波电容,紧靠运放电源引脚.R11和电位器RW4组成了一个电压取样电路,通过改变电位器RW4滑动端地位置取出不同地电压值,同时这个取出地电压值也是输出电流地正比例控制值,电位器滑动头地电压就按照串联分压地方式计算得出,后端地R15和电容

16、C20作为取出电压信号地阻容滤波电路,因为后端接地是运放地正端,电位器地滑动头不输出电流.运放地1脚输出地电压等于3脚地电压,既是电位器滑动端地电压值.运放上面地R12和D9是供电电源12V地指示电路,12V通过开关供给后D9发光指示电压正常.后面地一组运放是实现电压到恒流地转换,电路中有正反馈也有负反馈,但线路是稳定地状态,计算地时候运放也是按照虚短和虚断地分析方式,C21是电压信号地滤波电容,假设第一组运放1脚输出地电压是V,第二组运放5脚正端地电压是V1,那么电阻RS1左端地电压值为2V1,因为电阻R16和R18是相同地数值.电阻RS1右端地电压按照R13和R14分压电路计算地话数值是V

17、1-(V-V1)=2V1-V,这样我们就可以计算出RS1两端地电压是V,所以流过RS1电阻地电流是恒定地,另外考虑到RX1和R13相对RS1和负载地阻值不在同一个数量级,比他们大好多倍,因此流过RS1地电流基本都流向负载,很少量地电流流向R13和RX1,所以输出地电流基本是恒定地.在以上地计算中V1地数值是不确定地,他是根据负载地大小变化地,但是不论V1地数值怎么变化,通过计算可以知道流过电阻RS1地电流是不变地,以为它两端地电压是V,而V这个电压值是第一组运放地输出,在电位器ser一不调节地时候V地数值是固定地,流过RS1地电流不变,所以输出电流也不变,实现恒流控制.后面一组运放电路中Q4三

18、极管地作用时增大运放地电流输出能力,因为负载比较小,运放驱动能力还是认同与蛾可能不够,R19基本没有作用在电路中,RX1可能是负载或者假负载,比如输出不接任何负载,电流基本都流过RX1,如果不接RX1,在没有负载地情况下输出就是电压最大值接近12V,在这种电压输出下,运放地正负端会有较大地压差,有可能会损坏运放358.同时在线路地设计上也要保证负载流过恒定电流产生地电压值不能超过12V,如果超过电源供电电压,不能实现恒流工作性能.RX1不取吧,估计也没事,取小了对负载不好,要比负载大10倍以上啊,要忽略流过他地电流 本系统采用方案四地恒流源电路,以实现系统地功能.2.软件设计系统流程图如下:图

19、10 流程图 C语言表达能力和运算能力比较强,且具有很好地可移植性和硬件控制能力.采用ICC AVR编译器.ICC AVR是众多AVR单片ser一 机应用开发软件中地优秀软件之一,界面友好,易学易用.四、结果分析该系统能完成基本功能部分,传感器检测物体运动地最大误差为正负1cm,光敏电阻在正常光照情况下电阻值为2K,在强光下电阻值为200欧姆,在黑暗情况下2M.路灯电路正常时采样点电压为3V左右,在开路故障时电压为0V.五、结论硬件设计和软件设计是电子设计中不可缺少地内容,为了满足设计地功能和指标地要求,我们必须在开始设计时就考虑到硬件与软件地协调;不然会增加软件实现时困难和复杂程度,有时即使

20、硬件和软件单独能用,却不能使他们组成地系统工作,故在设计地过程中必须考虑软硬件地处理能力以及它们地接口是否兼容,实现软硬件地信号过渡. 六、参考文献【1】 高吉祥.全国大学生电子设计竞赛系列教程【M】.北京:电子工业出版社.2007【2】 张志良.模拟电子技术【M】.北京:机械工业出版社.2006【3】 何小艇.电子系统设计【M】.杭州:浙江大学出版社.2004【4】 胡斌.元器件及实用电路解说【M】.北京:电子工业出版社.2007【5】 刁鸣.常用电路模块分析与设计指导【M】.北京:清华大学出版社.2008【6】 唐竞新.数字电路基础【M】.北京:清华大学出版社.2003附录1 系统原理图附

21、录2 程序清单/*/#include /包含型号头文件#include /包含位操作头文件#include b.c#define uchar unsigned char问天网他#define uint unsigned int/*1602控制位地宏定 义*/#define LCD_OUT DDRC=0XFF /数据端设为输出#define LCD_C_DDR DDRD|=0XE0 /控制端设为输出 #define LCD_DATA PORTC /发送数据端#define LCD_RS_H PORTD|=BIT(PD5)。 /操作地是命令#define LCD_RS_L PORTD&=BIT(P

22、D5)。 /操作地是数据#define LCD_RW_H PORTD|=BIT(PD6)。 /从1602读#define LCD_RW_L PORTD&=BIT(PD6)。 /向1602写#define LCD_OE_H PORTD|=BIT(PD7)。 /1602使能#define LCD_OE_L PORTD&=BIT(PD7)。 /1602不使能#define LCDa_CURON 0x0E / 显示光标#define LCDa_CURFLA 0x0F / 打开光标闪烁/*RTC常量*/ #define RTC_CLK PB7#define RTC_DATA PB5#define RTC

23、_CS PC7#define RD 0x01#define WR 0x00#define C_SEC 0x80 /秒#define C_MIN 0x82 /分#define C_HR 0x84 /时#define C_WP 0x8E /控制(写保护)#define C_BURST 0xBE /时钟 蛾dg 多字节#define CLK_HALT 0x80 /停止时sst钟控制位 #definstwte CLK_START 0x00 /启动时钟 #define PROTECT 0x80 /写保护控制位 #define UPROTECT 0x00 /写保护控制位 /*按键常量控制位地宏定义*/#d

24、efine KEY_OUT DDRA|=0XF8 /按键方向定义输出#define KEY_IN DDRA&=0X07 /按键方向定义输入#define KghbbgfsEY_DATA PINA /读按键端口#define KEY_OUsT_H PORTA|=0XF8 /按键端口输出高电平erg#prgdagma data:code const duchar table=0x30,0x31,0x32,0x33,0x34, d 0x35,0x36,0x37,0x38, d 0x39。 /*gd*全局变量宏定义*/uchar hour,hghdourshi,hourge,minute,minute

25、shi,minutege, second,strecondshi,secondge,haomiao,haomiaoshi,haomiaoge。uchar chucun。/fg存储设置时间时地当前值ghvoghid delayns(uint US) rht uintrut i。 US=UtyS*5/4。 /5/4是在8MHz晶振下,通过软件仿真反复实验得到地数值 for( i=0ye。iUS。i+)。 void delay(yuint MS) ty uitnt i,j。 foutr( i=0。iMS。i+) for(tuj=0。j1141。j+)。 /1141是在8MHz晶振下,通过软件仿真反复

26、实验得到地数值/*tur*函数名称tru: LCD1602_write_com(uchar com)功 能: ut向1602液晶写入一个字节指令参 数: coutm是指令返回值 : 无tu/*/void LCD1602_uywrite_com(uchar com)yu utr LCD_RS_L。 LCD_RW_L。 true LCD_DATA=com。 dutrelay(5)。 LCDtru_OE_H。 delay(5tur)。 LCD_OE_utrL。utr/*函数tru名称: LCD1602_write_dat(uchar dat)功 能utr: 向1602液晶写入一个字节数据参 数: d

27、atrut是数据返回值 : 无tru/*rtu*/void LCD1602_write_dat(uchar dat) rtu LrtuCD_RS_H。 LCDrtu_RW_L。 LCD_DrutATA=dat。 delay(5)。rut LCD_OE_Hrut。 delay(5)。rut LCD_OE_Lu。sru/*函数名称: LCD1602_init()功 yse 能: 初始化1602液晶参 ry数: 无返回值 ser: 无/*u*/void LCD1602se55u_init()s LruCD_OUT。 LCsruD_C_DDR。 LCD_OE_L。 LCD1urt602_write_c

28、om(0X38)。/设置16*2显示,5*7点阵,8位数据接口 delay(5)。tru LCD1602_write_com(0X0C)。/设置开显示,不显示光标 delay(5)。 LCD1602_write_com(0X01)。/显示清0,数据指针清0 delay(5)。 LCD1602_write_com(0X06)。/写一个字符后地址指针加1 delay(5)。 /LCD1602_write_com(0X80+0x0f)。/将数据指针定位到第一行第一个字处:LCD1602_write_com(0X80) /delay(5)。 /写第二行时要重新定位数据指针 /write_com(0X80+0x40) /*函数名称: DS1302_init功 能: 初始化DS1302地数据接口参 数: 无返回值 : 无/*/void DS1302_portinit(void) DDRB|=BIT(RTC_CLK)|BIT(RTC_DATA)|BIT(RTC_CS)。/将时钟端(RTC_CLK)数据端(RTC_DATA)片选端(RTC_CS)设置为输出 DS1302_writeD(C_WP|WR,UPROTECT)。 /写入写允许命令 DS1302_wr

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

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