单片机交通灯课程设计报告(含电路图,源程序)
单片机交通灯实验报告(一)
单片机交通灯实验报告(一)引言概述:交通灯是城市交通管理的重要组成部分,通过控制红绿灯的变化,实现车辆和行人的有序通行。
本文将详细介绍单片机交通灯实验的设计与实现,包括硬件设计、程序编写和实验结果分析。
正文:一、硬件设计1. 确定电路所需元件:单片机、LED灯、电阻等。
2. 组装硬件电路:按照电路图进行元件的连接,确保电路的正确连接。
3. 设计适当的电源:为单片机和LED灯提供稳定的电源。
二、程序编写1. 定义程序所需的IO口:确定控制LED灯的IO口。
2. 初始化单片机:设置单片机的工作频率和中断。
3. 设计交通灯的流程控制:根据实际的交通灯变化规律,设计程序的流程控制。
4. 编写交通灯控制的函数:使用if-else语句或switch-case语句编写函数控制交通灯的变化。
5. 调试程序:通过单片机调试工具或仿真软件,检查程序运行的正确与否。
三、实验结果分析1. 观察实验现象:通过实验现场观察交通灯的变化,记录每一种灯亮的时间和顺序。
2. 分析实验结果:根据实验记录,分析交通灯的工作原理和实现的准确性。
3. 比较与设计要求的符合度:将实验结果与设计要求进行比较,评估实验的完成度。
4. 探讨存在问题与改进方向:分析实验中可能存在的问题,并提出改进措施。
四、小结本文介绍了单片机交通灯实验的设计与实现。
通过硬件设计和程序编写,实现了交通灯的变化控制。
通过实验结果分析,我们可以得出实验的有效性和可行性。
当然,实验中也存在一些问题,需要进一步改进。
在后续的实验中,我们将进一步完善交通灯的控制,提高其实际应用的稳定性和可靠性。
总结:本文详细介绍了单片机交通灯实验的设计与实现,包括硬件设计、程序编写和实验结果分析。
通过该实验,我们对交通灯的工作原理和控制方法有了更为深入的了解,并对实验的经验和教训进行了总结。
相信在今后的学习和实践中,我们能够更好地应用单片机技术,为实现交通管理的智能化和高效化作出贡献。
单片机交通灯课程设计报告
《单片机原理与应用》课程设计报告题目:学院:姓名:学号:日期:指导老师:交通灯的设计一、课程设计的目的1、进一步熟悉和掌握单片机的结构及工作原理。
2、掌握单片机的接口技术及相关外围芯片的特性,控制方法。
3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应工作打下基础。
6、通过课程设计,培养学生综合运用所学专业知识分析问题和解决问题的能力。
二、仪器设备伟福Lab8000系列单片机仿真实验系统。
三、课程设计主要内容及技术指标基本要求:设计由红黄绿三色灯组成的交通信号灯,各灯逐次点亮,按照红灯亮63秒——绿灯亮60秒——黄灯亮3秒——红灯亮63秒的顺序反复循环。
利用单片机片内的定时计数器定时,红黄绿灯用发光二极管表示,计时值用数码管以十进制数字显示。
要求定时准确,数码管和二极管显示正确。
拓展要求:要有较好的人机对话界面;由单向路口的红绿灯循环点亮拓展为十字路口红绿灯的循环点亮;在十字路口的某一方向设定紧急通行开关,闭合开关时要求此方向绿灯点亮,另一方向红灯点亮,且倒计时的显示数码管停止计时。
四、系统工作原理该系统以89C51单片机为控制核心,由外接三色(红绿黄)LED灯同步八段数码管的倒计时显示,外接两开关电路控制两方向的应急中断。
单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到八段数码管上实时显示。
在此过程中随时通过开关调用LED灯常亮显示和清除数码管显示的中断。
五、系统的硬件设计注:单片机的晶振电路的复位电路略去连线时,伟福Lab8000系列单片机仿真实验系统的数码管显示打到外驱,P2口连接数码管的段码口,P3连接位选通口;用P1.0~P1.5分别选连两组红绿黄灯,P1.6~P1.7连接两控制开关key和key1.六、系统的软件设计1、系统工作过程(1) 在一个十字路口的两条主干道上,分别装上一套红、黄、绿3种信号灯。
交通灯实验报告——单片机
二、用51单片机设计交通灯、彩灯控制器一、可实现功能:1)通过51单片机,在面包板上模拟交通红绿灯。
分为主干道和支干道,每条道上安装红、绿、黄三种颜色的灯,并用两位八段数码管显示主干道三种灯亮的时间,由程序控制自动循环,红灯40秒,绿灯35秒,黄灯5秒;2)用单片机的外部中断0的产生来控制六路彩灯,此处只设计了四种花型。
二、电路原理图:三、源程序如下:#include "reg51.h"#include <intrins.h>void display(unsigned int digital);void delay(unsigned int time);void colour();unsigned shu[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6}; Unsignedled[41]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xff,0xdf,0xcf,0xc7,0xc3,0xc1,0xc0,0xc1,0xc3,0xc7,0xcf,0xdf,0xff, 0xf3,0xe1,0xc0,0xe1,0xf3,0xff,0xde,0xcc,0xc0,0xcc,0xdf,0xff, 0xdb,0xed,0xf6,0xed,0xdb,0xff,0xc0,0xff,0xc0,0xff,0xc0,0xff};sbit a=P2^6;sbit b=P2^7;sbit G=P2^0;sbit Y=P2^1;sbit R=P2^2;sbit g=P2^3;sbit y=P2^4;sbit r=P2^5;int flag=0;//全局变量,当它为1时显示彩灯,当它为0时,显示交通灯#define state_1 G=0;Y=1;R=1;g=1;y=1;r=0//主干道绿,支干道红#define state_2 G=1;Y=0;R=1;g=1;y=1;r=0//主干道黄,支干道红#define state_3 G=1;Y=1;R=0;g=0;y=1;r=1//主干道红,支干道绿#define state_4 G=1;Y=1;R=0;g=1;y=0;r=1//主干道红,支干道红void main(void){unsigned int i;EA=1; //首先开启总中断EX0=1; //开启外部中断 0IT0=1; //设置触发方式为下降沿触发while(1){while(flag==0){state_1;for(i=35;i>0;i--)delay(1);state_2;for(i=5;i>0;i--){delay(i);y1=~y1;}state_3;for(i=20;i>0;i--)delay(i);state_4;for(i=5;i>0;i--){delay(i);y2=~y2;}}while(flag==1) colour();}}//显示子程序,实现用两位数码管显示灯亮的时间void display(unsigned int digital){ unsigned int k;unsigned int ge=digital%10,shi=digital/10;//将十位与个位分离for(k=0;k<30000;k++){ a=1;b=0;P0=shu[ge];P0=0;a=0;b=1;P0=shu[shi];P0=0;}}//实现彩灯控制void colour(){ P1=0xff;P3=0x00;P2=0xff;while(1){ unsigned int j;for(j=0;j<41;j++)//循环程序演示四种花型{ P2=led[j];delay(1);} delay(5);}}//中断函数void key_scan() interrupt 0 //关键字"interrupt" ,这是C语言的中断函数表示法,,单片机有6个中断口,外部中断0的优先级最高,在程序里我们只用外部中断0 {flag++;if(flag==2) flag=0;}//延时程序void delay(unsigned int time) //参数time大小决定延时时间长短{ unsigned int j,k;time=time*5;for(j=0;j<time;j++)for(k=0;k<10000;k++);}四、源程序分析1、在电路设计时我用了共阴极八段数码管来显示时间:unsigned shu[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};数组中十个数分别表示0到9十个数;2、在设计彩灯时,我直接利用交通灯的主干道和支干道的六个灯设计彩灯:unsignedled[48]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xff,0xdf,0xcf,0xc7,0xc3,0xc1,0xc0,0xc1,0xc3,0xc7,0xcf,0xdf,0xff,0xf3,0xe1,0xc0,0xe1,0xf3,0xff,0xde,0xcc,0xc0,0xcc,0xdf,0xff,0xdb,0xed,0xf6,0xed,0xdb,0xff,0xc0,0xff,0xc0,0xff,0xc0,0xff};数组中的48个数共演示了四种花型3、void display(unsigned int digital){ unsigned int k;unsigned int ge=digital%10,shi=digital/10;//将十位与个位分离for(k=0;k<30000;k++){ a=1;b=0;P0=shu[ge];P0=0;a=0;b=1;P0=shu[shi];P0=0;}}显示子程序中将时间的十位与个位分离,用a、b来选择数码管将个位与十位分时输出。
基于单片机的交通灯课程设计报告(含源程序+仿真)
基于单片机的交通灯课程设计报告(含源程序+仿真)
一、课程设计目的
本课程设计的目的是使用单片机实现二级智能信号灯控制系统,实现智能交通控制。
对于二级智能信号灯控制装置,电路中涉及到各种元器件,包括单片机控制器、执行元件、电源元件、信号识别器等,采用单片机作为控制器,在单片机编程时,配合交通信息识别器,实现自主的交通控制系统,实现智能控制。
根据交通控制装置的物理结构,开发出相应的单片机程序控制系统。
具体的程序设计和控制流程如下:
1、根据需要确定路口的信号方案;
2、在单片机软件模块中添加车辆检测功能;
3、控制信号灯运行,当检测到车辆时,调整信号灯运行;
4、编写交通控制程序,实现对信号灯及其信号闪烁序列的控制;
5、编写车辆检测控制程序,实现对道路中车辆的检测和判断;
6、完成软件调试,将控制程序上传至单片机;
7、实现仿真测试,检验交通控制系统的实际效果。
本课程设计最终实现了一个完整的实时交通控制系统,它具有以下特性:
(1)具有交通灯自动变换功能;
(2)拥堵及女性模式,即可以根据车流量多少,判断如何安排红绿灯;
(3)可以根据实际情况,启动信号灯控制系统,控制信号灯的变换。
本课程设计实现了对交通控制系统的简单控制,可以满足城市交通的需求,减少城市交通拥堵的程度。
单片机课程设计报告(交通灯)
第一章微控制器应用系统综合课程设计的目的意义1.1 设计目的自动化工程训练是为自动化专业开设的课程设计教学环节,其目的在于培养学生综合运用理论知识来分析和解决实际问题的能力,是通过设计以微控制器为核心的单片机检测系统,加深学生对微控制器技术的了解,进一步掌握其程序设计与硬件接口技术。
本课程的主要任务是运用所学微控制器技术、微机原理等方面的知识,设计出一台以80C32MCU为核心的单片机数据采集、通讯或测控系统,完成信息的采集、处理、输出及人机接口电路等部分的软、硬件设计。
1.2 课程设计的基本要求本课程设计涉及《微控制器技术》课程的基本概念和理论,主要要求学生掌握微控制器的指令系统、中断技术、总线扩展、模拟与数字I/O接口技术与通讯技术等,重点是培养学生掌握微控制器在自动化测控应用系统中的设计与开发方法。
课程设计的基本要求如下:1.掌握单片微控制器硬件结构和工作原理、中断与定时系统、嵌入式应用、现场总线等基本概念和原理;2.熟悉8/16位单片微控制器(8X51/196系列)的主要功能单元和指令系统;3.熟悉测控网络中嵌入式微控制器的应用和现场总线应用技术。
4.利用微控制器的接口技术进行简单的测控及自动化应用系统设计;5.每人提交系统设计报告一份,现场演示验收设计系统。
第二章交通信号灯实时控制系统设计任务2.1 设计内容及要求本课题是设计制作一个交通信号灯实时控制系统。
①在一个十字路口的一条主干道和一条支干道上分别装上一套红、黄、绿3种信号灯:用按键开关模拟十字路口的车辆检测传感器信号。
在一般情况下,主干道上的绿灯常亮,而支干道总是红灯。
②当检测到支干道上来车时(用按键开关模拟),主干道的绿灯转为黄灯,持续4S后,又变为红灯,同时支干道由红灯变为绿灯。
③支干道绿灯亮后,或者检测到主干道上来了3辆(用3个按键开关模拟),或者虽未来3辆车,但支干道绿灯已经持续了25s,则支干道立即变为黄灯,4s 后转为红灯,同时主干道由红灯变为绿灯。
交通灯单片机课程设计报告
课程设计报告:交通灯单片机控制系统1. 设计目的本课程设计旨在让学生通过使用单片机开发一个简单的交通灯控制系统来加深对单片机编程和控制原理的理解。
该系统可以模拟道路上的交通灯,实现红灯、绿灯和黄灯的循环控制,并可以通过按键进行手动控制。
2. 设计原理2.1 交通灯状态交通灯状态包括红灯、黄灯和绿灯,它们按照固定的时间间隔循环切换。
2.2 按键控制设计中使用一个按键用于手动控制交通灯状态切换。
按下按键时,会切换到下一个灯状态。
3. 硬件方案3.1 单片机本设计采用ATmega328P单片机,它具有足够的GPIO引脚用于控制交通灯的LED。
3.2 LED使用红色、黄色和绿色LED模拟交通灯的三种状态。
3.3 按键一个按键连接到单片机的GPIO引脚,用于手动切换交通灯状态。
4. 软件方案4.1 控制逻辑编写单片机程序,实现交通灯状态的循环切换和按键控制逻辑。
4.2 定时器使用定时器来控制交通灯状态切换的时间间隔。
4.3 中断配置按键的中断,以便在按下按键时进行状态切换。
5. 实施过程连接硬件组件,包括LED、按键和单片机。
编写单片机程序,包括交通灯状态切换逻辑、定时器配置和按键中断处理。
编译并烧录程序到单片机。
运行程序,观察交通灯的状态切换和按键控制是否正常。
6. 测试结果经过测试,交通灯控制系统能够正常运行。
交通灯状态按照预定的时间间隔循环切换,同时按下按键可以手动切换状态,符合设计要求。
7. 问题解决在实施过程中,遇到了一些问题,如硬件连接错误和程序逻辑错误。
通过仔细检查和调试,成功解决了这些问题。
8. 总结本课程设计使我深入了解了单片机编程和控制系统的原理,通过实际动手操作,更好地掌握了这些概念。
设计交通灯控制系统是一个有趣且教育性的项目,我对单片机编程有了更深入的理解,这对我的学习和职业发展都有所帮助。
这个示例课程设计报告可以作为参考,你可以根据具体的课程设计要求和硬件平台的不同来进行调整和扩展。
单片机课程设计报告1 交通灯
单片机课程设计报告1 交通灯1. 引言本文档是单片机课程设计的报告,主题为交通灯。
交通灯是城市交通管理的重要组成部分,合理的交通灯设置可以提高交通效率、保障交通安全。
本文将介绍交通灯的设计方案、实现过程以及遇到的问题及解决方法。
2. 设计方案2.1 总体设计思路本次交通灯设计采用的是基于单片机的控制系统。
通过在单片机上编程设计,控制交通灯的状态和时间,实现交通灯的自动切换,并保证交通流畅。
2.2 硬件设备本次设计所需的硬件设备包括:•单片机:采用STC89C52型单片机•交通灯信号灯模块:包括红灯、黄灯、绿灯三个灯泡及控制电路板•电源模块:用于提供电力供给2.3 软件设计本次设计的软件部分主要包括:•交通灯控制程序:通过编写程序控制单片机,实现交通灯的自动切换3. 实现过程3.1 准备工作在开始设计之前,我们首先进行了一些准备工作。
包括准备好所需的硬件设备,如单片机、交通灯信号灯模块和电源模块;同时也对单片机进行了初始化配置,以及编写好了交通灯控制程序的框架。
3.2 硬件连接我们将单片机与交通灯模块进行连接。
具体的连接方式如下:1.将单片机的IO口与交通灯模块的各个灯泡的控制引脚相连,以实现对灯泡亮灭的控制。
2.将电源模块与单片机进行连接,以提供电力供给。
3.3 软件设计与编程在硬件连接完成后,我们开始着手进行软件设计和编程。
主要的步骤包括:1.定义交通灯的状态:根据交通灯的信号变化规律定义交通灯状态,如红灯亮、黄灯亮、绿灯亮等。
2.编写控制程序的逻辑:根据交通灯的状态定义,编写控制程序的逻辑,实现不同状态之间的切换和持续时间的控制。
3.编程实现:根据以上设计,在单片机上编写程序,并通过烧录将程序烧录到单片机上。
3.4 测试与调试在程序编写完成后,我们进行了测试与调试。
通过在交通灯工作状态下的观察与测试,我们可以判断出程序是否符合设计要求,并进行必要的调试。
4. 遇到的问题与解决方法在设计与实现过程中,我们遇到了一些问题,具体包括:•问题1:单片机与交通灯模块的连接出现问题,导致交通灯无法正常工作。
单片机交通灯设计(课程设计)
1设计任务功能说明及总体方案介绍1.1 设计任务设计一个具有特定功能的十字路口交通灯。
该交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
按开始键则开始工作,按结束键则返回“P.”状态。
要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。
有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。
1.2功能说明本次课程设计所做的交通灯所实现的功能有:1、在系统上电或按键复位后显示“P.”,进入进入准备工作状态。
2、按开始键开始工作,按结束键则返回“P.”状态。
3、甲车道和乙车道两条交叉道路上的车辆交替运行,且甲为主车道,乙为次车道;其中主车道通行时间为60s,次车道通行时间为30s;黄灯亮三秒,并闪烁1s。
4、出现紧急车辆时,要求红灯全亮,紧急车辆通车时间为10s,同时禁止其他车辆出行。
1.3总体方案介绍及工作原理本设计采用一主(甲)车道(东西方向),一次(乙)车道(南北方向)的路口,主车道的通行时间为60s(为次车道的2倍)。
在正常情况下,两车道的交通灯按表1.1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED 上;另发挥部分主要有:1. 当按下开始键后,系统才开始工作;2.当按结束键时,系统返回P.状态,结束键松开则恢复原来状态;3.当出现紧急情况时,路口的交通灯全为红灯,控制码为CF,时间为10s,紧急情况解除时,恢复到原来的状态。
表1.1 交通灯状态表2 硬件系统的设计2.1硬件系统各模块功能简要介绍2.1.1 时钟电路模块时钟电路由一个晶体振荡器12MHz和两个33pF的瓷片电容组成。
时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。
单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地作。
单片机课程设计(交通灯程序)
单片机课程设计基于单片机的交通灯设计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)班学生姓名:学号:指导教师:(课程设计时间:2015年12月21日——2015年12月26日)宜春学院目录1.课程设计目的 (2)2.课程设计题目描述和要求 (2)3.课程设计报告内容 (2)3.1 系统方案 (2)3.2 系统硬件介绍 (2)3.2.1 系统框图 (2)3.2.2 硬件连接 (3)3.3 系统调试效果 (3)4.总结 (4)附录系统完整程序 (5)1.课程设计目的掌握单片机的分析和设计方法。
掌握单片机系统的设计组装与调试方法。
提高电路布局﹑布线及检查和排除故障的能力。
培养书写综合实验报告的能力。
2.课程设计题目描述和要求十字路口交通灯控制系统;用LED灯模拟显示,模拟十字路口交通情况;东西方向通行30s,南北方向通行25s黄灯缓冲3s,并用两个数码管计时(剩余时间);用红、黄、蓝三种颜色的LED 灯模拟交通信号灯。
3.课程设计报告内容3.1系统方案采用80c51单片机作为处理机,利用定时器T0计时,定时器T0定时10ms溢出一次,溢出100次即为1s,并根据要求点亮相应的LED灯输出交通信号;另外,8位数码管显示采用动态扫描的方式,设计语言采用汇编语言。
3.2系统硬件电路介绍3.2.1系统硬件电路框图3.2.2连接图如图:3.3系统调试效果(截图):4.总结本次实验运用所学的知识用单片机作为处理机制作了一个模拟交通灯控制器,制作过程中几乎把所有所学的知识都用上了,但这毕竟不是上课听听老师讲,看看书上例子那么简单,从设计到制作到调试都要自己动手以前在书上看到别人写的程序,感觉好像也就那么回事,但真正自己做起来并没有想象中的简单,中间遇到很多困难,和挫折,还好有老师和同学的帮助才能在这么短的时间完成,感谢老师和同学们的耐心讲解。
此次制作中主要问题还是写程序,其实大问题也没有,往往是一些细节容易被我们忽略,就比如:用keil编写程序时,必须用英文输入法,包括标点符号;使用DJNZ 指令时,数字会自动先减1再比较是否为0;还有T‘0’和T‘o’傻傻分不清等等,虽然都是些小问题,但不注意的话真的很头疼。
单片机交通灯实验报告
单片机交通灯实验报告交通灯是城市交通管理的重要组成部分,它能够规范车辆和行人的通行秩序,保障交通安全。
为了进一步学习交通灯的原理和掌握其设计,我们进行了一次单片机交通灯实验。
本次实验使用单片机和几个LED灯,通过对单片机的编程控制来实现交通灯的自动切换。
下面是我对该实验进行的详细记录和分析。
首先,我们需要连接电路。
我们采用的是STC89C52单片机,使用3个LED灯来模拟红灯、黄灯和绿灯。
利用杜邦线将LED灯连接到单片机的GPIO口,另外还需要连接一个电位器到单片机的模拟口,用来控制红灯亮灭的时间。
接下来,我们进行了单片机的编程。
我们使用C语言编写程序,利用单片机提供的GPIO口控制LED灯的亮灭,从而实现交通灯的控制。
我们通过控制红灯、黄灯和绿灯的亮灭时间,模拟真实交通灯的工作。
在编写程序的过程中,我们首先做了一些准备工作。
我们初始化了单片机的GPIO口,设定了红灯、黄灯和绿灯的引脚。
然后,我们使用一个循环语句不断地进行交通灯的切换。
具体来说,我们将交通灯控制划分为红灯、绿灯和黄灯三个状态,利用if-else语句对不同状态进行判断并进行相应的控制。
通过对红灯亮灭时间的控制,我们能够实现交通灯的自动切换。
在程序设计的过程中,我们还考虑了交通灯的变化时间。
我们在红灯和绿灯之间设置了一个黄灯过渡时间,以模拟真实交通灯的工作。
同时,我们还设置了一个迟滞时间,使得每个状态之间的切换更加顺滑。
通过这次实验,我们进一步了解了交通灯的工作原理和掌握了单片机的编程技巧。
通过对交通灯的模拟,我们成功地实现了交通灯的自动切换。
总结起来,这次实验不仅提高了我们对交通灯的认识,还锻炼了我们的动手能力和创新思维。
在今后的学习和工作中,我们将继续学以致用,将所学的知识应用到实际问题中。
让我们共同努力,为交通安全做出贡献。
单片机课程设计报告(交通灯)
单片机课程设计交通灯引言:课程设计为我们提供很好的实践机会,能更好的让我们了解芯片的作用和功效。
熟悉单片机的编程,PCB设计和印刷板的设计和制作。
让理论知识结合实践,更好的巩固平时的所学。
也可以让我们学会细心认真的检查错误。
更能提高自己的专业素能。
任务:设计一个能够控制六盏交通信号灯的单片机模拟系统要求:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。
并有延时设置。
方案一:74LS240 TTL是八反相三态缓冲器/线驱动器,加电阻用于驱动LED,最高一排电阻上的5V电源通过电阻和LED相连,保证了LED有足够的电压又不会被烧毁。
采用89C51只支持并行写入,同时需要VPP烧写高压。
低于4.8V和高于5.3V的时候则无法正常工作。
工作频率范围最高只支持到24M。
输入程序并检查无误,对程序进行汇编、调试,然后烧写程序到89c51单片机。
方案二:用AT89C51来控制红绿灯的工作,通过MD 74LS164N来控制显示部分。
其缺点是没有外接上拉电阻和5V电源。
这样灯可能不够亮。
三、硬件设计(一)首先了解实际交通灯的变化情况和规律。
假设一个十字路口如上图所以,为东南西北走向。
主干道为东西绿灯通车60秒,次干道南北红灯亮64秒,其中4秒是延迟时间,避免车会相撞。
黄灯各亮4秒,次干绿灯道亮40秒。
详细的状态描述如下:主干道为转状态1东西绿灯通车,次干道南北红灯亮。
过一段时间后,转状态2,东西绿灯灭,黄灯亮,南北还是红灯。
再转状态3,南北绿灯通车,东西红灯亮。
过一段时间后转状态4,南北绿灯灭,亮4秒黄灯,东西还是为红灯亮,一段时间后,又循环至状态1。
列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)1、P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下:2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O 口上的P1口中的6个引脚即可来控制6个信号灯。
单片机课程设计报告交通灯
单片机课程设计报告交通灯一、前言单片机技术是计算机科学与技术中一个重要领域,我们在学习单片机技术时,不仅需要了解单片机的硬件结构,还需要熟悉单片机的编程流程以及掌握基本的编程语言。
这次的课程设计是关于交通灯的设计,这个小项目更好地帮助我们了解了如何在单片机中实现一个简单的控制程序,同时也增强了我们的动手实践能力。
二、设计思路交通灯的设计原理比较简单,交通灯根据一定的时间规律不断地循环变化,所以,在单片机中实现交通灯控制的主要思路就是利用定时器来实现时间的计算和状态的改变。
本次设计的交通灯需要实现红灯、黄灯和绿灯之间的循环变化。
首先,我们需要了解交通灯的时序图,即红灯的时间、黄灯的时间和绿灯的时间。
红灯:亮红灯5秒、灭红灯1秒黄灯:亮黄灯3秒、灭黄灯1秒绿灯:亮绿灯5秒、灭绿灯1秒在这个基础上,我们需要梳理出主要的元件和功能模块:1. AT89C51单片机2. 七段数码显示管3. 蜂鸣器4. 光敏电阻5. LED灯6. 电位器7. 电路板8. 电源等三、程序设计在硬件部分准备好之后,我们开始进行程序设计。
程序的主要思路是通过在AT89C51单片机中的计数器,实现红绿灯的控制,同时,在七段数码管和蜂鸣器方面,也需要通过控制IO口进行控制。
具体步骤:步骤1:确认编译软件。
本次程序设计采用的是KeiluVision4,每一步的编写同学们需要认真进行,严格按照手册中的操作进行。
步骤2:确认程序框架。
程序的框架结构是主程序和定时器中断程序。
定时器中断路由用于计时和状态的转换,在main函数中执行初始化程序和控制程序,其中控制程序是根据定时器中断程序的控制来控制灯的状态。
步骤3:确认各个变量和IO口。
确认好计时器、IO口等变量的定义,以及相应的端口和引脚的定义。
步骤4:设置定时器中断。
在程序中,我们实现了循环的主要功能,那么就需要使用中断来实现。
具体的实现方法是利用定时器中断,在中断程序中进行计时、状态转换和IO输出。
单片机交通信号灯设计报告
单片机交通信号灯设计报告引言交通信号灯作为现代交通管理的重要组成部分,对于提高交通效率、保障交通安全具有重要意义。
本报告旨在介绍一种基于单片机技术的交通信号灯设计方案,通过控制信号灯的颜色变化实现交通流量的管理和交通安全的提升。
设计方案本设计采用基于单片机的交通信号灯设计方案,主要由硬件和软件两部分组成。
硬件设计硬件设计主要考虑到信号灯的控制电路和显示部分。
1. 控制电路:采用安装于交通信号灯控制塔中的单片机,例如常用的Arduino 或者Raspberry Pi。
单片机通过控制继电器或者晶体管等元件来实现信号灯的颜色控制。
2. 显示部分:交通信号灯由红、黄、绿三种颜色的灯组成。
每个灯都是由LED 发光二极管组成,通过驱动电路控制LED的亮灭来实现颜色的变化。
软件设计软件设计主要考虑到单片机的程序设计。
1. 时序控制:单片机程序通过控制交通信号灯的切换时序来实现灯颜色的变化。
2. 亮灭控制:通过控制LED灯亮灭的方式来实现不同颜色的灯显示。
例如,亮红灯时只有红灯亮,其他灯灭,亮绿灯时则只有绿灯亮,其他灯灭。
工作原理交通信号灯设计方案的工作原理如下:1. 初始化:单片机启动时初始化程序,设置初始状态为红灯亮。
2. 时序控制:程序根据预设的时间,控制交通信号灯按照一定顺序和时间切换,例如红灯持续亮15秒,然后切换到绿灯亮10秒,再切换到黄灯亮5秒,最后再切换到红灯亮。
3. 亮灭控制:程序控制LED的亮灭状态来实现不同颜色灯的显示。
例如,当程序需要亮红灯时,控制红灯LED亮,其他灯LED灭。
4. 循环执行:程序循环执行上述步骤,使交通信号灯不断切换颜色,达到交通流量管理和交通安全的目的。
实施计划本设计的实施计划如下:1. 硬件准备:采购所需的单片机、LED等元件,组装好交通信号灯硬件部分。
2. 软件编写:根据设计方案,编写单片机程序,并进行测试和调试,确保程序的正常运行。
3. 系统整合:将单片机和交通信号灯的硬件部分进行整合,确保程序可以正确地控制LED灯的亮灭。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.引言................................................................. 错误!未定义书签。
2.总体设计方案 (2)2.1. 设计思路 (2)2.1.1.设计目的 (2)2.1.2.设计任务和内容 (3)2.1.3.方案比较、设计与论证 (3)2.1.4.芯片简介 (6)2.2. 设计方框图 (12)3.设计原理分析 (13)3.1. 交通灯显示时序的理论分析与计算 (13)3.2. 交通灯显示时间的理论分析与计算 (15)3.3. 电路模块 (16)3.3.1.LED数码管显示模块 (16)3.3.2.LED红绿灯显示模块 (19)3.3.3.复位电路 (22)3.3.4.晶振电路 (23)4.结束语 (23)6.附录 (24)6.1. 附录1:程序清单 (24)6.2. 附录2:电路设计总图 (32)6.3附录3:实物图 ....................................... 错误!未定义书签。
1.总体设计方案1.1.设计思路1.1.1.设计目的(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正使用。
(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
(4)提高利用已学知识分析和解决问题的能力。
(5)提高实践动手能力。
1.1.2.设计任务和内容1.1.2.1.设计任务单片机采用用AT89S52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口15秒,南北路口25秒,黄灯时间5秒)。
1.1.2.2.设计内容(1)设计并绘制硬件电路图(2)制作PCB并焊接好元器件(3)编写程序并将调试好的程序固化到单片机中1.1.3.方案比较、设计与论证1.1.3.1.电源提供方案为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。
此方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
综上所述,我们选择第二种方案。
1.1.3.2.复位方案复位方式有两种:按键复位与软件复位。
由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。
1.1.3.3.输入方案方案一:采用89S52扩展I/O 口及键盘,显示等。
该方案的优点是:使用灵活可编程,并且有RAM,及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:直接在IO口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用2个按键,分别是K1、K2。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二1.1.3.4.显示界面方案该系统要求完成倒计时、状态灯等功能。
基于上述原因,我们考虑了三种方案:方案一:完全采用数码管显示。
这种方案只显示有限的符号和数码字符,无法胜任题目要求。
方案二:完全采用点阵式LED 显示。
这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED 灯分别显示时间与提示信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。
设计方框图整个设计以AT89S52单片机为核心,由数码管显示,LED 数码管显示,复位电路组成。
硬件模块入图2-1。
1.1.3.5. 交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
指示灯燃亮的方案如表2。
AT89S52单片机数码管显示 LED 数码管显示晶振电路复位电路2说明:(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。
时间为25秒。
(2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。
时间为25秒。
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
1.1.4.芯片简介1.AT89S52单片机简介其引DIP封装的脚图如下:主要性能与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
功能特性描述At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8 位微控制器 8K 字节在系统可编程 Flash AT89S52P0 口:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。
对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。
对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。
在这种应用中,P2 口使用很强的内部上拉发送1。
在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。
对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN 信号。
EA/VPP ——外部访问允许,欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ),EA 端必须保持低电平(接地)。
需注意的是:如果加密位LB1被编程,复位时内部会锁存EA 端状态。
如EA 端为高电平(接Vcc 端),CPU 则执行内部程序存储器的指令。
FLASH 存储器编程时,该引脚加上+12V 的编程允许电源Vpp ,当然这必须是该器件是使用12V 编程电压Vpp 。
1.2. 设计方框图2.设计原理分析2.1.交通灯显示时序的理论分析与计算对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间来表示。