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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于单片机的车辆闯红灯报警装置李鑫Word文件下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的车辆闯红灯报警装置李鑫Word文件下载.docx

1、2 设计方案及原理按照系统设计要求,该系统分为两大模块:一个交通灯模块,用来产生红灯信号,并将红灯信号发送给另一个模块;一个车辆闯红灯信号采集模块。其中最重要的是闯红灯信号采集模块,该模块的作用如下:当接收到红灯信号时判断信号的方向,即是东西红灯信号还是南北红灯信号,再接着判断交通灯处于红灯时有无车辆从相应的方向通过,若有车辆通过就发出声音报警,实现闯红灯报警的功能。系统组成框图如图2-1所示。图2-1 车辆闯红灯报警系统组成框图3 硬件设计3.1 主控模块AT89C51单片机AT89C51在复位电路、晶振电路以及电源电路的共同作用下才能正常工作。具体硬件连接图如图3-1所示。(完整硬件连接图

2、见附录1) 图3-1 复位电路、晶振电路与单片机之间的连线图3.2 LED显示模块LED数码管的段控和位选的引脚分别与AT89C51的相连,将各灯光的亮灯时间显示出来。为提高显示亮度,在此用上拉电阻(排阻)作为段控输出驱动。具体的硬件连接图如图3-2所示。(完整硬件连接图见附录1)图3-2 LED显示模块3.3 灯光显示模块利用单片机内部的定时器控制亮灯时长,当P2口的相应位置为高电平时,发光二极管就点亮,并利用不同颜色的发光二极管表示实际交通灯中的灯色。具体硬件连接图如图3-3所示。图3-3灯光显示模块3.4 灯光采集及报警模块AT89C51通过外部中断接收到红灯信号后调用中断函数,判断此时

3、有无车辆驶过,若有车辆闯红灯,系统就会启动报警装置,同时还会向交通灯模块发出中断请求,封闭交通以方便交警处理违章事故。具体硬件连接图如图3-4所示。图3-4 灯光采集及报警模块3.5 闯红灯信号采集模块在十字路口的中央放置两排电感线圈,同时用交通灯模块的端口P2.0和P2.7控制电感线圈工作。由于车辆为金属材质,当电感线圈通电且有车辆通过时就会发生电磁感应现象,产生电动势,经过处理之后将电信号传送给闯红灯处理模块。原理图如图3-5-1所示。由于在Proteus中无法仿真该模块,于是改用两个开关KDX和KNB来模拟车辆通过电感线圈。图3-5-1 闯红灯信号采集模块原理图3.6 电源设计该系统所有

4、的电源均采用5V直流电。实物图如图3-6-1所示。图3-6-1 直流稳压电源实物图4 软件设计4.1 交通灯模块软件设计该程序主要负责控制交通灯,程序流程图如图4-1所示。(具体程序见附录2)图4-1 交通灯模块流程图 4.2 闯红灯报警模块软件设计该块程序主要负责接收红灯信号并在红灯信号来临时判断电磁线圈有无信号传来,若有信号则启动报警并给交通灯模块一个外部中断使交通灯模块阻断交通。程序流程图如图4-2所示。(具体程序见附录3)图4-2 闯红灯报警模块流程图5 系统仿真及调试软件调试:先编写程序并进行硬件的正确性检验,然后分别进行主程序和LED显示器程序编译和调试;硬件调试:仔细检查电路有没

5、有漏接或是错接的地方,如果不理想,继续调整程序,直到得到正确结果。仿真结果见附录1所示。6 市场调研本系统所用元件清单及软件、人力市场价格如表6-1所示。名称规格型号价格(元)数量总价格(元)单片机AT89C513.026.0总线收发器74LS2451.51LED显示7SEG1.044.0开关发光二极管LED0.0514蜂鸣器BUZZER7.0排阻RESPACK-8直流电源50.0电磁系统100.0软件25人工费320总计423.5表6-1 市场调研综合以上的各条件我对自己的这套系统做出的估价是423.5元,我觉得这个报价较为合理,买卖双方应都能接受。7 总结所设计的系统能完成预计的功能即:能

