基于80C51单片机的交通灯设计
51单片机交通灯设计要点
摘要交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。
适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。
交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。
分为:机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制技术日益更新。
接下来将介绍基于单片机控制的交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机80C51和芯片74LS245为中心器件来设计交通灯控制系统。
、关键字:单片机,信号灯,控制前言道路交通信号灯是交通安全产品中的一种类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。
适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。
最早的时候只有红、绿两种颜色,后来经过改良后,增加了一盏黄色的灯,红灯表示停止,黄灯表示准备,绿灯则表示通行。
之所以采用这三种颜色,一方面是三原色,其他颜色也是在此基础上调出来的,另一方面,用这三种颜色作为交通讯号也和人们的视觉结构和心理反应有关。
人的视网膜含有杆状和三种锥状感光细胞,杆状细胞对黄色的光特别敏感,三种锥状细胞则分别对红光、绿光及蓝光最敏感。
由于这种视觉结构,人最容易分辨红色与绿色。
虽然黄色与蓝色也容易分辨,但因为眼球对蓝光敏感的感光细胞较少,所以分辨颜色,还是以红、绿色为佳。
交通信号灯是交通信号指挥中的重要组成部分,是道路交通的基本语言。
交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。
分为:机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。
基于单片机的交通灯控制器设计
摘要随着生活水平的提高,汽车越来越普及。
因此,红绿灯安装在各个道口上,也渐渐成为了疏导交通车辆最常见和最有效的手段。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
本系统采用80C51单片机为中心器件来设计交通灯控制器,实现了实时显示当前通行剩余时间;按东西道红灯和南北道绿灯亮22秒后东西道、南北道黄灯闪烁3秒,再东西道绿灯和南北道红灯亮27秒,之后黄灯闪烁3秒的规律控制东西和南北方向的交通灯;能手动设置通行方向3种功能。
4位数码管显示剩余通行时间,2位显示东西方向通行剩余时间,2位显示南北方向通行剩余时间。
本系统实用性强、操作简单、扩展功能强。
关键词:单片机交通灯动态扫描自动控制手动设置1交通灯控制器的功能规划本次设计的交通灯控制器有2种工作模式,分别是正常状态下的自动控制模式和紧急情况下的手动控制模式。
自动控制模式是在单片机的控制下实现东西道与南北道红绿灯循环点亮,倒计时剩3秒时黄灯闪烁警示,并且实时显示当前通行剩余时间。
手动控制模式是在有按键按下的时候相应的通道置于绿灯,另外一个通道置于红灯,直到有返回键按下之后自动返回到自动控制模式。
2方案设计2.1 硬件方案设计本次课程设计所使用的单片机为STC89C51,STC89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用STCMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的STC89C51提供了高性价比的解决方案。
STC89C51主要功能特性:1、兼容MCS—51指令系统,4k可反复擦写(>1000次)Flash ROM2、32个双向I/O口,可编程UARL通道3、两个16位可编程定时/计数器,全静态操作0-24MHz4、1个串行中断,128x8bit内部RAM5、两个外部中断源,共6个中断源6、可直接驱动LED,3级加密位7、低功耗空闲和掉电模式晶振采用11.0592MHZ提供定时脉冲。
80c51单片机交通灯课程设计报告1.pdf
80C51单片机交通灯课程设计报告目录第一章引言 (3)第二章单片机概述 (4)第三章芯片介绍 (6)3.1AT89S51单片机介绍 (6)3.1.1简介 (6)3.1.2主要管脚介绍 (6)3.274LS164介绍 (8)3.3共阳数码管介绍 (8)3.3.1分类简介 (8)图3.3LED数码管引脚定义 (9)3.3.2驱动方式 (9)3.3.3主要参数 (10)3.3.4应用范围 (10)第四章系统硬件设计 (11)4.1硬件设计要求 (11)4.2硬件设计所用元器件 (11)4.3硬件设计图 (11)4.4设计流程图 (12)第五章系统软件设计 (13)5.1流程图 (13)5.2程序设计 (14)第六章结论 (16)参考文献 (18)第一章引言在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
1914年,电气启动的红绿灯出现在美国。
这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。
基于80C51单片机的交通灯C语言源程序
#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit SH_CP=P2^0;sbit DS=P2^1;sbit ST_CP=P2^2;uchar temp;uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void NB_tong();void DX_tong();void NBY_show();void DXY_show();sbit RED_A=P1^0;//A代表NB南北sbit YELLOW_A=P1^1;sbit GREEN_A=P1^2;sbit RED_B=P1^3;//B代表DX东西sbit YELLOW_B=P1^4;sbit GREEN_B=P1^5;sbit K1=P3^0;sbit K2=P3^1;sbit K3=P3^3;sbit SPK=P3^7;//蜂鸣器uchar time=0,Count=0;//--------------------------------//延时//--------------------------------void DelayMS(uint x){uchar t;while(x--) for(t=0;t<120;t++);}//---------------------------------------//74HC595的驱动//---------------------------------------void In_595(){uchar i;for(i=0;i<8;i++){temp<<=1;DS=CY;SH_CP=1;_nop_();_nop_();SH_CP=0;}void Out_595(){ST_CP=0;_nop_();ST_CP=1;_nop_();ST_CP=0;}//---------------------------------------//T0定时器定时及各种情况下灯亮的调用//---------------------------------------void Timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;Count++;time=time%60;if(Count==20){time++;Count=0;}if(time<=30) NB_tong();if((time>30)&&(time<=35)) NBY_show();if((time>35)&&(time<=55)) DX_tong();if((time>55)&&(time<=60)) DXY_show();}//------------------------------------//按键处理//------------------------------------void EX_INT0() interrupt 0{if(K1==0) //K1按下强制NB南北通行,倒计时黑屏暂停;断开继续以前动作。
51单片机交通灯毕业设计方案
51单片机交通灯毕业设计方案
以下是一个基于51单片机的交通灯设计方案:
1. 硬件设计:
- 使用51单片机作为主控制器。
- 使用红黄蓝三个LED作为信号灯的显示器件。
- 使用按钮作为手动触发信号灯切换的输入设备。
- 使用数码管显示当前信号灯状态的计时器。
- 使用适当的电阻、电容、继电器等连接单片机和LED、按钮、数码管等。
2. 软件设计:
- 配置51单片机的I/O口,将LED、按钮和数码管连接到正
确的引脚。
- 编写主程序,设置中断或轮询等方式读取按钮状态,并根
据按钮状态切换信号灯状态。
- 通过控制LED引脚的输出电平,实现红黄蓝三个信号灯的
闪烁、亮灭和切换。
- 使用定时器计时,实现信号灯的定时控制。
根据交通规则,红灯、黄灯、绿灯的显示时间可以根据需要设定。
- 使用数码管显示当前信号灯的状态和剩余时间,方便车辆
和行人了解交通灯变化。
3. 功能设计:
- 根据交通规则,设置交通灯的变换顺序和时间,确保道路
的交通流畅和安全。
- 根据需要加入手动触发信号灯切换的功能,允许人工控制,
例如紧急情况下的交通调节。
- 可以考虑加入流量检测、车辆和行人优先等功能,提高交
通效率和安全性。
- 可以通过串口或无线通信模块,实现与其他设备的联动,
例如与车载导航系统、交通监控系统等的数据交换和协同控制。
以上是一个基本的51单片机交通灯设计方案,可以根据具体
需求进行进一步调整和优化。
基于51单片机的交通灯控制系统设计
目录一引言 (2)二概要设计 (2)2.1 设计思路 (2)2.2总体设计框图 (3)三硬件设计 (3)3.1LED循环电路设计 (3)3.1.1 89cs51单片机概述 (3)3.1.2 LED循环说明 (5)3.2 倒计时显示电路 (6)3.2.1 74LS164芯片 (6)3.2.2 共阴极数码显示管 (7)3.2.3 倒计时电路 (7)3.2.4 急通车电路 (7)四软件按设计 (8)4.1 程序流程图: (8)4.2 LED红绿灯显示 (9)4.3倒计时显示 (10)4.4 急通车控制 (10)4.5程序代码 (10)五总结 (10)参考文献 (10)附录一: (10)附录二: (11)基于51单片机的交通灯控制系统设计摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。
系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。
关键词:交通灯,单片机,自动控制一引言当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这个技术在19世纪就已经出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消!电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。
基于80C51的交通灯
单片机课程设计题目51单片机的交通灯控制系统设计学院名称指导教师班级学号学生姓名2010年6月19日摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
交通灯控制系统由80C51单片机、键盘、LED显示、交通灯延时组成。
系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。
关键词:交通灯,单片机,自动控制Abstract: in the daily life, the use of traffic lights, traffic management, and to be effective, improve road relieves traffic flow capacity, reduce the number of traffic accidents has obvious effect. 80C51 SCM by traffic control system, the keyboard, the LED display, traffic delays. Besides the basic traffic system function outside, still have time to set, the LED display function effectively, city traffic control.Keywords: light, SCM, automatic control目录一、引言 (4)二、概要设计 (5)2.1 设计思路 (5)2.2总体设计框图 (5)三、硬件设计 (6)3.1LED循环电路设计 (6)3.1.1 89cs51单片机概述 (6)3.1.2 80C51单片机的时钟 (9)3.1.3 80C51的封装和引脚 (11)3.2.1LED循环灯的说明 (14)四软件按设计 (15)4.1 程序流程图: (15)4.2 LED红绿灯显示 (17)五总结 (17)参考文献 (18)附录一:程序源代码 (18)附录二:PCB图 (24)基于51单片机的交通灯控制系统设计一、引言当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。
(完整版)基于单片机的交通灯控制电路设计毕业设计
毕业论文(设计)论文题目:基于单片机的交通灯控制电路设计学生:董仁龙学号:所在院系:电气信息工程学院专业名称:自动化届次:2011 届指导教师:井田目录摘要: (1)1.设计任务要求及目的 (2)1.1设计任务 (2)1.2基本要求 (2)1.3设计目的 (2)2.设计思路 (3)2.1设计原理: (3)2.2设计方案及其总体设计框图 (3)3.交通灯控制系统的硬件设计 (4)3.1系统硬件电路构成及外部硬件件的选取 (4)3.2系统工作原理 (5)3.3单片机小系统的基本组成及硬件图 (8)3.4外围电路工作原理及系统硬件图 (8)4.系统软件程序的设计 (14)5.课程设计心得体会 (15)6.参考文献 (13)7.附录: (14)8.致谢 (19)基于单片机的交通灯控制电路设计学生:董仁龙(指导老师:井田)(淮南师范学院电气信息工程学院)摘要:实现这井然秩序靠的是交通信号灯的自动指挥系统的交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行IO接口芯片80C51为中心器件来设计交通灯控制器,完成对A 、B道上均有车辆要求通过时各自顺时放行;在一道有车而另一道无车和有紧急车辆要求通过时,系统做出正确应急控制。
本系统实用性强、操作简单、扩展功能强。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,本系统还应根据具体硬件结构软硬件结合加以完善。
关键词: MSC-51系列单片机ATSC51;交通灯控制器;IO接口芯片1.设计任务要求及目的1.1设计任务(1)单片机最小系统的焊制并以其为核心,设计并制作一个交通灯控制系统。
(2)按设计要求学习并使用Proteus软件绘制电路图。
(3)编写相应程序,按要求实现相应的控制。
(4)已编写的程序用Proteus仿真,对程序进行反复测试。
(5)按要求撰写毕业设计报告。
1.2基本要求(1)A 通道和B通道上均有车辆要求通过时,A、B通道轮流放行。
单片机80C51 交通灯程序
#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;uintaa, bai,shi,ge,bb;uint shi1,ge1,shi2,ge2;uint code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uint code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(uint z);voidinit(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);}}voidinit3() //第三个状态:东西绿灯变为黄灯闪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);}}voidinit4()//第四个状态:东西亮绿灯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;//第一个状态东西、南北均亮红灯5S GREEN_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);}}voidinit5()//第五个状态:东西亮红灯、南北绿灯闪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);}}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);}voidxint0() 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);returnvoidxint1() 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;}voidxtimer0() interrupt 1 {TH0=(65535-50000)/256; TL0=(65535-50000)%256; aa++;}voiddelay(uint z){uintx,y;for(x=0;x<z;x++)for(y=0;y<110;y++);}。
单片机80c51交通信号灯模拟控制系统设计
交通信号灯模拟控制系统设计程序流程图开始↓8051初使化↓四个路口红灯亮↓东西红灯亮,南北绿灯亮,延时↓东西红灯亮,南北黄灯闪烁,延时↓东西绿灯亮,南北红灯亮,延时↓东西黄灯闪烁,南北红灯亮,延时交通信号灯模拟控制系统主程序ORG 0000HSJMP A3ORG 0030HA3: MOV SP,#60H ;设栈指针初值MOV A, #24HMOV P1, ASETB P3.2CLR P3.3CLR P3.4SETB P3.5 ;全部红灯亮MOV R4,#00H ;显示0秒MOV R7,#00H ;显示0秒MOV R2,#03HLCALL XI ;调用子程序A2 : MOV A,#0CHMOV P1,ASETB P3.2SETB P3.3CLR P3.4CLR P3.5 ;东西红灯,南北绿灯MOV R4,#14H ; 显示20秒LOOP2 : MOV R2,#03HLCALL XIDJNZ R4,LOOP2 ;判断20秒显示时间到否MOV R2,#03HLCALL XILOOP8: MOV R2,#03H ;南北黄灯闪3次LCALL XIMOV R4,#05H ;设南北黄灯亮长显示5秒SETB P3.2CLR P3.3A1: MOV A,#14HMOV P1 ,ASETB P3.4CLR P3.5 ;东西红灯,南北黄灯MOV R2,#01H ;定时LCALL DELAY ;调用延时子程序MOV A ,#04HMOV P1 ,ACLR P3.4CLR P3.5 ;东西红灯,南北不亮即意思要南北黄灯闪烁MOV R2 ,#01H ;定时LCALL DELAYDJNZ R4,LOOP8 ;判断南北黄灯闪烁,显示5秒到否?MOV A, #61HMOV P1,ACLR P3.2CLR P3.3CLR P3.4SETB P3.5 ;东西绿灯,南北红灯MOV R4,#14H ;显示20秒LOOP3:MOV R2,#03HLCALL XIDJNZ R4,LOOP3 ;判断20秒显示时间到否MOV R7,#05H ;设东西黄灯亮长显示5秒SETB P3.5A0: MOV A,#0A2HMOV P1,ACLR P3.2CLR P3.3CLR P3.4 ;东西黄灯,南北红灯MOV R2,#01H ;定时LCALL DELAYMOV A,#20H ;MOV P1,ACLR P3.2CLR P3.3CLR P3.4 ;南北红灯,东西不亮即意思要东西黄灯闪烁MOV R2,#01H ;定时LCALL DELAYDJNZ R7,A0 ;判断东西黄灯闪烁,显示5秒到否?LJMP A2 ;循环回状态1,即东西红灯,南北黄灯DELAY: PUSH 2PUSH 1PUSH 0 ;进栈DELAY1: MOV 1,#00HDELAY2:MOV 0,#0B2HDJNZ 0,$ ;判断是否运行完0B2HDJNZ 1,DELAY2DJNZ 2,DELAY1POP 0POP 1POP 2 ;出栈DJNZ R2 ,DELAY ;判断R2是否运行完RET ;返回主程序XI: MOV A,R4MOV B,#10DIV ABMOV R6,AMOV DPTR,#TABMOV A,BMOVC A,@A+DPTRMOV SBUF,AMOV R7,#0FHH55S: DJNZ R7,H55SMOV A,R6MOVC A,@A+DPTRMOV SBUF,AMOV R7,#0FHH55S1: DJNZ R7,H55S1LCALL DELAYRETTAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8ehEND|评论。
基于80C51的单片机交通灯控制系统的设计
2015届毕业设计说明书基于80C51的单片机交通灯控制系统的设计学院:电气与信息工程学院学生姓名:邓联武指导教师:龙卓珉职称讲师专业:电气工程及其自动化班级:电气本1103完成时间:2015年6月最近几十年来,我们国家基础建设的发展日益加快,城市化的进程也越来越迅速,便利和通畅的道路交通渐渐成为了我国社会主义建设的重要环节。
由于车辆的快速增长,特别是我国交通建设主要道路口的管理与控制的好坏,对交通的安全有着深远而重要的影响。
当前,十字路口都采用了信号灯来控制车辆和行人的通行,不仅便于维护管理,而且非常智能化。
数字化信号灯电路,不仅低功耗,而且多种多样,并且方便了人们的生活。
人与车,路这三个方面的和谐统一是我们一直追求的主题,三者的协调多样发展,对促进社会经济价值与人文的发展有重大意义。
伴随着城市的交通与人们越来越息息相关,交通信号灯可以有效率地调控交通车流量,提高和改善车辆通过的效率,能够减少和预防一系列交通事故的发生。
道路十字路口的车辆来回不息,良好的秩序和调控是保证车与人安全的最主要因素,有序的交通,是城市道路通畅的重要保障。
在本次设计里面,我选择了AT89C52单片机作为控制核心,并辅以电源电路,复位电路,按键电路,人体传感器,数码管显示,led灯显示,蜂鸣报警器,晶振电路和控制电路等来实现交通灯系统的功能。
交通灯进行工作时,可以根据通过车流量的不同对交通灯设置南北东西红绿灯的时间,当最后进入五秒倒计时,黄灯会不停闪烁提示行人与车辆注意交通灯的变化。
另外,还可以利用人体红外感应原理对道路交通进行违规检测,并进行报警。
一旦有紧急情况需要让行时,东西南北所有路灯变为红灯,此时车辆禁止通行,为紧急车辆让道。
当需要禁停的时候,所有路口为绿灯模式,此时禁止车辆滞留停车。
夜晚由于特殊性,东西南北路口皆为黄灯,此时车辆根据所处情况正确判断谨慎通行。
本次交通灯系统的设计兼备操作简易,扩展功能强大两方面。
毕业设计(论文)-基于51单片机的交通信号灯系统
摘 要:随着世界范围内科技的发展,随着世界范围内科技的发展,社会的进步,社会的进步,但也导致城市化进程的加快,但也导致城市化进程的加快,越来越多的人越来越多的人也买得起车了,也买得起车了,从而导致交通拥挤的现象时有发生。
从而导致交通拥挤的现象时有发生。
从而导致交通拥挤的现象时有发生。
由此可以看出,由此可以看出,简单的十字路口交通信号灯已经不能适应现代化发展的潮流,因此需要一个更加合理、有效的智能交通灯控制系统来缓解城市交通的压力。
在现代,在现代,利用单片机来实现交通信号灯的控制成为了我们调控交通的主流。
利用单片机来实现交通信号灯的控制成为了我们调控交通的主流。
运用单片机运用单片机控制交通信号灯比较方便,而且性能高,控制交通信号灯比较方便,而且性能高,易于控制。
易于控制。
易于控制。
所以,所以,所以,我们有必要对这一课题进行一次我们有必要对这一课题进行一次系统的研究学习。
在本次毕业设计中,我的主要设计任务是在一个十字路口设计一个交通信号灯控制系统,号灯控制系统,并且利用单片机来对该系统进行合理的控制。
并且利用单片机来对该系统进行合理的控制。
并且利用单片机来对该系统进行合理的控制。
本系统由本系统由AT89C51单片机、交通信号灯状态控制电路、通信号灯状态控制电路、LED LED 数码管显示电路、按键电路组成。
系统除了拥有基本交通信号灯状态控制功能外,还具有倒计时、时间设置等功能。
关键词:单片机单片机 交通信号灯交通信号灯AbstractWith the worldwide development of science and technology, the progress of the society, but also led the city to speed up, more and morepeople can afford to buy a car, causing traffic congestion phenomenon, can be seen, traffic lights at the crossroads of simple already can not adapt to the modern development trend, so we need a smart traffic the lamp is more reasonable, effective control system to alleviate the city traffic pressure.In modern times, to achieve control of traffic lights using SCM into the mainstream of our traffic regulation. The use of single-chipmicrocomputer to control the traffic signal lamp is convenient, high performance, easy to control. Therefore, we are necessary to study a system on this subject. In this graduation design, the main design taskis to design a control system of traffic lights at a crossroads, and the use of single-chip microcomputer to the reasonable control of the system. This system consists of AT89C51 microcontroller, a key circuit, the state of the traffic lights control circuit, LED digital tube display circuit.In addition to the basic state of the traffic lights control function, but also has a countdown, time setting and other functions.Keywords Keywords:: SCM, traffic signal lamp目 录1 绪论 . (1)1.1交通控制系统的设计背景 . ................................................................................................ 1 1.2交通控制系统设计的现实意义 . ....................................................................................... 1 1.3 国内外交通信号灯系统的发展情况 . .. (1)1.4 主要研究内容 . (2)2 单片机交通控制系统方案设计 (3)2.1单片机交通控制系统的通行方案 (3)2.2 单片机交通控制系统基本原理及所要实现的功能 (3)2.2.1 基本原理 (3)2.2.2 所要实现的要求 . (3)2.3单片机交通控制系统框图 . (4)3 系统硬件电路的设计 . (5)3.1 控制芯片AT89C51单片机 . ............................................................................................... 5 3.1.1 AT89C51单片机简介 . .. (5)3.1.2 AT89C51单片机的主要性能 . (5)3.1.3 单片机组成及结构 . ........................................................................................................ 5 3.1.4 单片机各引脚功能 . ........................................................................................................ 6 3.1.5 AT89C51的中断源 (8)3.2 LED 数码管 ........................................................................................................................... 8 3.3 发光二极管 .. (9)3.4 各电路模块设计 (10)3.4.1 单片机最小系统 . ........................................................................................................... 10 3.4.2 交通信号灯显示电路 ................................................................................................. 10 3.4.3 倒计时显示电路 . .. (10)3.4.4 按键操作电路 (11)4 系统程序设计 (13)4.1主程序框图 (13)4.2 交通灯闪烁子程序 . (13)4.3 LED 数码管显示子程序 . ................................................................................................... 14 4.5 红绿灯时间调整程序 . (15)5 交通灯控制系统仿真与调试 . (18)5.1 开发软件—开发软件—KeilC51KeilC51········································································································ 18 5.2仿真软件—仿真软件—Proteus Proteus 简介............................................................................................... 18 5.3 系统仿真结果 . .. (18)总 结 .............................................................................................................. 20 致 谢 .. (21)参考文献 . (22)附 录 (23)第 1 页 共27页1 绪论1.1交通控制系统的设计背景随着世界范围内城市化进程的加快,并且汽车越来越普及化,城市的交通状况已经成为一个全球性的问题。
基于80C51单片机的十字路口交通信号灯模拟控制系统的设计
毕业论文(设计)题目基于80C51单片机的十字路口交通信号灯模拟控制系统的设计学生姓名学号专业班级电气工程与自动化指导教师完成时间: 2016 年 6 月 3 日目录摘要 (I)ABSTRACT (II)第1章绪论 (1)1.1 课题研究的背景及意义 (1)1.2 当前的研究现状 (2)1.3 本文的主要工作和难点 (3)第2章道路交通灯的总体系统的设计方案 (6)2.1 总体设计方案 (6)2.1.1 系统机构总框架 (6)2.1.2 交通管理的方案论证 (6)2.1.3 控制电路框图 (6)2.2 电路的工作原理 (6)2.3 本章小结 (6)第3章硬件设计 (7)3.1 MCS-51单片机介绍 (7)3.1.1 简介 (7)3.1.2 管脚说明 (9)3.1.3 时钟脉冲电路 (10)3.1.4 复位电路 (10)3.1.5 电源电路 (10)3.1.6八段数码管结构 (10)3.1.7红外线对射传感器 (10)3.2 硬件原理图 (11)3.3 本章小结 (11)第4章软件设计 (11)4.1 主程序设计 (11)4.2 初始化程序 (12)4.3 延时程序 (12)4.4中断程序 (13)4.5 本章小结 (13)第5章调试分析 (14)5.1 KEIL51软件简介 (14)5.1.1 系统概述 (14)5.1.2 单片机软件开发系统的整体结构 (14)5.2 调试步骤 (14)5.2.1 逻辑的调试 (14)5.2.2 模拟电路板的调试 (15)5.3调试中的问题及解决方案 (16)5.4 本章小结 (16)结论 (17)致谢 (19)参考文献 (19)附录 (35)实物图 (20)源程序 (37)摘要交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。
本人选择制作交通灯作为课题加以研究。
分析了现代城市交通控制与管理问题的现状,结合城乡交通的实际情况阐述了交通灯控制系统的工作原理,利用单片机89S51为核心部件,外加定时器、复位电路、晶振电路、显示电路、车流量电路等,设计一个比较符合交通规则的车行道基本的交通灯的功能,给出了一种简单实用的城市交通灯控制系统的硬件电路设计方案。
基于51单片机的交通灯控制系统设计
一、摘要:随着科技的飞速发展,越来越多的控制功能强大的芯片出现在我们生活中,但8051系列单片机,因为其的廉价几成本,在我们生活中依然处于十分重要的地位。
在实时检测和自动控制的单片机应用系统中,单片机是作为一个核心部件来使用,但是仅单片机方面知识是不够的,还需要根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
作为交通控制的重要组成部份单片机。
因此,本人选择制作交通灯作为课题加以设计并实现。
交通管制应当以人性化、智能化为目的,做出相应的改善。
以此为出发点,本系统采用的单片机控制的交通信号灯。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广阔的应用前景。
关键词:交通灯,51单片机,数码管二、实习目的和意义1.学习51单片机的最小系统及硬件接口设计与应用2.熟练掌握电路原理图绘制软件DPX的使用。
3.熟练单片机的程序设计与调试。
4. 自主设计出具有实际意义的能用于生活的电路系统。
5. 本次课程设计对以后的毕业设计甚至工作打下了动手自己设计的基础。
三、实习要求1. 完成以8051系列单片机为核心处理器的模拟十字路口交通灯控制的硬件设计(在altium designer下画出硬件原理图)。
布线,印制电路板,并焊接原件搭载硬件电路,做出实物。
2. 完成交通灯控制系统的软件编程。
3. 软硬件综合调试,模拟实现对交通灯控制系统的控制。
4. 撰写实验报告:报告中给出硬件方案、软件流程图、软件关键代码四、实习内容1.设计题目:基于51单片机交通十字路口信号灯设计2.实现功能:具有红、绿、黄三种颜色彩灯,并有一个数码管进行倒计时显示倒计时时间为三十秒。
还应具有按键控制特殊情况下十字路口不需要红绿灯的显示(车流量很少的地段深夜可以不设红绿灯)。
五、系统实现1.电路设计:51单片机介绍:本实验使用的51单片机为STC89C52STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM)。
单片机80c51实验简单IO实验(交通灯控制)
单片机80c51实验简单I/O实验(交通灯控制)实验目的1.学习在单片机系统中扩展简单I/O接口的方法。
2.学习数据输出程序的设计方法。
3.学习模拟交通灯控制的方法。
4.学习双色灯的使用。
实验要求说明:以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。
1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
;系统晶振是11.0592 MHzORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HLCALL STATUS0 ;初始状态(都是红灯)CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯LCALL STATUS3 ;南北红灯,东西绿灯LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯LJMP CIRCLESTATUS0: ;南北红灯,东西红灯MOV DPTR,#8300HMOV A,#0FHMOVX @DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYRETSTATUS1: ;南北绿灯,东西红灯 MOV DPTR,#08300HMOV A,#96H ;南北绿灯,东西红灯MOVX @DPTR,AMOV R2,#200 ;延时20秒LCALL DELAYRETSTATUS2: ;南北绿灯闪转黄灯,东西红灯 MOV DPTR,#8300HMOV R3,#03H ;绿灯闪3次FLASH: MOV A,#9FHMOVX @DPTR,AMOV R2,#03HLCALL DELAYMOV A,#96HMOVX @DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASHMOV A,#06H ;南北黄灯,东西红灯MOVX @DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYRETSTATUS3: ;南北红灯,东西绿灯 MOV DPTR,#8300HMOV A,#69HMOVX @DPTR,AMOV R2,#200 ;延时20秒LCALL DELAYRETSTATUS4: ;南北红灯,东西绿灯闪转黄灯 MOV DPTR,#8300HMOV R3,#03H ;绿灯闪3次FLASH1: MOV A,#6FHMOVX @DPTR,AMOV R2,#03HLCALL DELAYMOV A,#69HMOVX @DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASH1MOV A,#09H ;南北红灯,东西黄灯MOVX @DPTR,AMOV R2,#10 ;延时1秒LCALL DELAYNOPRETDELAY: ;延时子程序PUSH 2PUSH 1PUSH 0DELAY1: MOV 1,#00HDELAY2: MOV 0,#0B2HDJNZ 0,$DJNZ 1,DELAY2 ;延时100 mSDJNZ 2,DELAY1POP 0POP 1POP 2RETEND实验五外部中断实验(急救车与交通灯)一.实验要求在实验四内容的基础上增加允许急救车优先通过的要求。
基于某80C51单片机地交通灯设计
基于80C51单片机的交通灯设计班级:电信1101姓名:XXXX学号:0703110107一、设计说明及材料清单(一)设计说明:本交通灯的设计简化了十字路交通灯,只将东西和南北两个路向的交通灯情况表示出来,但也做了很多改进,设计了针对不同时间段不同的控制方案,并且采用串口通讯可将不同的控制方案下载到芯片中,外接掉电保存程序的非易失性存储芯片和掉电仍可计时的时钟芯片,以保证计时的正确性。
(二)材料清单:二、电路原理图设计本设计共用到四款主要芯片,分别为单片机芯片80C51、EEPROM芯片AT24C02、时钟芯片DS1302和转串口芯片MAX232。
(一)下图为80C51单片机芯片的管脚图,80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口即I/O口。
80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。
(二)下图为AT24C02芯片的原理图,该芯片是一种带有I2C总线结构的EEPROM芯片,通过SDA和SCL端口与总线连接,具有非易失性,掉电仍可保存程序。
其管脚功能如下:管脚名称功能说明A0、A1、A2 器件地址选择本设计全部接地SDA 串行数据、地址与单片机的P1.6连接进行数据、地址的传输SCL 串行时钟与单片机的P1.7相连,串行时钟信号输入WP 写保护WP=1,只能对其读,写禁止,所以令WP=0VCC +1.8V~6.0V工作电压电源输入GND 地接地引脚(三)下图是时钟芯片的电路原理图,DS1307是一款低功耗,地址和数据通过两线双向的串行总线的传输,节省单片机资源,该芯片可以提供秒,分,小时等信息,芯片有一个内置的电源感应电路,具有掉电检测和电池切换功能,本设计中需要其停电后继续计时。
其中的7引脚是方波的输出端,可接入单片机的可引起中断的端口,利用引脚7产生的方波引起中断,从而显示时间的变化。
(四)下图是MAX232芯片的原理图,因为设计要求与电脑有串口通讯,就是将交通灯不同时间段程序控制方案通过串口下载到单片机里,单片机上有一个全双工的串行通讯口,但电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,所以采用了专用芯片MAX232进行转换,下图中的7、8端口分别和电脑上的RS232端口的2、3连接,芯片的9和10端口与单片机的串口相连,如下图所示:(五)下图为交通灯的总体原理图(不包括上述芯片原理图),根据要求选择六只LED灯作为东西和南北方向的红绿黄交通灯,并且每个方向上有时间计数提示,每个方向有两位数码管动态显示,最大为99,采用共阴极7段数码管,单片机通过驱动器SN7404的放大电流驱动每位数码管。
基于单片机的红绿灯设计
单片机原理及应用实验报告姓名_______学号______班级_____摘要:马路上大量车辆的行驶需要遵守一定的交通规则,红绿灯便是最重要的一个管理交通的手段。
红绿灯(交通信号灯)系以规定之时间上交互更迭之光色讯号,设置于交岔路口或其他特殊地点,用以将道路通行权指定给车辆驾驶人与行人,管制其行止及转向之交通管制设施。
为一由电力运转之交通管制设施,以红、黄、绿三色灯号或辅以音响,指示车辆及行人停止、注意与行进,设于交岔路口或其他必要地点。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
本次实验便是用80C51单片机来设计一个红绿灯,实现了数码管9秒倒计时,同时控制红绿灯暗灭,黄灯5秒闪烁的功能。
本次实验完成的红绿灯虽然功能比较简单,但也体现了80C51单片机设计红绿灯的大致方法。
关键词:单片机 80C51 数码管倒计时目录实验报告 (1)一、前言 (4)二、正文1.设计要求 (5)2.系统的组成工作原理 (5)2.1系统的组成 (5)2.1.1 80C51单片机 (5)2.1.2 74LS373锁存器 (5)2.2工作原理 (5)2.2.1 程序流程图 (5)2.2.2引脚控制信号灯暗灭的原理 (6)2.2.3实验所有数码管工作原理 (6)3.电路及程序设计 (7)3.1电路设计 (7)3.2.程序设计 (7)4.实验、调试及测试结果与分析 (9)5.结论 (12)前言:80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。
采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。
80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。
基于80c51单片机实现交通灯控制
80c51单片机实现交通灯控制作者姓名:姚孟豪专业班级:机电一体化专业指导教师:郑丽文(老师)摘要本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。
系统包括人行道、左转、右转、以及基本的交通灯的功能。
系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间、违规车辆检测以及根据具体情况手动控制等功能。
关键词:AT89S51,交通规则,LEDAbstractThis system is made up of single-chip microcomputer , keyboard ,led displaying module and Traffic lights system .The system includes pavement ,left turning ,right turning ,and the basic traffic lights function .Excepting the basic traffic lights function ,it also includes counting ,time installing , emergency disposing ,speech cluing, LCD information displaying ,adjusting the lighting time of lights based on different time and controlling with hand in accordance with circumstances and so on.Key Words: AT89S51 , Traffic regular,LED目录第一章序言……………………………………………………………………∙∙∙∙∙∙∙∙∙∙∙41.1 交通灯的形成……………………………………………………………………………∙∙∙41.2芯片简介……………………………………………………………………………………∙51.3论文研究内容与章节安排…………………………………………………………………∙6 第二章方案比较、设计与论证………………………………………………………∙∙72.1电源提供案……………………………………………………………………………∙∙∙∙∙∙∙∙∙72.2 显示界面方案……………………………………………………………………………∙∙∙72.3 输入方案…………………………………………………………………………………∙∙∙8 第三章理论分析与计算………………………………………………………∙∙∙……∙∙∙93.1交通灯显示时序的理论分析与计算∙ (9)3.2交通灯显示时间的理论分析与计算……………………………………………………∙∙∙∙12 第四章电路图及设计文件……………………………………………………∙∙∙……∙∙134.1 灯控制电路设计…………………………………………………………………………∙∙∙134.2倒计时显示电路设计………………………………………………………………………∙134.3违规车辆检测电路设计…………………………………………………………………∙∙∙∙15 第五章程序设计思路与流程图………………………………………………………∙∙175.1主程序流程图……………………………………………………………………………∙∙∙∙175.2.按键子程序流程图………………………………………………………………………∙∙20 第六章测试、数据及结果分析………………………………………………∙∙……∙∙246.1状态灯显示测试……………………………………………………………………………∙246.2数码管的测试……………………………………………………………………………∙∙∙∙246.3整体电路测试.......................................................................................∙∙24 总结.........................................................................................................∙∙∙ (25)附录:......................................................................................................∙∙ (26)第一章序言1.1 交通灯的形成当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于80C51单片机的交通灯设计班级:电信1101姓名:XXXX学号:0703110107一、设计说明及材料清单(一)设计说明:本交通灯的设计简化了十字路交通灯,只将东西和南北两个路向的交通灯情况表示出来,但也做了很多改进,设计了针对不同时间段不同的控制方案,并且采用串口通讯可将不同的控制方案下载到芯片中,外接掉电保存程序的非易失性存储芯片和掉电仍可计时的时钟芯片,以保证计时的正确性。
(二)材料清单:二、电路原理图设计本设计共用到四款主要芯片,分别为单片机芯片80C51、EEPROM芯片AT24C02、时钟芯片DS1302和转串口芯片MAX232。
(一)下图为80C51单片机芯片的管脚图,80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口即I/O口。
80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。
(二)下图为AT24C02芯片的原理图,该芯片是一种带有I2C总线结构的EEPROM芯片,通过SDA和SCL端口与总线连接,具有非易失性,掉电仍可保存程序。
其管脚功能如下:管脚名称功能说明A0、A1、A2 器件地址选择本设计全部接地SDA 串行数据、地址与单片机的P1.6连接进行数据、地址的传输SCL 串行时钟与单片机的P1.7相连,串行时钟信号输入WP 写保护WP=1,只能对其读,写禁止,所以令WP=0VCC +1.8V~6.0V工作电压电源输入GND 地接地引脚(三)下图是时钟芯片的电路原理图,DS1307是一款低功耗,地址和数据通过两线双向的串行总线的传输,节省单片机资源,该芯片可以提供秒,分,小时等信息,芯片有一个内置的电源感应电路,具有掉电检测和电池切换功能,本设计中需要其停电后继续计时。
其中的7引脚是方波的输出端,可接入单片机的可引起中断的端口,利用引脚7产生的方波引起中断,从而显示时间的变化。
(四)下图是MAX232芯片的原理图,因为设计要求与电脑有串口通讯,就是将交通灯不同时间段程序控制方案通过串口下载到单片机里,单片机上有一个全双工的串行通讯口,但电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,所以采用了专用芯片MAX232进行转换,下图中的7、8端口分别和电脑上的RS232端口的2、3连接,芯片的9和10端口与单片机的串口相连,如下图所示:(五)下图为交通灯的总体原理图(不包括上述芯片原理图),根据要求选择六只LED灯作为东西和南北方向的红绿黄交通灯,并且每个方向上有时间计数提示,每个方向有两位数码管动态显示,最大为99,采用共阴极7段数码管,单片机通过驱动器SN7404的放大电流驱动每位数码管。
P1.0至P1.5控制六只LED灯,数码管由P0.0至P0.6控制进行段选,P2.0至P2.3控制位选。
三、程序设计(一)系统框图:(二)主程序如下:#include"reg51.h"#include<intrins.h>#define EW_H 0#define EW_L 1#define SN_H 2#define SN_L 3//函数声明void EW_NONE();void EW_RED();void EW_YELLOW();void EW_GREEN();void SN_NONE();void SN_RED();void SN_YELLOW();void SN_GREEN();void LED_INIT();void LED_WRITE(int dat,int con); //根据原理图定义交通灯的引脚sbit EW_LED_RED = P1^0;sbit EW_LED_YELLOW = P1^1;sbit EW_LED_GREEN = P1^2;sbit SN_LED_RED = P1^3;sbit SN_LED_YELLOW = P1^4;sbit SN_LED_GREEN = P1^5;//定义P2^0-P2^3=LED数码管控制sbit EW_weixuan_H = P2^0;sbit EW_weixuan_L = P2^1;sbit SN_weixuan_H = P2^2;sbit SN_weixuan_L = P2^3;//定义P0^0-P0^7=LED数码管段选引脚sbit LED_DATA_A = P0^0;sbit LED_DATA_B = P0^1;sbit LED_DATA_C = P0^2;sbit LED_DATA_D = P0^3;sbit LED_DATA_E = P0^4;sbit LED_DATA_F = P0^5;sbit LED_DATA_G = P0^6;sbit SCL = P1^6;sbit SDA = P1^7;//变量声明unsigned char counter,ew_sign,sn_sign,ew_time,sn_time,hour//定义段码code char LED_CODE[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*main函数开始*/main(){counter = 3;//计数器,每3600s查询一次当前hourew_sign = 0;//东西标志位,0代表红灯,1代表绿灯,2代表黄灯sn_sign = 0;//南北标志位,0代表红灯,1代表绿灯,2代表黄灯ew_time = 3;//东西时间sn_time = 3;//南北时间hour = 24;//当前hourunsigned ew_total_time[24] = {1,1,1,1,1,30,30,30,30,30,30,30,60,60,60,60,30,30,30,30,30,30}//东西各时间段绿灯亮总时间unsigned char sn_total_time[24] = {1,1,1,1,1,30,30,60,60,60,60,60,30,30,30,30,30,30,30,30,30,30}//南北各时间段绿灯亮总时间LED_INTI();EW_RED();SN_RED();while(1){if(counter == 0){hour = GET_HOUR();counter = 3600;switch(hour){case 5:ew_time = 30;sn_time = 33;ew_sign = 1;sn_sign = 0;EW_GREEN();SN_RED();break;case 7:ew_time = 30;sn_time = 33;ew_sign = 1;sn_sign = 0;EW_GREEN();SN_RED();break;case 12:ew_time = 60;sn_time = 63;ew_sign = 1;sn_sign = 0;EW_GREEN();SN_RED();break;case 18:ew_time = 30;sn_time = 33;ew_sign = 1;sn_sign = 0;EW_GREEN();SN_RED();break;default:break;}}if(ew_time == 0){switch(ew_sign){case 0:ew_sign = 1;ew_time = ew_total_time[hour];EW_GREEN();break;case 1:ew_sign = 2;ew_time = 3;EW_YELLOW();break;case 2:ew_sign = 0;ew_time = sn_total_time[hour] + 3;EW_RED();break;}}if(sn_time == 0){switch(sn_sign){case 0:sn_sign = 1;sn_time = sn_total_time[hour];SN_GREEN();break;case 1:sn_sign = 2;sn_time = 3;SN_YELLOW();break;case 2:sn_sign = 0;sn_time = ew_total_time[hour] + 3;SN_RED();break;}}LED_WRITE(ew_time/10,EW_H);LED_WRITE(ew_time%10,EW_L);LED_WRITE(sn_time/10,SN_H);LED_WRITE(sn_time%10,SN_L);}//main函数到此结束,以下是所用到函数的定义/*所用函数的定义*/void LED_INIT(){LED = 0x00;EW_weixuan_H = 1;EW_weixuan_L = 1;SN_weixuan_H = 1;SN_weixuan_L = 1;}void LED_WRITE(int dat,int con){EW_weixuan_H = 0;EW_weixuan_L = 0;SN_weixuan_H = 0;SN_weixuan_L = 0;if(dat < 10){LED = LED_CODE[dat];switch(con){case EW_H:{EW_weixuan_H = 1;break;}case EW_L:{EW_weixuan_L = 1;break;}case SN_H:{SN_weixuan_H = 1;break;}case SN_L:{SN_weixuan_L = 1;break;}}}void timer_int() interrupt 0{EA = 0;counter--;switch(hour){case 0:case 1:case 2:case 3:case 4:EW_YELLOW();SN_YELLOW();EW_NONE();SN_NONE();break;default:ew_time--;sn_time--;if(ew_sign == 1 && ew_time <= 3 && ew_time > 0){EW_GREEN();EW_NONE();}if(sn_sign == 1 && sn_time <= 3 && sn_time > 0){SN_GREEN();SN_NONE();}break;}EA = 1;}/* 延迟函数定义*/void DELAY2(){_nop_();_nop_();}//延迟2usvoid DELAY4(){DELAY2();DELAY2();}//延迟4usvoid DELAY8(){DELAY4();DELAY4();}//延迟8us//void IIC_WRITE( unsigned char dat) {unsigned char temp;for(temp = 0; temp < 8; temp++){SCL=0;if((dat << temp) & 0x80){SDA=1;}else{SDA=0;}DELAY2();SCL=1;DELAY4();SCL=0;}DELAY4();SDA = 1;DELAY2();SCL = 1;DELAY4();SCL = 0;}unsigned char GET_HOUR(){//STARThour = 0;unsigned char temp;SDA = 1;DELAY8();SDA = 0;DELAY8();//WRITEIIC_WRITE(0XD0);//HOURADDRESSIIC_WRITE(0X02);//RESTARTSDA = 1;SCL = 1;DELAY8();SDA = 0;DELAY8();//READIIC_WRITE(0XD1);//READHOURSDA = 1;for(temp = 0; temp < 8; temp++){hour = hour << 1;SCL=1;DELAY2();if(SDA == 1){hour++;}SCL=0;}//SENDNOACKSDA = 1;SCL = 1;DELAY4();SCL = 0;//STOPSDA = 0;DELAY8();SDA = 1;DELAY4();SCL = 0;return hour;}四、心得体会通过这次的实验设计,我深入了对单片机的了解,也明白了日常生活中处处有自动控制的例子,其中不乏有各种系列的单片机,同时我也认识到对单片机的学习应该更加深入才能得心应手,虽然只是一个芯片而已,但是如果你具备足够的知识,就可以充分利用,根据自己的设想就可以做出各种实用的东西,而我现在发现自己基本还处于初级阶段,需要更加努力,特别是编程能力,当然也有收获,首先我对protel的使用更有信心了,又发现了其中的一些功能,同时我也了解了一些其它芯片,比如EEPROM存储芯片AT24C02的非易失性,DS1302时钟芯片可以精确的计时,为了与电脑进行串口通讯必须采用转串口芯片比如MAX232,从而实现单片机的TTL电平到RS232电平的转换。