at89c51单片机-交通灯控制系统(含源码及仿真图)大全
- 格式:doc
- 大小:1.31 MB
- 文档页数:40
用单片机控制交通灯传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。
采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。
下面介绍一种用单片机控制交通灯的方法。
一、硬件硬件电路如附图。
AT89C2051的P1.7~P1.5和P1.3~P1.1直接驱动红、黄、绿灯,利用单片机的串口和二片74LS164串/并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。
二、软件交通灯有红、黄、绿三种。
红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。
红灯亮60秒,绿灯亮55秒,黄灯亮5秒。
每组灯的亮暗状态以2分钟为周期循环,故程序采用主、子程序方式,循环结构。
另外,为了简化电路,红、黄、绿灯采用低电平点亮。
源程序清单如下:ORG0000HSTART:MOVDRTR,#TABMOVSCON,#00HMOVP1,#6CH;点亮红、绿灯MOVR0,#0;R0清零LEFT:INCR0CJNER0,#55,LP0;R0<55,转LP0MOVP1,#6AH;R0=55,点亮红、黄灯LJMPLP1LP0:CJNER0,#60,LP1;R0<60,转LP1MOVP1,#0C6H;R0=60,点亮绿、红灯LJMPRIGHTLP1:LCALLDBDBLCALLDISPLJMPLEFT;20H为1,转LEFTRIGHT:DECR0CJNER0,#5,LP2;R0>0,转LP2MOVP1,#0A6H;R0=5,点亮黄、红灯LJMPLP3LP2:CJNER0,#0,LP3MOVP1,#6CH;R0=0,点亮红、绿灯LJMPLEFTLP3:LCALLDBDBLCALLDISPLJMPRIGHTDBDB:MOVA,R0MOVB,#10DIVABMOVR1,AMOVR2,BRETDISP:MOVA,R2MOVCA,@A+DPTRMOVSBUF,AJNBTI,$;查TI位CLRTIMOVA,R1MOVCA,@A+DPTRMOVSBUF,AJNBT1,$CLRTILCALLDEALYRETDELAY:MOVR3,#09HK1:MOVR4,#100K2:MOVR5,#250K3:DJNZR5,K3DJNZR4,K2KJNZR3,K1RETTAB:DB3FH,06H,5BHDB4FH,66HDB6DH,7DH,07HDB7FH,6FH三.实验电路及连线四.实验说明1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。
模拟交通灯设计报告题目交通信号灯控制系统团队研发区第二组完成时间2011-11-31贵州民族学院开放实验室`目录一、项目名称 (1)二、选题背景 (1)2.1 课题背景 (1)2.2 交通灯的历史 (1)三、单片机简介 (2)3.1 单片机的发展历程 (2)3.2 单片机的特点: (3)3.3 AT89C52单片机简介 (4)四、设计基本要求和步骤 (5)4.1 基本要求 (5)4.2 设计步骤 (6)五、硬件和软件设计 (6)5.1 硬件电路图 (6)5.2 程序流程图 (8)主程序 (8)运行过程 (9)LED显示程序 (10)T0中断 (11)INT0中断 (11)5.3 P0、P1口显示状态编码表 (12)5.4 程序源代码 (12)5.5 程序运行效果图 (21)六、心得体会 (22)七、参考文献................................................................................. 错误!未定义书签。
模拟交通灯设计报告一、项目名称十字路口交通信号灯控制系统二、选题背景2.1 课题背景由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。
日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。
随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。
2.2 交通灯的历史1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。
摘要随着中国城镇化速度的较快,交通事故也日趋发生,所以合理的交通控制方法能有效的缓解交通拥挤、减少尾气排放及能源消耗、缩短出行延时,改善我国独有的交通问题。
而平面交叉口是城市交通的关键,它是整个城市道路的瓶颈地带,对其进行交通信号控制方法的研究具有重大意义。
所以交通信号灯是维护城市交通的主要设施,而我们本次复杂的十字路口交通灯控制系统设计主要是利用AT89C51制作并仿真.并且在单片机的选择上,考虑到电路的简单和成本的削减,我们选择性价比最好的AT89C51,而且能够使程序简单。
对紧急车辆通过的处理,采用中断的方法,由中断处理程序处理。
通过单片机控制交通灯不仅能提高我们理论联系实际的能力,而且能够熟练掌握汇编语言的编程方法,掌握定时/计数器的使用方法和简单程序的编写,最终提高逻辑抽象能力和动手能力。
关键字:AT89C51 中断交通信号控制目录1 概述 (1)2 原理及说明 (2)3 硬件电路设计 (3)3.1 单片机复位电路 (3)3.2 交通LED灯外围驱动电路 (3)3.3 单片机主电路 (4)3.4 整体电路图设计 (5)4 软件设计 (6)4.1 系统程序流程图设计 (6)4.2 系统程序设计 (6)总结 (10)感谢 (11)参考文献 (12)1 概述目前在世界范围内,一个以微电子技术、计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。
为使我国尽快实现经济信息化,赶上发达国家水平,必须加速发展我国的信息技术和信息产业。
而计算机技术怎样与实际应用更有效的结合并有效的发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活跃的领域。
本文主要从单片机的应用上来实现十字路口交通灯的管理,用以控制过往车辆的正常运作。
本设计从定时控制控制着手,解决交叉口信号控制中存在的问题:定时控制信号周期固定,不能根据实际的交通流状况随时调整信号控制参数,因此造成很多不必要的时间等待和资源浪费;对左转车辆较少的单交叉口一般采用有固定左转相位的定时控制方法,此信号控制中的左转车辆通行对直行车辆影响很大;行人过街信号与上游交叉口的不协调导致车辆通过上游交叉口后遇到行人过街而再次停车。
Proteus仿真原理图:Keil C源程序:#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit RED_DONGXI = P1^0;//南北方向红灯亮sbit YELLOW_DONGXI = P1^1;//南北方向黄灯亮sbit RED_NANBEI = P1^3;//东西方向红灯亮sbit GREEN_DONGXI = P1^2;//南北方向绿灯亮sbit YELLOW_NANBEI = P1^4;//东西方向黄灯亮sbit GREEN_NANBEI = P1^5;//东西方向绿灯亮sbit DXweixuan1 = P1^6;//南北方向数码管位选1sbit DXweixuan2 = P1^7;//南北方向数码管位选2sbit NBweixuan1 = P3^0;//东西方向数码管位选1sbit NBweixuan2 = P3^1;//东西方向数码管位选2sbit L1=P3^5;sbit L2=P3^6;sbit L3=P3^7;uint aa, bai,shi,ge,bb;uint shi1,ge1,shi2,ge2;uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uint code table1[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};void delay(uint z);void init(uint a);void display(uint shi1,uint ge1,uint shi2,uint ge2);void xtimer0();void init1();void init2();void init3();void init4();void init5();void xint1();void xint0();void LED_ON();void LED_OFF();void main(){P0=0xFF;P1=0xFF;P2=0x00;P3=0xFF;EA=1;EX0=1;IT0=0;init1();while(1){init2();//第2个状态init3(); //第3个状态init4(); //第4个状态init5();//第5个状态}}void init1()//第一个状态:东西、南北方向均亮红灯5S {uint temp;temp=5;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){RED_DONGXI=0; //第一个状态东西、南北均亮红灯5SRED_NANBEI=0;GREEN_DONGXI=1;GREEN_NANBEI=1;YELLOW_DONGXI=1;YELLOW_NANBEI=1;if(aa==20)//定时20*50MS=1S{aa=0;temp--;}shi1=shi2=temp/10;ge1=ge2=temp%10;if(temp==0){temp=5;break;}display(ge1,shi1,ge2,shi2);}}void init2()//第二个状态:东西亮红灯30S~5S、南北亮绿灯25~0S;{uint temp;temp=26;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){RED_DONGXI=1;RED_NANBEI=0;GREEN_DONGXI=0;GREEN_NANBEI=1;YELLOW_DONGXI=1;//第二个状态:东西亮绿灯25S、南北亮红灯YELLOW_NANBEI=1;if(aa==20)//定时20*50MS=1S{aa=0;temp--;shi1=(temp+5)/10;ge1=(temp+5)%10;shi2=temp/10;ge2=temp%10;if(temp==0){temp=26;break;}}display(ge1,shi1,ge2,shi2);}}void init3() //第三个状态:东西绿灯变为黄灯闪5次、南北亮红灯5S {uint temp;temp=6;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){RED_NANBEI=0;GREEN_DONGXI=1;if(aa==20)//定时20*50MS=1S{aa=0;temp--;YELLOW_DONGXI=~YELLOW_DONGXI;shi1=temp/10;shi2=shi1;ge1=temp%10;ge2=ge1;}if(temp==0){temp=6;break;}display(ge1,shi1,ge2,shi2);}}void init4()//第四个状态:东西亮绿灯25~0S,南北方向亮红灯30~5S;{uint temp;temp=26;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){RED_DONGXI=0;RED_NANBEI=1;YELLOW_DONGXI=1;//第一个状态东西、南北均亮红灯5SGREEN_NANBEI=0;if(aa==20){aa=0;temp--;shi1=temp/10;shi2=(temp+5)/10;ge1=temp%10;ge2=(temp+5)%10;if(temp==0){temp=26;break;}}display(ge1,shi1,ge2,shi2);}}void init5()//第五个状态:东西亮红灯、南北绿灯闪5次转亮黄灯5S {uint temp;temp=6;TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;while(1){RED_NANBEI=1;RED_DONGXI=0;GREEN_DONGXI=1;GREEN_NANBEI=1;if(aa==20){aa=0;temp--;YELLOW_NANBEI=~YELLOW_NANBEI;shi1=temp/10;shi2=shi2;ge1=temp%10;ge2=ge1;if(temp==0){temp=6;break;}}display(ge1,shi1,ge2,shi2);}}void display(uint shi1,uint ge1,uint shi2,uint ge2) {DXweixuan1=0;DXweixuan2=1;NBweixuan1=1;NBweixuan2=1;P0=table[ge1];delay(5);DXweixuan1=1;DXweixuan2=0;NBweixuan1=1;NBweixuan2=1;P0=table[shi1];delay(5);DXweixuan1=1;DXweixuan2=1;NBweixuan1=0;NBweixuan2=1;P0=table[ge2];delay(5);DXweixuan1=1;DXweixuan2=1;NBweixuan1=1;NBweixuan2=0;P0=table[shi2];delay(5);}void xint0() interrupt 0 {RED_NANBEI=0;RED_DONGXI=0;GREEN_NANBEI=1;GREEN_DONGXI=1;YELLOW_NANBEI=1;YELLOW_DONGXI=1;P0=0x00;NBweixuan1=0;NBweixuan2=0;DXweixuan1=0;DXweixuan2=0;delay(2);return ;}void xint1() interrupt 2 {RED_NANBEI=1;RED_DONGXI=1;GREEN_NANBEI=0;GREEN_DONGXI=0;YELLOW_NANBEI=1;YELLOW_DONGXI=1;P0=0x00;NBweixuan1=0;NBweixuan2=0;DXweixuan1=0;DXweixuan2=0;delay(2);return ;}void xtimer0() interrupt 1 {TH0=(65535-50000)/256;TL0=(65535-50000)%256;aa++;}void delay(uint z){uint x,y;for(x=0;x<z;x++)for(y=0;y<110;y++); }。
设计任务书设计要求和技术指标1、技术指标:设计一个十字路口的交通灯控制电路,每条道路上各配有一组红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示该道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该道路允许通行。
该电路自动控制十字路口两组红、黄、绿交通灯的状态转换,实现十字路口自动化。
2、设计要求(1)要求甲车道和乙车道上的车辆交替运行,每秒通行时间为25秒种;(2)要求黄灯先亮5秒种,才能变换车道;(3)黄灯亮时要求每秒闪亮一次;(4)要求绘出原理图,并用Protel画出印制板图;(5)根据设计要求和技术指标设计好电路,选好元件及参数;(6)拟定测试方案和设计步骤;(7)写出设计性报告。
录` 目一、项目名称................................................................................. 错误!未定义书签。
二、选题背景 (2)2.1 课题背景 (2)2.2 交通灯的历史 (2)三、单片机简介 (3)3.1 单片机的发展历程 (3)3.2 单片机的特点: (4)3.3 AT89C51单片机简介 (4)四、设计基本要求和步骤 (6)4.1 基本要求 (6)4.2 设计步骤 (7)五、硬件和软件设计 (7)5.1 硬件电路图 (7)5.2 程序流程图 (9)主程序 (9)运行过程 (10)LED显示程序 (11)T0中断 (12)INT0中断 (12)5.3 P0、P1口显示状态编码表 (13)5.4 程序源代码 (13)5.5 程序运行效果图 (18)六、心得体会 (20)七、参考文献 (21)摘要本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。
系统包括人行道、左转、右转、以及基本的交通灯的功能。
系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间、违规车辆检测以及根据具体情况手动控制等功能。
课程设计报告 题 目 十字路口交通灯控制系统设计课 程 名 称 单片机原理及应用课程设计 院 部 名 称 信息技术学院 专 业 电子信息工程 班 级 学 生 姓 名 X X X 学 号 XXXXXXXXXX 指 导 教 师目录一、设计题目 (2)二、设计目的 (2)三、设计任务 (2)四、设计思路 (3)4.1设计思路 (3)4.2系统总体框图 (3)4.3资源分配 (3)五、硬件原理图和连接图 (9)六、程序流程图 (13)七、设计心得 (14)八、参考文献 (15)九、附录 (15)一、设计题目十字路口交通灯控制系统设计二、设计目的系统功能要求:本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急处理等功能。
此十字路口交通灯控制系统,分东西道和南北道,设南北道为A道,东西道为B道。
规定:首先,东西路口红灯亮,南北路口绿灯亮,同时开始30s倒计时,以7段数码管显示时间。
25s倒计时结束后开始5s倒计时,南北路口的绿灯闪烁,计时到最后2s时,南北路口黄灯亮。
完成1次这样的循环需要30s。
30s 结束后,南北路口红灯亮,东西路口绿灯亮,并重新30s倒计时,依次循环。
若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过。
(1)倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。
驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。
倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。
(2)时间的设置本设计中可通过键盘对时间进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。
键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。
江西科技师范大学通信与电子学院《单片机应用技术》实训报告实训题目:模拟交通灯小组成员:龚石冲罗仁敏曾建伟班级:12电子科学与技术指导老师:熊朝松一、实训选题内容、要求交通模拟灯要求:1、南北方向为主干道,东西方向为支路;主干路绿灯时间为45秒,红灯时间为35秒;支路绿灯时间30秒,红灯时间为50秒,两个方向的黄灯时间都为4秒;2、使用定时器实现时间的倒计时;用显示部件显示主干道路的倒计时变化;3、设计三个外部按钮,分别用以手动控制紧急情况下两个方向同时禁通过;南北方向长时间通过(不显示时间倒计时变化);东西方向长时间通过;释放按钮后则正常通行。
二、实训计划和人员安排经小组人员商定,分工完成任务,在课余时间完成。
若其中遇到什么问题,大家聚在一起讨论解决。
具体分工如下:1、程序编写:龚石冲2、实体焊接:龚石冲3、实训报告:罗仁敏4、视频及PPT:曾建伟三、实训选题分析交通灯由东西南北四向灯,倒计时显示,人行横道通行指示标志等部分组成。
其中东西南北四向灯中的每一向都由红、黄、绿三色灯组成;东西为一组,南北为一组。
黄灯在红绿灯之间转换时亮。
倒计时显示表示红、黄、绿灯亮时所剩时间。
由于人行横道通行指示标志与红灯是同步的,所以在模拟交通灯时省略。
交通会遇到一些突发情况。
因此交通信号灯要设定一些特定功能,以防不时之需。
整个电路由单片机完成,控制部分由软件完成,硬件只负责响应。
四、方案设计方案一:主控系统采用AT89C51单片机作为控制器,由定时器1间接控制通行倒计时及南北和东西的通行。
由按键开关完成禁止通行,东西通行,南北通行。
方案二:主控系统采用AT89C51单片机作为控制器,由延时函数完成信号灯的相互转换,由定时器完成通行倒计时。
由按键开关完成禁止通行,东西通行,南北通行。
方案比较:方案二由于信号灯的相互转换与倒计时显示用的是两种独立的方法完成,要把这两种方法运行的时间达到一致,这大大的增大了程序的难度,而方案一切采用了同一种方法。
基于89C51的交通灯控制系统设计目录摘要 (1)1.设计任务与要求 (1)2.系统硬件设计 (1)3。
系统软件设计 (4)4. Proteus软件仿真 (5)5.设计心得 (6)6。
参考文献 (7)附录 (7)交通灯控制系统设计摘要自从1858年英国人发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。
近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中.本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制.从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统等组成,较好的模拟了交通路面的控制。
关键词:交通灯单片机数码管LED灯1。
设计任务与要求东西、南北两干道交于十字路口,各干道有一组红、绿、黄三个指示灯,指挥车辆和行人安全通行。
东西方向为主干道,通行时间为40秒;南北方向为支干道,通行时间为30秒.通行时间最后3秒,绿灯灭,黄灯闪烁,黄灯闪烁完毕变更通行车道.通行时间由数字显示器显示,黄灯3秒闪烁不单另计时。
2.系统硬件设计根据上面的功能要求,硬件系统主要有单片机模块、指示灯模块和倒计时显示模块。
各模块选择如下:(1)单片机模块主控芯片采用AT89C51单片机,其管脚图如图1所示。
图1 AT89C51引脚图AT89C51是AT89C5X系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
滨江学院单片机交通灯的控制系统设计学生姓名学号专业通信工程班级指导老师———————————二O一三年十二月八日基于AT89C51单片机的交通灯控制系统设计摘要:本文研究的是以AT89C51单片机为控制器的智能交通灯控制系统,通过车辆检测电路采集路况信号,经单片机处理后,分配各车道的绿灯时间,实现车流动态调节,并由74HC244驱动LED数码管显示通行倒计时;左拐、右拐、直行及行人的通行指示灯采用双色高亮度发光二极管,设计中还添加了声音提示电路,方便盲人过人行道。
本设计是以软件和硬件相结合的方式来实现,文中给出了具体的硬件电路图和软件流程及程序源码。
关键词:智能交通灯,AT89C51,车辆检测,74HC244,LEDAbstract: This study is based on AT89C51 single-chip microcomputer intelligent controller for traffic lights controlsystem, traffic signal acquisition, SCM processing, distributionof green light time for each lane, the traffic flowdynamicadjustment, and driven by the 74HC244 LED digital tubedisplay trafficcountdown; traffic lights turn left, turn right, go straight and pedestrian using dual color high brightnesslight-emitting diode, design also added voice promptcircuit, convenient for the blind to the sidewalk. This design is a combination ofsoftware and hardware to achieve, this paper give a specific hardware circuitdiagram and software flow chart and program source code. Key words: intelligent traffic lights, AT89C51, vehicledetection, 74HC244,LED1 引言在人类的生活、工作环境中,交通扮演着极其重要的角色,人们无时无刻不与交通打交道。
MSC-51系列单片机IntelAT89C51为中心器件设计交通灯控制器(附源程序和电路图)一、工程简介(一)、概述本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。
假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。
然后转状态一东西绿灯通车,南北为红灯。
过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。
再转状态三南北绿灯通车,东西红灯。
过段时间转状态四南北绿灯闪几次转黄灯,延时几秒,东西仍为红灯。
最后循环至状态一。
交通信号灯模拟控制系统设计利用单片机的定时器定时,控制十字路口红绿灯交替电亮和熄灭,并且用LED数码管显示时间,但由于时间及水平的不足,在此实验中不显示。
用十二个发光二极管代替交通灯进行实验设计。
这次设计是《微机接口与控制技术》课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固所学的知识及提高应用水平.在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法.提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。
为今后的毕业设计、及从事微机控制系统的设计与维护奠定坚实的基础。
这次课题设计的意义在于通过具体的控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。
使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。
(二)、工艺流程图因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西南北灯都熄灭。
然后转状态1东西绿灯通车,南北红灯。
过一段时间转状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯。
过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED 数码管显示时间,但由于时间和水平的限制就不显示时间。
摘要一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。
信号灯控制的实现是通过电路与汇编程序的结合来完成,其中信号灯的模拟采用了发光二极管,发光二极管有熄灭、点亮和闪烁三种信号,其中闪烁信号的产生运用了延时程序来实现,而时间倒数方面引进了LED数字显示,克服了人们在等待时的心急的心情,减少了红灯未灭,闯红灯的现象。
电路部分原理图是通过用PROTEL软件绘制设计,汇编程序的设计与调试都在KEIL上完成。
最后使用PROTEUS软件上的虚拟元件来代替所有的电路元件完成整个系统的调试和仿真,这样就大大保证了焊制硬件实物能正常运行。
本系统功能设计完善,采用AT89C51单片机为核心,具有实用,方便,灵活的特点。
随着电子技术的广泛应用,车辆日益增多将成为一种发展趋势,所以要有一套安全可靠的交通指示灯。
关键字:AT89C51;LED显示;交通灯目录第一部分设计任务 (3)1.1 设计题目及要求 (3)1.2 备选方案设计与比较 (3)1.2.1方案一 (3)1.2.2方案二 (3)1.2.3方案三 (3)1.2.4各方案分析比较 (3)第二部分系统硬件平台的设计 (4)2.1 总体设计方案说明 (4)2.1.1 设计原理分析 (4)2.2 单片机概述 (5)2.2.1 单片机处理器 (5)2.3 硬件电路的设计 (9)2.4 时钟电路设计 (9)2.4.1 时钟电路及参数计算 (9)2.4.2 工作原理和功能说明 (9)2.5 复位电路设计 (10)2.5.1 复位电路及参数计算 (10)2.5.2 工作原理和功能说明 (10)第三部分系统软件的设计与实现 (10)3.1 程序框图及主程序流程图 (10)3.1.1 软件设计思路 (10)3.1.2 程序框图如图5所示 (11)3.1.3 主程序设计 (11)3.1.4 定时中断子程序 (11)3.2 十字路口交通灯仿真 (12)3.2.1 仿真软件简介 (12)3.2.2 仿真电路图 (13)3.2.3 仿真结果(附图) (13)第四部分安装调试与性能测量 (14)4.1 电路安装 (14)4.2 系统软件、硬件调试 (15)4.2.1 调试步骤及测量数据 (15)4.2.2 故障分析及处理 (16)参考文献: (17)课程设计总结 (17)注:报告正文的排版: (18)第一部分设计任务1.1 设计题目及要求1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
交通信号灯控制系统目录一、项目名称...................................................... 错误!未定义书签。
二、选题背景...................................................... 错误!未定义书签。
课题背景.................................................... 错误!未定义书签。
交通灯的历史................................................ 错误!未定义书签。
三、单片机简介.................................................... 错误!未定义书签。
单片机的发展历程............................................ 错误!未定义书签。
单片机的特点:.............................................. 错误!未定义书签。
AT89C51单片机简介........................................... 错误!未定义书签。
四、设计基本要求和步骤 ............................................ 错误!未定义书签。
基本要求.................................................... 错误!未定义书签。
设计步骤.................................................... 错误!未定义书签。
五、硬件和软件设计 ................................................ 错误!未定义书签。
硬件电路图.................................................. 错误!未定义书签。
程序流程图.................................................. 错误!未定义书签。
主程序 ................................................... 错误!未定义书签。
运行过程 ................................................. 错误!未定义书签。
LED显示程序.............................................. 错误!未定义书签。
T0中断................................................... 错误!未定义书签。
INT0中断................................................. 错误!未定义书签。
P0、P1口显示状态编码表...................................... 错误!未定义书签。
程序源代码.................................................. 错误!未定义书签。
程序运行效果图.............................................. 错误!未定义书签。
六、心得体会...................................................... 错误!未定义书签。
七、参考文献...................................................... 错误!未定义书签。
微机原理与接口技术专周报告一、项目名称十字路口交通信号灯控制系统二、选题背景课题背景由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。
日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。
随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。
交通灯的历史1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。
1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。
稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。
随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。
它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。
中国最早的马路红绿灯,是于1928年出现在上海的英租界。
三、单片机简介单片机的发展历程单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
在MCS-51系列单片机中,有两个子系列:51子系列和52子系列。
每个子系列有诺干中型号。
51系列有8051、8751和8031三个型号,后来经过改进产生了80c51、87c51、80c31三个型号;52系列有5021、8752、8032三个型号,改进后的型号是80c52/87c52、80c32。
改进后的型号更加省电。
52系列比对应的51系列增加了定时器T2并将内部程序存贮器增加到8KB。
Inter公司停止生产MCS-51系列单片机之后将生产权转让给了许多其他公司,于是出现了许多与Mcs-51兼容的单片机。
现在生产mcs-51兼容单片机的公司对其进行了不同程度的改进和提高。
我们现在使用比较的多的是AT89C51/AT89s51等。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗单片机的特点:(1)性价比高,开发周期短,易于产品化,(2)集成度高,可靠性好,抗干扰性强,(3)功能完善,接口多样,(4)低功耗、低电压一般电源供电电压在5~3V范围内单片机都能正常工作,供电的下限可达1~2V。
(5)总线多样,易于扩展单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。
外部总线增加了I2C及SPI等串行总线方式, 可根据需要进行并行或者串行扩展。
1AT89C51单片机简介AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路四、设计基本要求和步骤十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
2基本要求本系统需要采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器,实现以下功能:1.初始东西绿灯亮,南北红灯亮,东西方向通车。
2.延时27s,东西路口绿灯熄灭,黄灯闪烁3次。
3.黄灯闪烁后,东西路口红灯亮同时南北路口绿灯亮,南北方向开始通车。
4.延时27s,南北方向绿灯灭,黄灯闪烁3次,然后又切换成东西方向通车,如此重复。
5.当发生交通意外(中断产生)时,全部亮红灯,进行交通事故的处理。
当事故处理完毕(再次按中断键),重新按上述方式工作。
6.当南北路口的流量大时,可以增加南北路口亮绿灯的时间,当东西路口的流量大时,可以增加东西路口亮绿灯的时间,结束后调回正常状态。
设计步骤1.利用Proteus SP3仿真软件按下列要求绘制仿真实例用4个共阳极LED数码管的分别表示东、西、南、北四个方向路口,以数码管的上、中、下3个横段分别代表红、黄、绿3盏灯用P0、P1口分别输出控制模拟交通灯的状态显示的数码管和倒计时显示数码管的状态码P3^1、P3^2、P3^4~~~P3^7控制数码管的位选P2^0~~~P2^4接收中断信号并反馈给INT0接口进行中断处理2.按照基本要求编制程序实现相应功能。
五、硬件和软件设计硬件电路图硬件电路图通过Proteus SP3仿真之后如图1所示,其中:按钮K0连接P2^0端口实现红灯全亮,处理交通意外按钮K1连接P2^1端口实现南北方向亮灯时间+1s3按钮K2连接P2^2端口实现南北方向亮灯时间-1s按钮K3连接P2^3端口实现东西方向亮灯时间+1s按钮K4连接P2^4端口实现东西方向亮灯时间-1s整体实验连接电路如下图所示:图1 整体连接电路图4程序流程图578P0、P1口显示状态编码表程序源代码#define uchar unsigned char#include<>/**************************变量、控制位定义**************************/uchar code table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//0~~9段选码uchar code table1[28]={0xF7,0xFE,0xF7,0xFE,0xBF,0xFE,0xBF,0xFE,0xFF,0xFE,0xFF,0xFE, 0xFE,0xF7,0xFE,0xF7,0xFE,0xBF,0xFE,0xBF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFE,0xFE,0xFE};/*各种状态下红绿灯段选码,状态(0-3):EW绿灯,SN红灯;状态(4-7):EW黄灯亮,SN红灯;状态(8-11):EW黄灯灭,SN红灯;状态(12-15):EW红灯,SN绿灯;状态(16-19):EW红灯,SN黄灯亮;状态(20-23):EW红灯,SN黄灯灭;状态(24-27):EWSN全红灯*/uchar code tab[4]={0x1E,0x2D,0x4E,0x8D};//数码管显示位选码uchar EW=30,SN=30,EW1=30,SN1=30;//初始化交通灯时间uchar count;//计时中断次数uchar i,j;//循环控制变量sbit Busy_Button=P2^0;//交通意外控制位sbit SN_Add=P2^1;//SN通行时间加按钮sbit SN_Red=P2^2;//SN通行时间减按钮sbit EW_Add=P2^3;//EW通行时间加按钮sbit EW_Red=P2^4;//EW通行时间减按钮char Time_EW;//EW方向计时char Time_SN;//SN方向计时/**************************延时子程序**************************/ void Delay(uchar a)//循环a次{uchar x;x=a;while(x--){;}}/*************************数码管显示子程序*************************/ void Display(uchar j)//j控制显示table中连续位的起始点{char h,l;if(j<11)//根据状态判定时间{h=Time_EW/10;//EW通行时间十位l=Time_EW%10;//EW通行时间个位}else if(j<23){h=Time_SN/10;//SN通行时间十位l=Time_SN%10;//SN通行时间个位}for(i=0;i<4;)//按位显示通行状况及时间{P0=table1[j];//通行状况显示P3=tab[i];//位选显示i++;j++;if(i%2)//两位计时显示{P1=table[l];Delay(400);}else{P1=table[h];Delay(400);}}Delay(5);}/***********************INT0外部中断服务程序***********************/ void EXINT0(void) interrupt 0//INT0外部中断{EX0=0;//关中断if(Busy_Button==0){P0=0xFE;//意外按钮按下全显示红灯for(;Busy_Button!=1;)//意外按钮弹起时恢复之前状态Display(24);}/*四个时间控制按钮分别控制SN、EW方向初始通行时间加减,最长不超过s,最少不低于s*/if(SN_Add==0)//SN+1{SN1+=1;if(SN1>99)SN1=99;}if(SN_Red==0)//SN-1{SN1-=1;if(SN1<20)SN1=20;}if(EW_Add==0)//EW+1{EW1+=1;if(EW1>99)EW1=99;}if(EW_Red==0)//EW-1{EW1-=1;if(EW1<20)EW1=20;}EX0=1;//开中断}/************************TO计时中断服务程序************************/ void timer0(void) interrupt 1 using 1//T0中断{TH0=0x3C;TL0=0xB0;//定时计数初值count++;//中断溢出一次count+1if(count==20){Time_EW--;Time_SN--;count=0; //中断次计数s,count回,倒计时时间-1}}/**************************亮灯控制**************************/ void Process(){Time_EW=EW;//初始化东西方向通行时间while(Time_EW>3)//状态:EW绿灯,SN红灯{j=0;Display(j);//调用显示函数}while(Time_EW>0)//状态-3:EW黄灯闪烁{if(count<10)//状态:EW黄灯亮{j=4;Display(j);}else//状态:EW黄灯灭{j=8;Display(j);}}SN=SN1;//重置SN方向时间Time_SN=SN;//初始化南北方向通行时间while(Time_SN>3)//状态:EW红灯,SN绿灯{j=12;Display(j);}while(Time_SN>0)//状态-6:SN黄灯闪烁{j=16;if(count<10)//状态:SN黄灯亮{Display(j);}else//状态:SN黄灯灭{j=20;Display(j);}}EW=EW1;//重置EW初始时间}/**************************主程序**************************/ main(){TMOD=0x01;//定时器工作方式TH0=0x3C;//定时器初始化TL0=0xB0;IT0=1;//中断触发方式为下降沿触发EA=1;//CPU开中断ET0=1;//开定时中断TR0=1;//启动定时EX0=1;//开外部INT0中断while(1){Process();}}程序运行效果图图2 正常状态图3 黄灯状态图4 紧急状态图5 延长通行时间六、心得体会通过这次交通灯的课程设计,使我得到了一次用专业知识、专业技能分析和解决现实问题的能力。