6、检测并采集红灯信号,并且在车辆违规闯红灯时予以报警提示、封锁交通。通过这次的课程设计我很好的将课堂上所学的知识用到了实践当中锻炼了自己,虽然设计的并不十分完善,但通过这一周的努力所取得的结果我还是很满意的。附录1硬件连接及仿真图附录2#include #define uchar unsigned char #define uint unsigned int uchar data buf4; /缓冲区 uchar data sec_dx=20; /东西数默认 uchar data sec_nb=30; /南北默认值 uchar data set_timedx=20; uchar data set

7、_timenb=30;int n;uchar data b=0; /定时器中断次数 sbit Yellow_nb=P25; /南北黄灯标志 sbit Yellow_dx=P22; /东西黄灯标志 sbit Green_nb=P24;sbit Green_dx=P21;sbit Red_nb=P27;sbit Red_dx=P20;sbit kdx=P36; /东西红灯信号sbit knb=P37; /南北红灯信号bit time=0; /灯状态循环标志uchar code table11=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x0

8、0;void delay(int ms); /延时子程序 void display(); /显示子程序void Chushihua(); /开机void key(); /红灯信号采集void main()TMOD=0X01; /定时器0,工作方式1 TH0=0XD8;TL0=0XF0;EA=1; /开中断EX0=1; /外部中断0开中断ET0=1; /内部定时器T0开中断 TR0=1;Chushihua(); /开机P2=0Xc2; / 开始默认状态,东西绿灯,南北红灯 sec_nb=sec_dx+5;while(1)key();display(); /调用显示程序void display()

9、 /显示子程序buf1=sec_dx/10; /第1位 东西秒十位 buf2=sec_dx%10; /第2位 东西秒个位 buf3=sec_nb/10; /第3位 南北秒十位buf0=sec_nb%10; /第4位 南北秒个位P1=0xff; / 初始灯为灭的P0=0x00;P1=0xfe; /片选LCD1P0=tablebuf1;delay(1); P1=0xfd; /片选LCD2P0=tablebuf2;P1=0xfb; /片选LCD3 P0=tablebuf3; P1=0xff;P1=0Xf7; /片选LCD4P0=tablebuf0;void time0(void) interrupt

10、 1 /定时中断子程序 b+; if(b=19) /定时器中断次数 b=0; sec_dx-; sec_nb-;if(sec_nb=5&time=0) /东西黄灯闪 Green_dx=0;Yellow_dx=!Yellow_dx; if(sec_dxtime=1) /南北黄灯闪 Green_nb=0;Yellow_nb=!Yellow_nb;if(sec_dx=0&sec_nb=5)sec_dx=5;if(sec_nb=0&sec_dx=5) sec_nb=5;if(time=0&sec_nb=0)P2=0x19;time=!time;sec_nb=set_timenb;sec_dx=set_

11、timenb+5;if(time=1&sec_dx=0)P2=0xc2;sec_dx=set_timedx;sec_nb=set_timedx+5;void int0(void) interrupt 0 TR0=0; P2=0x48;sec_dx=00; sec_nb=00; P0=0x40; while(1) Chushihua(); void Chushihua()/- - - -for(n=0;n50;n+)P0=0x40; P1=0xfe; delay(1); P1=0xfd; P1=0Xfb; P1=0Xf7;void delay(int ms) uint j,k;for(j=0;j

12、ms;j+) for(k=0;k124;k+);void key()if(Red_nb=1)knb=!knb;knb=1; if(Red_dx=1) kdx=!kdx; delay(1); kdx=1;附录3#includesbit Kdx=P20;sbit Knb=P21; P1=0xFF; P2=0xFF; IE=0x85; TCON=0x05; while(1);void scan1() interrupt 0if(Kdx=0)delay(10);P1=0xFC;void scan2() interrupt 2if(Knb=0) delay(10); if(Knb=0) int j,k; for(j=0; for(k=0;参考文献1 杨居义,杨尧,杨晓琴等.2009.单片机课程设计指导北京:清华大学出版社2 王思明,苟军年,张鑫等.2012.单片机原理及应用系统设计.北京:科学出版社3 孙惠芹2009.单片机项目设计教程北京:电子工业出版社4 高卫东,辛友顺,韩彦征.2008.51单片机原理与实践.北京:北京航空航天大学出版社5 蔡文明,冯先成.2007.单片机课程设计.武汉:华中科技大学出版社

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

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