




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计题目:十字路口交通灯控制2一、 要求1、通过LED控制四个路口的红黄绿灯的变化。2、绿灯表示通行,红灯表示停止,黄灯表示等待。3、每次绿灯变红灯时黄灯先亮五秒,此时另外干道上的红灯不变。4、每次变化时绿灯闪烁五次。二、 分析课程设计采用实验室的单片机作为主控来实现十字路口交通灯的变化规律,十字路口的红绿灯交替变化,用双色发光二级管来模拟交通灯变化,使用定时器/计数器0作为定时器,从P1和P3口输出。三、 设计1、硬件设计(包括设计方案及说明、完整的硬件连接图等) (1)因为本实验是交通灯控制实验,所以要先了解交通灯的变化规律。假设一个十字路口为东西和南北方向,初始状态是状态0(各个路口都是红灯);首先是状态1(东路口通车,其他路口红灯);过一段时间装入状态2(东路口绿灯闪几次转黄灯亮,延时几秒,其他路口仍然红灯);再转入状态3(南路口绿灯亮,其他路口红灯亮);过一段时间转入状态4(南路口绿灯闪几次转黄灯亮,延时几秒,其他路口仍然红灯);再转入状态5(西路口绿灯亮,其他路口红灯亮);过一段时间转入状态6(西路口绿灯闪几次转黄灯亮,延时几秒,其他路口仍然红灯);再转入状态7(北路口绿灯亮,其他路口红灯亮);过一段时间转入状态8(北路口绿灯闪几次转黄灯亮,延时几秒,其他路口仍然红灯);最后循环至状态1。 (2)各用一组红黄绿色LED分别表示东南西北方向。 (3)由定时器来产生通车延时时间,时间间隔为5s。 (4)用软件延时方法产生“闪”延时时间。00、01、02分别表示东路口的红、黄、绿说明:用CPU的P1口和P3口输出控制信号,控制12个LED灯(红、黄、绿),模拟交通灯的管理。各个输出口对应的IO口如下:P1.0LED00P1.1LED01P1.2LED02P1.3LED0303、04、05分别表示南路口的红、黄、绿P1.4LED0406、07、08分别表示西路口的红、黄、绿P1.5LED05P1.6LED06P1.7LED0709、10、11分别表示北路口的红、黄、绿P3.2LED08P3.3LED09P3.4LED10P3.5LED112、软件编程(包括流程图、完整的汇编源程序及其注释)程序流程图如图1所示: 状态0状态1状态2状态3状态4状态5状态6状态7状态8程序如下:#includesfr light_address_1=0x90;sfr light_address_2=0xB0;sbit red_e=P10;sbit yellow_e=P11;sbit green_e=P12;sbit red_s=P13;sbit yellow_s=P14;sbit green_s=P15;sbit red_w=P16;sbit yellow_w=P17;sbit green_w=P32;sbit red_n=P33;sbit yellow_n=P34;sbit green_n=P35;bit light_up=0;bit light_down=1;unsigned char light_down_all=0xff;unsigned char count=0;void delay_MS(unsigned char data0);void Init_timer0(void);void light_state1();void light_state2();void light_state3();void light_state4();void light_state5();void light_state6();void light_state7();void light_state8();void main()Init_timer0();while(1)light_address_1=light_down_all;light_address_2=light_down_all;light_state1();light_address_1=light_down_all;light_address_2=light_down_all;light_state2();light_address_1=light_down_all;light_address_2=light_down_all;light_state3();light_address_1=light_down_all;light_address_2=light_down_all;light_state4();light_address_1=light_down_all;light_address_2=light_down_all;light_state5();light_address_1=light_down_all;light_address_2=light_down_all;light_state6();light_address_1=light_down_all;light_address_2=light_down_all;light_state7();light_address_1=light_down_all;light_address_2=light_down_all;light_state8();void light_state1() /东路口绿灯亮,其他路口红灯亮red_s=light_up;red_w=light_up;red_n=light_up;green_e=light_up;count=0;while(count100) void light_state2() /东路口绿灯闪几次转黄灯亮,延时几秒,其他路口红灯任然亮unsigned char j;red_s=light_up;red_w=light_up;red_n=light_up;for(j=0;j5;j+)green_e=light_up;delay_MS(500);green_e=light_down;delay_MS(500);yellow_e=light_up;count=0;while(count20) void light_state3() /南路口绿灯亮,其他路口红灯亮green_s=light_up;red_e=light_up;red_w=light_up;red_n=light_up;count=0;while(count100) void light_state4() /南路口绿灯闪几次转黄灯亮,延时几秒,其他路口红灯亮unsigned char j;red_e=light_up;red_w=light_up;red_n=light_up;for(j=0;j5;j+)green_s=light_up;delay_MS(500);green_s=light_down;delay_MS(500);yellow_s=light_up;count=0;while(count20) void light_state5() /西路口绿灯亮,其他路口红灯亮red_e=light_up;red_s=light_up;red_n=light_up;green_w=light_up;count=0;while(count100) void light_state6() /西路口绿灯闪几次转黄灯亮,其他路口红灯unsigned char j;red_e=light_up;red_s=light_up;red_n=light_up;for(j=0;j5;j+)green_w=light_up;delay_MS(500);green_w=light_down;delay_MS(500);yellow_w=light_up;count=0;while(count20) void light_state7() /北路口绿灯亮,其他路口红灯亮red_e=light_up;red_s=light_up;red_w=light_up;green_n=light_up;count=0;while(count100) void light_state8() /北路口绿灯闪几次转黄灯亮,其他路口红灯亮unsigned char j;red_e=light_up;red_s=light_up;red_w=light_up;for(j=0;j5;j+)green_n=light_up;delay_MS(500);green_n=light_down;delay_MS(500);yellow_n=light_up;count=0;while(count20) void delay_MS(unsigned char data0)unsigned char i,j;for(i=0;idata0;i+)for(j=0;j120;j+);void Init_timer0(void)TMOD=0x01;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=1;void Timer0_int() interrupt 1count+;TH0=0x3c;TL0=0xb0;3、调试说明在实验室将程序输入电脑进行编译,连接好试验箱上的P1口和P3口与各个LED灯的连线后,将程序通过STC下载软件下载到单片机中,然后上电运行,观察各个LED灯的变化,通过调试,能够达到实验要求,各个LED灯交替闪烁变化,实现交通灯的控制。下图是用keil软件编译的情况:下图是STC下载软件:4、设计结果及错误分析在软硬件都调试完毕之后,在把所烧写的程序烧入单片机之后,我们开始进行性能的测试,在按下电源按钮后,能够进入交通灯模拟状态,该设计呢鞥够改变红绿灯亮的时间,使交通运行时间更具优化,也更具人性化,在保证交通畅通的情况下减少等待时间。 写好程序后进行了程序的调试和分析,经过调试,只是少了路口左转的功能,具有直行和左转一体的功能,也有黄灯闪烁等待的过程。通过多次的调试分析和论证,最终将程序完整化,完善化。四、 总结本系统的硬件控制电路图简单,用汇编语言编程时,位操作指令用的较多,但遇到了很多困难,最后还是采用C语言编写。本软、硬件系统在单片机开发装置上调试运行取得较好的效果,对灵活有效地利用交通灯控制行车安全,车辆分流有一定的实际意义。从本交通信号灯自动控制系统的设计与实验中可以看出,涉及到数据输出程序的设计方法;模拟交通灯控制的方法;信号灯的使用.在此基础上我们可对其进行改进,加入中断的要求,从而涉及外部中断技术的基本使用方法和编程方法.8051内部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林防火基层知识培训会课件
- 桶装水工艺培训课件
- 桥梁质量培训课件
- 桥梁知识培训心得体会
- 大面积脑梗死的护理试题及答案
- 2025年外企招聘面试技巧与模拟题解析英语专项
- 2025年市场营销专业岗位能力测试题库及答案解析
- 2025年电商物流行业招聘物流运营总监的面试技巧及参考答案
- (2025校招)人工智能工程师招聘笔试试题及答案
- 2025年电商行业运营经理招聘面试题解析
- 我们为什么要努力学习-励志主题班会(课件)
- JJF 2182-2024农灌机井取水量计量监测方法
- 工作交接表模板
- 人教版PEP四年级英语上册全册课件
- 数据治理与数据中台建设方案
- 全册(教案)人教精通版英语六年级上册
- DL-T5455-2012火力发电厂热工电源及气源系统设计技术规程
- 穴位贴敷治疗过敏性鼻炎技术
- 公司自行车管理制度
- 《剧院魅影:25周年纪念演出》完整中英文对照剧本
- 蒋诗萌小品《谁杀死了周日》台词完整版
评论
0/150
提交评论