基于单片机控制的交通灯带程序
- 格式:doc
- 大小:1.44 MB
- 文档页数:23
单片机交通灯控制设计演示交通灯控制是单片机在交通管理中应用的重要内容之一、在城市交通中,为了确保交通流畅和交通事故的发生率降低,交通灯控制系统的设计和实现必不可少。
本文将介绍一个基于单片机的交通灯控制设计演示。
一、系统设计目标:本交通灯控制系统旨在模拟城市交通灯的工作过程,并能够根据交通流量和道路情况自动调整信号灯的状态,实现交通的有序进行。
二、系统硬件设计:本系统的硬件设计主要包括单片机、红绿灯模块、人车检测模块和显示屏等。
1.单片机:采用常用的微控制器STC89C52作为主控制器,具有较强的计算和控制能力。
2.红绿灯模块:使用LED灯作为红绿灯的信号灯,分别用红色、黄色和绿色的LED灯表示红灯、黄灯和绿灯的状态。
3.人车检测模块:通过红外传感器检测车辆和行人的存在,从而实现交通流量的感知和控制。
4.显示屏:用于显示交通灯的状态和交通流量等信息。
三、系统软件设计:本系统的软件设计主要包括单片机程序和相应的数据处理算法。
1.单片机程序:通过单片机程序控制红绿灯模块的状态和显示屏的显示内容。
程序根据不同的交通流量和道路情况,自动调整交通灯的周期和相位。
2.数据处理算法:通过红外传感器获取的车辆和行人信息,根据一定的算法进行处理并判断交通流量的大小。
根据判断结果,调整交通灯的状态和相位。
四、系统工作流程:1.初始化:启动系统时,进行硬件设备的初始化和相应的参数设置。
2.感知交通流量:红外传感器周期性地检测车辆和行人的存在,并将感测到的信息传输到单片机。
3.交通流量处理:通过数据处理算法,对传感器获取的信息进行处理和判断,得出当前的交通流量情况。
4.灯光控制:根据交通流量情况,单片机程序控制红绿灯模块的状态和显示屏的显示内容。
5.循环运行:以上步骤循环运行,实现交通灯的自动调整和交通流量的感知。
五、系统演示:在演示过程中,模拟车辆和行人的存在,通过手动模拟红外传感器获取相应的信息,然后系统根据模拟的信息进行交通灯的控制。
#include <reg52.h> //52系列单片机头文件#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit key1=P3^0; //按键口定义sbit key2=P3^1;sbit key3=P3^4; //蜂鸣器口定义sbit key4=P3^5;sbit key5=P3^6;sbit Beer=P3^7;sbit DX_Red=P1^5; //红绿灯DX口定义sbit DX_Yellow=P1^4;sbit DX_Green=P1^3;sbit NB_Red=P1^2; //红绿灯NB口定义sbit NB_Yellow=P1^1;sbit NB_Green=P1^0;sbit NB_Blue=P1^6;sbit DX_Blue=P1^7;//sbit NB_JS=P3^5;//sbit DX_JS=P3^6;uchar code table[]={ //共阳极段码0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};void delayms(uint xms);int DX_Num=23,NB_Num=10; //数码管显示数字int numt0; //定时器计时int JS_NB_Num,JS_DX_Num;int NB_Num_GREEN,DX_Num_GREEN;int XZ=0; //按键2选择int BJ=0; //按键1选择int JS=0; //按键5选择int Temp1=1; //中断是否int temp=1 ; //数码管是否循环//int flag=0;int DX_Flag=0,NB_Flag=1; //红绿灯状态int DX_RED=33,DX_GREEN=15,DX_YELLOW=3; //红绿灯时间int NB_RED=38,NB_GREEN=10,NB_YELLOW=3;int NB_BLUE=10,DX_BLUE=10; //左转时间void display(uchar num1dis,uchar num2dis);void keyscan();void init() //中断红绿灯初始化函数{Beer=1; //蜂鸣器关断TMOD=0x01; //中断程序初始化TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;// EX1=1;//开外部中断1// IT1=1;//外部中断下降沿触发// EX0=1;//开外部中断0// IT0=1;//外部中断下降沿触发DX_Red=0; //红绿灯初始化DX_Yellow=1;DX_Green=1;NB_Red=1;NB_Yellow=1;NB_Green=0;}void main() //主函数{init();while(1){keyscan();if(temp==1){display(NB_Num,DX_Num);}}}void display(uchar num1dis,uchar num2dis) //数码管显示函数{int NB_Shi,NB_Ge,DX_Shi,DX_Ge;NB_Shi=num1dis/10;NB_Ge=num1dis%10;DX_Shi=num2dis/10;DX_Ge=num2dis%10;P0=table[NB_Shi]; //送十位段选数据P2=0xfe;delayms(3);P0=table[NB_Ge]; //送十位段选数据P2=0xfd;delayms(3);P0=table[DX_Shi]; //送十位段选数据P2=0xfb;delayms(3);P0=table[DX_Ge]; //送十位段选数据P2=0xf7;delayms(3);}void keyscan() //按键扫描函数{if(key1==0){delayms(10);if(key1==0){if(BJ==0){BJ=1;Beer=0;Temp1=2;temp=2;NB_Blue=1;DX_Blue=1;DX_Yellow=1;DX_Green=1;DX_Red=0;NB_Yellow=1;NB_Green=1;NB_Red=0;while(!key1);}else if(BJ==1){Beer=1;BJ=0;NB_Red=1;NB_Green=0;NB_Blue=1;DX_Blue=1;DX_Num=DX_RED-10;NB_Num=NB_GREEN;NB_Flag=1;DX_Flag=0;temp=1;Temp1=1;while(!key1);}}}if(key2==0){delayms(10);if(key2==0){if(XZ==0){XZ=1;EA=0;DX_Yellow=1;DX_Green=1;DX_Red=0;NB_Yellow=1;NB_Green=0;NB_Red=1;NB_Blue=1;DX_Blue=1;DX_Num=DX_RED;NB_Num=NB_GREEN;while(!key2);}else if(XZ==1){DX_Green=0;DX_Red=1;NB_Green=1;NB_Red=0;XZ=2;DX_Num=DX_GREEN;NB_Num=NB_RED;while(!key2);}else if(XZ==2){XZ=0;DX_Green=1;DX_Red=0;NB_Green=0;NB_Red=1;DX_Num=DX_RED-10;NB_Num=NB_GREEN;NB_Flag=1;DX_Flag=0;EA=1;ET0=1;TR0=1;while(!key2);}}}if(key3==0){delayms(10);if(key3==0){if(XZ==1){DX_Num++;DX_RED++;NB_Num++;NB_GREEN++;while(!key3);}else if(XZ==2){DX_Num++;DX_GREEN++;NB_Num++;NB_RED++;while(!key3);}}}if(key4==0){delayms(10);if(key4==0){if(XZ==1){DX_Num--;DX_RED--;NB_Num--;NB_GREEN--;while(!key4);}else if(XZ==2){DX_Num--;DX_GREEN--;NB_Num--;NB_RED--;while(!key4);}}}if(key5==0){delayms(10);if(key5==0){if(JS==0){JS=1;Temp1=2;DX_Yellow=1;DX_Green=1;DX_Red=0;NB_Yellow=1;NB_Green=1;NB_Blue=1;DX_Blue=1;NB_Red=0;DX_Num=0;NB_Num=0;EX1=1;//开外部中断1IT1=1;//外部中断下降沿触发EX0=1;//开外部中断0IT0=1;//外部中断下降沿触发while(!key5);}else if(JS==1){JS=0;// DX_Green=1;// DX_Red=0;NB_Green=0;NB_Red=1;if(NB_Num>5){if(DX_Num>5){NB_Num_GREEN=NB_GREEN;DX_Num_GREEN=DX_GREEN;JS_NB_Num=NB_Num;JS_DX_Num=DX_Num;NB_GREEN=JS_NB_Num*(NB_Num_GREEN+DX_Num_GREEN)/(JS_NB_Num+JS_D X_Num);DX_GREEN=NB_Num_GREEN+DX_Num_GREEN-NB_GREEN;NB_RED=NB_GREEN+23;DX_RED=DX_GREEN+23;}}EX1=0;//开外部中断1IT1=0;//外部中断下降沿触发EX0=0;//关外部中断0IT0=0;//关外部中断下降沿触发DX_Num=DX_RED-10;NB_Num=NB_GREEN;NB_Flag=1;DX_Flag=0;Temp1=1;temp=1;while(!key5);}}}}void delayms(uint xms) //延时函数{uint i,j;for(i=xms;i>0;i--) //i=xms即延时约xms毫秒for(j=110;j>0;j--);}void T0_time()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;numt0++;if(BJ==1){P2=0xff;if(numt0>4){numt0=0;Beer=~Beer;}}if(Temp1==1){if(numt0>20){numt0=0;NB_Num--;DX_Num--;if(NB_Num<1){if(NB_Flag==1){NB_Flag=2;NB_Num=NB_YELLOW;NB_Green=1;NB_Yellow=0;}else if(NB_Flag==2){NB_Flag=0;NB_Num=NB_RED;NB_Yellow=1;NB_Red=0;NB_Blue=0;}else if(NB_Flag==0){NB_Flag=1;NB_Num=NB_GREEN;NB_Red=1;NB_Green=0;DX_Blue=1;}}if(DX_Num<1){if(DX_Flag==0){DX_Flag=1;DX_Num=DX_GREEN;DX_Red=1;DX_Green=0;NB_Blue=1;}else if(DX_Flag==1){DX_Flag=2;DX_Num=DX_YELLOW;DX_Green=1;DX_Yellow=0;}else if(DX_Flag==2){DX_Flag=0;DX_Num=DX_RED;DX_Yellow=1;DX_Red=0;DX_Blue=0;}}}}}void T1EXT() interrupt 2 //使用了外部中断1的键盘扫描子函数{EX1 = 0;if(numt0>4){numt0=0;NB_Num++;}EX1 = 1;}void T0EXT() interrupt 0 //使用了外部中断1的键盘扫描子函数{EX0 = 0;if(JS==1){ if(numt0>4){numt0=0;DX_Num++;}}EX0 = 1;}。
基于单片机的交通信号灯的控制系统设计交通信号灯是城市交通管理中非常重要的一部分,它通过灯光信号来指示道路上车辆和行人的行动。
基于单片机的交通信号灯控制系统可以实现对交通信号的自动控制,并能根据实际交通情况和时间变化进行灵活调整,提高道路交通的效率和安全性。
1.系统设计需求分析:
-实现红、黄、绿三种信号灯的循环显示,时间可设定;
-根据实际交通情况和时间变化,动态调整红、黄、绿三种信号灯的显示时间;
-配备感应器,检测行人和车辆的存在,根据情况自动调整信号灯时间。
2.系统硬件设计:
-选择合适的单片机,如AT89C52;
-使用LED灯作为信号灯显示器件;
-选择适当的传感器,如红外传感器用于检测行人,光敏电阻用于检测车辆;
-选择适当的电路板进行连接。
3.系统软件设计:
-编写单片机的控制程序,实现红、黄、绿三种信号灯的循环显示;
-设定初始的信号灯显示时间;
-利用定时器和中断控制程序,实现对信号灯显示时间的控制,可以根据设定的时间进行调整;
-设定感应器的检测程序,当检测到行人或车辆时,调整信号灯显示时间。
4.系统工作流程:
(1)初始化系统,设定初始的信号灯显示时间;
(2)通过定时器和中断控制程序实现循环显示红绿黄信号灯;
(3)检测行人和车辆的存在,根据情况调整信号灯显示时间;
(4)循环执行步骤2和步骤3,实现自动控制交通信号灯。
5.系统优化方案:
-根据实际交通数据和研究结果,优化信号灯显示时间;
-利用流量监测技术,实时监测道路交通情况,进一步优化信号灯的控制策略;
-可以加入数据通信模块,将采集到的交通数据上传到中央交通管理系统,实现更智能化的交通信号灯控制。
基于单片机的智能交通红绿灯控制系统设计智能交通红绿灯控制系统是一种基于单片机的电子设备,用于智能化控制交通信号灯的工作。
本文将详细介绍如何设计一套基于单片机的智能交通红绿灯控制系统。
首先,我们需要选择适合的单片机作为控制器。
在选择单片机时,我们需要考虑其功能、性能和价格等因素。
一些常用的单片机型号有8051、AVR、PIC等。
我们可以根据具体的需求选择合适的单片机型号。
接下来,我们需要设计硬件电路。
智能交通红绿灯控制系统的硬件电路主要包括单片机、传感器、继电器和LED等组件。
传感器可以用来感知交通流量和车辆信息,继电器用于控制交通灯的开关,LED用于显示交通灯的状态。
在硬件设计中,我们需要将传感器与单片机相连接,以便将传感器获取的信息传输给单片机。
同时,我们还需要将单片机的控制信号传输给继电器和LED,以实现对交通灯的控制。
在软件设计中,我们需要编写相应的程序代码来实现智能交通红绿灯的控制逻辑。
首先,我们需要对传感器获取的信息进行处理,根据交通流量和车辆信息来确定交通灯的状态和切换规则。
例如,当交通流量较大时,可以延长绿灯亮起的时间;当有车辆等待时,可以提前切换到红灯。
此外,我们还可以在程序中添加自适应控制算法,用于根据交通流量动态调整交通灯的周期和切换时间,以进一步提高交通流量的效率和道路通行能力。
最后,我们需要将程序代码烧录到单片机中,并进行调试和测试。
在测试过程中,我们可以模拟不同的交通流量和车辆信息,以验证智能交通红绿灯控制系统的正常运行和控制效果。
综上所述,基于单片机的智能交通红绿灯控制系统设计主要包括硬件设计和软件设计两个方面。
通过合理的硬件电路设计和程序编写,可以实现对智能交通红绿灯的智能化控制,提高交通流量的效率和道路通行能力,实现交通拥堵的缓解和交通安全的提升。
基于单片机控制的交通灯毕业设计本人亲自验证程序摘要 (1)ABSTRACT (2)前言 (3)一、工程简介 (4)(一)、概述 (4)(二)、工艺流程图 (4)二、工程设计 (5)(一)、控制方案的确定 (5)(二)、硬件部分 (6)(1)、交通灯控制系统的硬件设计 (6)(2)、硬件系统的设计具备以下原则 (6)(3)、硬件结构框图(如图3所示) (6)(4)、交通灯控制系统的原理框图(如图4所示) (6)(5)、8279的结构及引脚功能 (11)(三)、软件部分 (12)(1)、延时子程序的计算 (12)(2)、流程图(如图8所示) (12)三、系统的试调运行 (14)(一)、硬件调试 (14)(1)、静态调试 (14)(2)、动态调试 (14)四、系统设计及总结特点 (15)致谢 (16)参考文献 (16)附录A:源程序 (17)附录B:电路图 (22)基于单片机控制的交通灯摘要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本设计主要分为五大模块输入控制电路、时钟控制电路、片内外程序切换控制、显示电路。
以MSC-51系列单片机IntelAT89C51为中心器件来设计交通灯控制器,实现了AT89C51芯片的P0口设置红、绿灯、黄灯燃亮时间的功能;为了系统稳定可靠采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C51的P2口输出,由CD4511驱动LED数码管显示红灯燃亮时间。
关键字:AT89C51 LED显示交通灯the traffic light based on the single-chip controlAbstractThe intersections vehicle wears shuttle, pedestrian Xi Rang, garage driveway, person's sidewalk, orderly. So depend what to carry out this well arranged order? What to depend is a traffic sign light of automatic conductor system. The control method of the traffic sign light is a lot of. This design is mainly divided into five greatest molds a piece the electric circuit, clock of the importation control a control outside procedure inside the electric circuit, slice to cut over a control and shows electric circuit. Take single slice the machine IntelAT89 C51 of the serieses MSC-51s as a center spare part to design transportation light controller, carried out the AT89 C51's P's 0 people's constitution of the chips red, the function in bright time of green light, Huang2 Deng Ran2;For the sake of system stability the credibility adopted a 74 LS14 airtight trigger eliminate of machine chip to tremble electric circuit especially, avoided system because of importation the signal tremble movable property to living a mistake operation; The P 2 people who shows that time directly passes the AT89 C51 output, is driven LED figures a tube by the CD4511 to show red-light Ran bright time.Key word: The AT89 C51 LED show transportation light前言本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
电子与信息工程学院课程设计报告(2010—2011学年第2 学期)课程名称:单片机课程设计班级:学号:姓名:指导教师:2011年03月3.过程(如实际程序开发、电子制作,详细说明有关原理、开发过程、调试过程、结果)一.交通灯芯片介绍SST89E58RD:是8位FLASH FLEX51系列单片机。
FLASH FLEX51是在高级FLASH CMOS半导体工艺下设计和生产出来的单片机产品之一。
单片机有40K片内FLASH EEPROM程序存储器,它利用SST的超级FLASH专利技术,这些都是SST的领先技术。
超级FLASH存储器被分为两个独立的程序存储器块,基本FLASH Block0占用32K字节片内程序存储空间,二级FLASH Block1占用8K字节的片内程序存储器空间;8K字节的二级FLASH块能被映射到32K字节低地址空间它也能从程序计数器中被隐藏掉而用做一个独立的类似EEPROM的数据存储器。
其具有以下特点:兼容80C51系列,内置超级FLASH存储器的单片机;工作电压Vdd=4.5~5.5;1K*8的内部RAM(256Bytes+768Bytes,可以放心使用C语言编程)等。
8155:Intel8155是可编程RAM/IO芯片,为40脚双列直插式封装。
有256*8位静态RAM,2个8位和1个6位可编程并行I/O接口,以及1个14位可编程定时器/计数器。
可直与MCS-51单片机相接,是MCS-51单片机应用系统中应用最多的芯片之一其内部结构图和引脚图如图1所示图1在交通灯系统中,四位数码管是用来显示交通灯倒计时时间的,一路显示放行线时间,一路显示禁止线时间四位数码管的电路如图2:图2四位八段数码管,属共阴逆序,高电平有效,所以不带小数点的0-f的段码如下:{0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH};PROTEUS 仿真图如图3:图3四位数码管的显示使用了并行扩展芯片8155,8155与单片机SST89E58RD的接口如图4图48155的高8位数据地址线与单片机的P0口相连,CE与AD15相连,IO/M与AD8相连数码管的八位段选与PB口相连,四位位选与PA口相连。
基于单片机的交通信号灯设计交通信号灯是城市道路交通管理的重要组成部分,通过控制交通信号灯的亮灭顺序,可以有效地调控车辆和行人的通行,保证道路的交通流畅和安全。
本文将介绍基于单片机的交通信号灯设计。
一、设计目标本设计的目标是利用单片机控制交通信号灯的亮灭顺序,并根据交通状况进行动态调控,以提高道路通行效率和安全性。
二、硬件设计硬件设计包括交通信号灯、单片机、红外传感器等。
1.交通信号灯:根据道路情况选择适当的信号灯布局,一般包括红灯、黄灯和绿灯。
2.单片机:选用一款具有较好性能和稳定性的单片机,如STC89C513.红外传感器:用于检测车辆和行人的存在,以及计算通过时间。
三、软件设计软件设计分为信号灯控制程序和调控算法设计。
1.信号灯控制程序:根据信号灯的布局和时序要求,编写程序实现交通信号灯的亮灭控制。
通过单片机的输出口控制灯的状态切换,可以使用各种延时函数来控制各个灯的亮灭时间。
2.调控算法设计:根据交通状况和道路拥堵情况进行调控。
可以通过红外传感器检测车辆和行人的存在与否,并计算通过时间。
根据不同的情况,编写算法来动态调节交通信号灯的亮灭顺序和时间。
例如,当有车辆和行人需要通行时,可以延长绿灯时间;当一些方向车辆较多时,可以调节配时绿灯的时间比例。
四、系统功能设计完成后的交通信号灯系统具备以下功能:1.自动控制:根据预设的时序和调控算法,系统能够自动控制交通信号灯的亮灭。
2.动态调控:根据红外传感器检测到的交通状况和拥堵情况,系统能够动态调控信号灯的亮灭顺序和时间,以提高道路通行效率。
3.人工干预:在需要进行维护或出现特殊情况时,可以通过人机交互界面对信号灯进行手动控制。
4.报警功能:当交通信号灯系统出现故障时,系统能够及时报警,以提醒维修人员进行处理。
五、系统优势与传统的交通信号灯相比1.灵活性更高:通过单片机的程序设计,交通信号灯可以根据交通状况进行动态调控,提高道路通行效率。
2.可靠性更强:采用单片机控制,系统工作稳定可靠,可避免由于传统信号灯老化等原因导致的故障。
摘要随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。
因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。
根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。
设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。
单片机的应用正在不断深入,单片机可以用来仿真各个系统。
在自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用单片机STC89C52为中心器件来设计交通灯控制器,实现了通过P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管)。
本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。
关键词:单片机交通灯数码管Microcontroller to control traffic lights Abstract: With economic development, a sharp increase in the number of cars, increasingly crowded city roads, traffic congestion has become an international problem. Therefore, the design of reliable, safe, convenient and versatile traffic light control system of great practical necessity.According to the characteristics of the traffic lights in the actual control, combined with the microcontroller control functions, and easy with Auto Control traffic lights. The design includes two steps of the hardware circuit design and programming have to get involved in several important single-chip learning.The application of microcontroller is the deepening of the Microcontroller can be used to simulate systems. In the automatic control of microcomputer application system, the Microcontroller is often used as a core component to use only Microcontroller knowledge is not enough, but also according to the specific hardware architecture hardware and software, to be improved.Crossroads shuttle vehicles, pedestrians bustling Dealers lane, walkways, and orderly. Rely on to achieve this orderly order? Rely on automatic command system of traffic lights. Traffic signal control. The system uses the Microcontroller STC89C52-centric devices to design the traffic signal controller to achieve a set of red, green light to kindle through the P1 port function of time; traffic light cycle lights, countdown 5 seconds left flashing yellow warning (traffic light signals through the P1 the output port, and displays the time through the P0 port output to double-digit LED). The system design cycle, high reliability, practical, simple operation, easy maintenance, strong extensions.Key words:microcontroller traffic light digital tub目录第1章前言 (1)1.1交通灯发展概述 (1)1.2 课题背景及意义 (2)1.3课题任务及主要实现内容 (3)1.4 原理分析 (4)1.4.1交通灯显示时序的理论分析 (4)1.4.2 交通灯显示的理论分析 (5)第2章设计方案分析 (6)2.1 单片机与外围接口部件 (6)2.2 倒计时显示界面 (7)2.3 交通灯 (7)第3章硬件系统设计 (8)3.1 单片机的选择 (8)3.2 硬件电路实现 (11)3.2.1 最小系统设计 (11)3.2.2 显示设计 (13)3.2.3 发光二极管模拟红绿灯 (15)3.2.4 按键模块 (16)第4章软件电路设计 (17)4.1 软件编译环境测试 (17)4.1.1 C语言介绍 (17)4.1.2 Keil uVision4介绍 (17)4.2软件总体设计 (17)第5章电路检测 (21)结论 (24)致谢 (25)参考文献 (26)附录: (27)源程序: (29)第1章前言单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
基于51单片机的交通信号灯模拟控制系统一、实验目的和要求1.掌握单片机基本资源使用。
2.掌握单片机电路原理图绘制和仿真。
3.掌握单片机C语言软件开发以及联合仿真。
二、实验内容和原理实验内容:1.根据题目绘制单片机电路原理图。
2.绘制程序流程图并编写C语言程序3.在仿真程序中进行联合仿真,最后提交实验报告三、主要仪器设备keilC,proteus。
四、操作方法与实验步骤4.1 题目要求用单片机设计一个十字路口交通灯模拟控制系统,要求东西、南北两个方向都通行20秒,警告3秒,禁止20秒,同时要考虑到东西、南北两个方向出现异常情况,出现异常情况器该方向通行60秒。
4.2 系统设计思路南北的红,绿,黄发光二极管与单片机AT89C51单片机的P1.0,P1.1,P1.2相连。
东西的红,绿,黄发光二极管与单片机AT89C51单片机的P1.4,P1.5,P1.6相连。
因此改变单片机P1口的输出编码就可控制交通灯的输出状态。
程序中实现交通灯正常运行过程,两种异常用外中断0和外中断1管理,外接开关模拟异常发生,在中断服务程序中实现异常处理,在主程序中开放外中断0和外中断1,设置为边沿触发方式。
时间单位采用500ms信号,由定时/计数器0定时50ms,循环10次产生,定时/计数器0采用查询方式,主程序中设定定时/计数器0的工作方式:方式1。
4.2 电路图绘制(包含详细的参数选定文字和图像叙述)C1=1nF,C2=1nF,C3=1nF,R1=300,R2=300,R3=300,R4=300,R5=300,R6=300,R7=300,R8=300,R9=300,R10=300,R11=300,R12=300,R13=300,时间单位=500ms。
4.3 C程序编制(包含详细的文字和程序流程图)#include<reg51.h>void delay 500ms(unsigned char k);void main(void){SP=0x60;TMOD=0x01;IE=0x85;TCON=0x05;while(1){p1=0x21;delay500ms(40);p1=0x41;delay500ms(6);p1=0x12;delay500ms(40);p1=0x14;delay500ms(6);}void int_0(void) interrupt 0 {unsigned char i1,i2;i1=p1;for(i2=0;i2<60;i2++){p1=0x21;delay500ms(1);p1=0x00;delay 500ms(1);}p1=i1;}void int_(void) interrupt 2 {unsigned char j1,j2;j1=p1;for(j2=0;j2<60;j++){p1=0x12;delay500ms(1);p1=0x00;delay500ms(1);}p1=j1;}void delay500ms(unsigned char m) {unsigned char k1,k2;TH0=0x3c;TL0=0xB0;TR0=1;for(k1=0;k1<m;k1++){for(k2=0;k2<10;k2++){while(!TF0);!TF0=0;TH0=0x3c;TL0=0xB0;}}}4.3 仿真分析(包含文字和图像叙述)状态1:东西绿灯,南北红灯状态2:东西黄灯,南北红灯,3s。
单片机课程设计基于单片机的交通灯设计2007.07.05 一.设计目的:1、通过交通信号灯控制系统的设计,掌握8255A并行口传输数据的方法,以控制发光二极管的亮与灭;2、用8255作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.3、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、仿真调试。
二.设计要求:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间。
用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,蓝,灯各一盏;1、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。
2、在绿灯转为红灯时,要求黄灯先亮,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。
4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
5、同步设置人行横道红、绿灯指示。
三.设计任务和内容:任务:设计一个能够控制十二盏交通信号灯的模拟系统。
并且要求交通信号灯按照交通规则的模试来运行。
内容:因为本课程设计是交通灯的控制设计,所以要了解实际交通灯的变化情况和规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1东西红灯,南北绿灯通车,。
过一段时间转状态2南北绿灯灭,黄灯闪烁几次,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯灭,闪几次黄灯,南北仍然红灯。
最后循环至状态1。
四.控制系统的总体要求:1.执行程序时,初始态为四个路口的红灯全亮之后;2.东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车;3.延时一段时间后,东西路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁5次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车;4.延时一段时间之后,南北路口的绿灯熄灭,黄灯开始延时并且开始闪烁,闪烁3次之后,再切换到东西路口方向;之后重复2到4过程。
基于单片机控制的交通灯毕业设计本人亲自验证程序摘要 (1)ABSTRACT (2)前言 (3)一、工程简介 (4)(一)、概述 (4)(二)、工艺流程图 (4)二、工程设计 (5)(一)、控制方案的确定 (5)(二)、硬件部分 (6)(1)、交通灯控制系统的硬件设计 (6)(2)、硬件系统的设计具备以下原则 (6)(3)、硬件结构框图(如图3所示) (6)(4)、交通灯控制系统的原理框图(如图4所示) (6)(5)、8279的结构及引脚功能 (11)(三)、软件部分 (12)(1)、延时子程序的计算 (12)(2)、流程图(如图8所示) (12)三、系统的试调运行 (14)(一)、硬件调试 (14)(1)、静态调试 (14)(2)、动态调试 (14)四、系统设计及总结特点 (15)致谢 (16)参考文献 (16)附录A:源程序 (17)附录B:电路图 (22)基于单片机控制的交通灯摘要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本设计主要分为五大模块输入控制电路、时钟控制电路、片内外程序切换控制、显示电路。
以MSC-51系列单片机IntelAT89C51为中心器件来设计交通灯控制器,实现了AT89C51芯片的P0口设置红、绿灯、黄灯燃亮时间的功能;为了系统稳定可靠采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C51的P2口输出,由CD4511驱动LED数码管显示红灯燃亮时间。
关键字:AT89C51 LED显示交通灯the traffic light based on the single-chip controlAbstractThe intersections vehicle wears shuttle, pedestrian Xi Rang, garage driveway, person's sidewalk, orderly. So depend what to carry out this well arranged order? What to depend is a traffic sign light of automatic conductor system. The control method of the traffic sign light is a lot of. This design is mainly divided into five greatest molds a piece the electric circuit, clock of the importation control a control outside procedure inside the electric circuit, slice to cut over a control and shows electric circuit. Take single slice the machine IntelAT89 C51 of the serieses MSC-51s as a center spare part to design transportation light controller, carried out the AT89 C51's P's 0 people's constitution of the chips red, the function in bright time of green light, Huang2 Deng Ran2;For the sake of system stability the credibility adopted a 74 LS14 airtight trigger eliminate of machine chip to tremble electric circuit especially, avoided system because of importation the signal tremble movable property to living a mistake operation; The P 2 people who shows that time directly passes the AT89 C51 output, is driven LED figures a tube by the CD4511 to show red-light Ran bright time.Key word: The AT89 C51 LED show transportation light前言本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后工作打下一定的基础。
在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
通过三个星期的学习,本人对单片机的结构和功能已有了初步的了解和认识。
单片机在交通控制中起到了举足轻重的作用,掌握了单片机的工作原理也就基本了解了交通灯的运做原理。
作为一个学生,为了更好地掌握单片机的结构和功能,为了进一步加强自己的实践能力,本人设计了以下的一款交通灯。
一、工程简介(一)、概述本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。
假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。
然后转状态一东西绿灯通车,南北为红灯。
过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。
再转状态三南北绿灯通车,东西红灯。
过段时间转状态四南北绿灯闪几次转黄灯,延时几秒,东西仍为红灯。
最后循环至状态一。
交通信号灯模拟控制系统设计利用单片机的定时器定时,控制十字路口红绿灯交替电亮和熄灭,并且用LED数码管显示时间,但由于时间及水平的不足,在此实验中不显示。
用十二个发光二极管代替交通灯进行实验设计。
这次设计是《微机接口与控制技术》课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固所学的知识及提高应用水平.在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法.提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。
为今后的毕业设计、及从事微机控制系统的设计与维护奠定坚实的基础。
这次课题设计的意义在于通过具体的控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。
使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。
(二)、工艺流程图因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西南北灯都熄灭。
然后转状态1东西绿灯通车,南北红灯。
过一段时间转状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯。
过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间,但由于时间和水平的限制就不显示时间。
用十二个发光二极管燃灭,模拟交通灯管理。
具体的接口如下图一。
二、工程设计(一)、控制方案的确定交通灯控制系统的原理主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
如图2完整的电路板。
图2完整的电路板东 绿图1交通信号灯接口图(二)、硬件部分(1)、交通灯控制系统的硬件设计:交通灯控制系统的硬件设计包括:存储器的扩展(62256),I/O口的扩展(8255),地址的锁存(74LS373或74LS273),还有反向器(7407)。
数据缓冲器,I/O控制逻辑,控制和定时寄存器及定时与控制电路,扫描计数器,回复缓冲器,FIFO /传感器RAM及其状态寄存器,显示RAM及显示地址寄存器等组成。
(2)、硬件系统的设计具备以下原则:1.满足系统的设计要求,易于操作维护。
2.系统功能灵活,便于扩展。
3.具有自动诊断功能。
(3)、硬件结构框图(如图3所示)。
图3硬件系统在该系统中的作用主要是进行数据的传送,有关逻辑的计算,并且提供显示,人为的进行数据的修改,系统的启动,停止等等。
此外系统运行的安全可靠性要靠硬件系统来实现。
(4)、交通灯控制系统的原理框图(如图4所示)。
图4 交通灯控制系统的原理框图图中:TL: 表示甲车道或乙车道绿灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。
定时时间到,TL=1,否则,TL=0。
TY:表示黄灯亮的时间间隔为5秒。
定时时间到,TY=1,否则,TY=0。
ST:表示定时器到了规定的时间后,由控制器发出状态转换信号。
由它控制定时器开始下个工作状态的定时。
1.定时器定时器由与系统秒脉冲(由时钟脉冲产生器提供)同步的计数器构成,要求计数器在状态信号ST作用下,首先清零,然后在时钟脉冲上升沿作用下,计数器从零开始进行增1计数,向控制器提供模5的定时信号TY和模25的定时信号TL。
(电路图如图5所示)图5 定时器电路图2.控制器控制器是交通管理的核心,它应该能够按照交通管理规则控制信号灯工作状态的转换。
从ASM图可以列出控制器的状态转换表,如表1所示。
选用两个D触发器FF1、FFO作为时序寄存器产生 4种状态,控制器状态转换的条件为TL和TY,当控制器处于Q1n+1Q0n+1= 00状态时,如果TL= 0,则控制器保持在00状态;如果,则控制器转换到Q1n+1Q0n+1= 01状态。
这两种情况与条件TY无关,所以用无关项"X"表示。
(控制器逻辑图如图6所示)表 1根据表1可以推出状态方程和转换信号方程,其方法是:将Q1n+1、Q0n+1和 ST 为1的项所对应的输人或状态转换条件变量相与,其中"1"用原变量表示,"0"用反变量表示,然后将各与项相或,即可得到下面的方程:控制器逻辑图(如图6所示)图63.译码器74.LS138译码器74LS138译码器有3个输入端,组成8种输入状态,输出端有8个,每个输出端对应8种输入状态的一种,低电平有效。