单片机交通灯课程设计
- 格式:doc
- 大小:1.12 MB
- 文档页数:34
交通信号灯单片机课程设计一、设计背景交通信号灯是城市道路上的重要设施,它能够指引行车和行人的方向,维护交通秩序和安全。
而现代交通信号灯则采用了单片机技术,使其更加智能化、可靠化和节能环保。
二、设计目标本课程设计旨在通过学习单片机原理和应用知识,掌握交通信号灯的设计与实现方法,并实现以下目标:1. 理解单片机工作原理及其应用;2. 掌握基本的电子元器件和电路知识;3. 学会使用Keil C51集成开发环境编写程序;4. 能够独立完成交通信号灯系统的设计与实现。
三、设计内容1. 系统硬件设计系统硬件主要由单片机、LED等元器件组成。
其中,单片机采用AT89C52型号,具有强大的计算能力和丰富的外设接口;LED则是光电转换元件,可将电能转换为光能进行显示。
2. 系统软件设计系统软件主要由Keil C51集成开发环境编写。
具体步骤如下:(1)编写程序框架:包括头文件引用、全局变量定义、主函数等;(2)编写延时函数:通过循环语句实现时间延迟,用于控制交通信号灯的闪烁和变换;(3)编写状态转换函数:根据交通信号灯的状态进行相应的控制操作,包括红灯、黄灯、绿灯等状态;(4)调试程序:通过单片机仿真器或实际硬件进行程序调试,确保程序运行正确。
四、设计步骤1. 系统硬件设计步骤:(1)确定系统功能需求和性能指标;(2)选取单片机和LED元器件,并进行电路原理图设计;(3)进行PCB布线和焊接工作,完成系统硬件设计。
2. 系统软件设计步骤:(1)安装Keil C51集成开发环境,并创建工程文件;(2)编写程序框架和延时函数,并测试其正确性;(3)编写状态转换函数,并测试其正确性;(4)将程序下载到单片机中,并进行实际运行测试。
五、设计成果展示经过以上步骤,我们成功地完成了交通信号灯系统的设计与实现。
下面是系统运行效果展示:当交通信号灯处于红灯状态时,车辆需停车等待;当交通信号灯处于黄灯状态时,车辆需减速慢行;当交通信号灯处于绿灯状态时,车辆可正常行驶。
《单片机原理及应用》课程设计题目基于STC89C52单片机的交通灯控制系统设计学生姓名沈邦振学号学院信息与控制学院专业测控技术与仪器指导教师孙伟二O一二年六月五日基于 STC89C52 单片机的交通灯控制系统沈邦振1.项目概述随着我国经济的高速发展,私家车、公家车的增加,无疑会给我国道路交通系统带来沉重的压力,很多大城市都不同程度的受到交通堵塞问题的困扰。
下面以STC89C52单片机为核心,设计出以人性化、智能化为目的的交通信号灯控制系统。
2.项目意义用 STC89C52单片机控制一个交通信号灯系统,晶振采用 12MHz。
设 A 车道与 B 车道交叉组成十字路口, A 是主道, B 是支道。
设计要求如下:(1)用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。
(2)正常情况下, A、B 两车道轮流放行, A 车道放行 9s ,其中 3s 用于警告; B 车道放行 6s, 其中 3s 用于警告。
(3)在交通繁忙时,交通信号灯控制系统应有手控开关,可人为的改变信号灯的状态,以缓解交通拥挤状况。
在 B 车道放行期间,若 A 车道有车而 B 车道无车,按下开关 K1 使 A 车道放行 5s;在 A 车道放行期间,若 B 车道有车而 A 车道无车,按下开关 K2 是 B 车道放行 5s。
( 4)有紧急车辆通过时,按下K3 使 A、 B 车道均为红灯,禁行5s。
3系统设计交通控制系统主要控制A、B 两车道的交通,以STC89C52单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行;另外通过3 个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。
根据要求,制定总体设计思想如下:(1)正常情况下运行主程序,采用 0.5s 延时子程序的反复调用来实现各种定时时间。
( 2)一车道有车,而另一车道无车时,采用外部中断 1 执行中断服务程序,并设置该中断为低优先级中断。
(3)有紧急车辆通过时,采用外部中断 0 执行中断服务程序,并设置该中断为高优先级中断,实现二级中断嵌套。
单片机交通灯课程设计一、课程介绍:本课程名为“单片机交通灯课程设计”,旨在通过教授单片机的基本原理和应用,使学员能够设计和实现一个简单的交通灯控制系统。
课程将围绕单片机的硬件组成、编程语言、接口技术等方面展开,使学员深入了解单片机的运作机制,掌握交通灯控制系统的原理和设计方法。
通过本课程的学习,学员将能够独立设计和实现一个交通灯控制系统,提高他们的实践能力和创新能力。
二、学习者分析:目标受众为具有一定电子工程或计算机科学背景的大学生,他们的年龄一般在18-25岁之间,学历水平主要为本科或研究生。
他们对电子技术和编程语言有一定的了解,具备一定的逻辑思维能力和问题解决能力。
先备知识方面,学员应掌握基本电路原理、C语言编程和微控制器的基本概念。
三、学习目标:1.认知目标:学生应该了解单片机的硬件组成、工作原理和编程语言;掌握交通灯控制系统的原理和设计方法。
2.技能目标:学生应该能够使用单片机开发工具进行程序编写和调试;能够设计和实现一个简单的交通灯控制系统。
3.情感目标:学生应该培养对电子技术的兴趣和热情,提高他们的问题解决能力和创新意识。
四、课程内容:1.模块/单元划分:将课程内容划分为以下几个模块:模块一:单片机基础知识;模块二:C语言编程;模块三:单片机接口技术;模块四:交通灯控制系统设计。
2.内容描述:模块一将介绍单片机的硬件组成、工作原理和编程环境;模块二将教授C语言的基本语法和编程技巧;模块三将讲解单片机接口技术的原理和应用;模块四将引导学员设计和实现一个简单的交通灯控制系统。
3.核心概念:每个模块中都包含关键概念或理论,如单片机的硬件组成、C语言的编程语法、接口技术的原理等。
这些核心概念是课程的重点,学员需要深入理解和掌握。
五、教学策略:为了达到本课程的学习目标,我们将采用多种教学方法、活动设计和技术的整合。
1.教学方法:我们将结合讲授、讨论、合作学习和实验等方法。
讲授法用于向学生传授单片机和C语言的基础知识;讨论法用于激发学生的思考,解决学习过程中遇到的问题;合作学习使学生在团队中共同完成项目,培养沟通和协作能力;实验法让学生亲手操作,加深对知识的理解和应用。
目录目录第一章课程设计内容与要求分析 (1)1.1 课程设计内容 (1)1.2 课程设计要求分析 (2)1.2.1 系统单元电路组成 (2)第二章控制系统程序设计 (4)第三章单片机原理及应用课程设计总结 (18)参考文献 (19)附录 (20)第一章课程设计内容与要求分析1.1 课程设计内容本题目以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;利用提供的单元模块构成硬件系统。
交通灯控制系统的设计要求:1)基本功能:要求在一般工作方式下,十字路口为A、B道(A、B道交叉组成十字路口),每道设置红、绿、黄三盏灯,在灯的控制下各道轮流放行。
通行的流程是:B道红灯亮40秒,同时A道绿灯亮30秒,闪烁5秒,A道黄灯亮5秒;然后切换A道红灯亮40秒,同时B道绿灯亮30秒,闪烁5秒;B道黄灯亮5秒。
如此循环。
在A、B道红、绿、黄灯依次点亮时,A、B道对应的两位数码管分别倒计时显示本道红、绿、黄灯点亮的时间。
2)扩展功能:设置自动流量控制功能:即当一道有车而另一道无车(用按键开关S1、S2模拟车辆检测功能)时,使有车车道放行。
设置优先控制功能:当有紧急车辆通过时,用开关S0进行控制,将A、B 道均设定为红灯,第二次按下开关S0后,回复正常运行状态。
1.2 课程设计要求分析1.2.1 系统单元电路组成图1 交通灯外围电路图2 交通灯运行时电路图3 交通灯运行时电路第二章控制系统程序设计#include <reg51.h>unsigned char code dtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳极接法的数字0~9段码表unsigned char code selec[4]={0xFE,0xFD,0xFB,0xF7};//动态显示位选码表unsigned char disp[4];//定义4个显示缓冲单元unsigned char aa[25];sbit Key1=P1^4;//定义四个独立按键sbit Key2=P1^5;sbit Key3=P1^6;sbit Key4=P1^7;sbit YL_ledR=P3^0;//定义Y轴方向左转的红绿黄灯sbit YL_ledY=P3^1;sbit YL_ledG=P3^2;sbit YG_ledR=P3^3;//定义Y轴方向直行的红绿黄灯sbit YG_ledY=P3^4;sbit YG_ledG=P3^5;sbit XL_ledR=P2^0;//定义X轴方向左转的红绿黄sbit XL_ledY=P2^1;sbit XL_ledG=P2^2;sbit XG_ledR=P2^3;//定义X轴方向直行的红绿黄sbit XG_ledY=P2^4;sbit XG_ledG=P2^5;unsigned char flag=13,move_flag; //定义标志位unsigned char XGR,XGY,XGG;unsigned char XLR,XLY,XLG;unsigned char YGR,YGY,YGG;unsigned char YLR,YLY,YLG;unsigned char YYRR,XXRR;unsigned char num;void Delayms(unsigned int x) //定义xms延时函数,x就是形式参数{unsigned int i;unsigned char j;for(i=x;i>0; i--)for(j=110;j>0;j--);}/**************************************************************函数功能:定时器0中断服务函数,显示矩阵按键值**************************************************************/void Time0(void) interrupt 1//"interrupt"声明函数为中断服务函数{unsigned char count;TH0=(65536-50000)/256; //定时器T0的高8位赋初值TL0=(65536-50000)%256;//定时器T0的低8位赋初值if(++count>=20){count=0;YGG--; //Y轴绿灯时间减一XXRR--; //X轴红灯时间减一disp[2]=XXRR%10; //X轴数码管显示Y轴绿灯时间disp[3]=XXRR/10;disp[0]=YGG%10; //Y轴数码管显示X轴红灯时间disp[1]=YGG/10;if(YGG==0) //如果Y抽绿灯时间减为零,Y轴的黄灯开始亮,X轴的数码管显Y轴黄灯时间{disp[0]=YGY%10;disp[1]=YGY/10;YGG=1;YGY--;YG_ledG=1;//Y轴的绿灯熄灭YG_ledY=0;if(YGY==0XFF) //当Y轴黄灯闪烁时间变为零,Y轴红灯亮,黄灯灭,Y数码管显示X轴绿灯时间{ //同时X轴的绿灯亮,红灯灭,X轴数码管显示Y轴红灯时间disp[0]=YLG%10;disp[1]=YLG/10;YGY=0;YLG--;YL_ledG=0;YG_ledR=0;YG_ledY=1;YL_ledR=1;if(YLG==0XFF)//当X轴绿灯时间为零,X轴的绿灯灭,黄灯开始闪烁。
课程设计报告:交通灯单片机控制系统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) 选取合适的单片机,可根据实际情况选择合适的型号;(2) 设计电路板,将单片机与交通灯的灯组连接起来;(3) 使用合适的电源供电,保证电路的正常运行;(4) 调试电路,确保电路的连接正常、无故障。
2. 软件设计:(1) 选择合适的编程语言和开发环境,如C语言和Keil等;(2) 设计主循环程序,实现交通灯的红、黄、绿灯的切换功能;(3) 设计按键检测处理程序,实现按键控制交通灯的手动切换功能;(4) 设计时间调整程序,实现交通灯切换时间的自动调整功能;(5) 设计故障处理程序,实现在故障发生时的处理机制。
实验步骤:1. 连接硬件电路,保证电路连接正确;2. 使用适当的编程语言编写程序,并导入单片机中;3. 打开电源,观察交通灯的切换状态,并尝试按键控制;4. 观察交通灯的自动调整功能,验证其正常工作;5. 模拟故障情况,测试故障处理机制;6. 对实验结果进行总结和分析,修正可能存在的问题。
注意事项:1. 实验中要注意电路连接和开关的正确使用,确保电路安全;2. 编写程序时要注意代码的规范性和可读性,方便后续修改和维护;3. 在实验过程中及时记录实验数据和观察结果,以便后续分析和总结。
结论:通过本次课程设计,我学会了如何使用单片机来实现交通灯的控制功能,并加深了对交通灯控制原理的理解。
单片机课程设计红绿灯一、教学目标本章节的教学目标是让学生了解和掌握单片机在交通信号灯控制系统中的应用。
通过本章节的学习,学生应能理解交通信号灯的工作原理,掌握单片机的基本编程和电路连接,培养学生的实际操作能力和创新思维。
具体来说,知识目标包括:1.了解交通信号灯的工作原理和作用。
2.掌握单片机的基本编程和电路连接。
3.了解如何利用单片机实现交通信号灯的控制。
技能目标包括:1.能够独立设计和连接单片机电路。
2.能够编写简单的单片机程序。
3.能够对交通信号灯控制系统进行调试和优化。
情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力。
2.培养学生对科技创新的兴趣和热情。
3.培养学生对交通安全的重视和责任感。
二、教学内容本章节的教学内容主要包括交通信号灯的工作原理、单片机的基本编程和电路连接,以及如何利用单片机实现交通信号灯的控制。
具体来说,教学大纲如下:1.交通信号灯的工作原理和作用:介绍交通信号灯的基本工作原理和其在交通管理中的作用。
2.单片机的基本编程:学习单片机的基本编程语言和编程技巧,包括数据的输入输出、逻辑运算和控制语句等。
3.单片机电路连接:学习单片机的基本电路连接方法,包括电源电路、输入输出电路和传感器电路等。
4.交通信号灯控制系统的实现:学习如何利用单片机实现交通信号灯的控制,包括编程设计、电路连接和系统调试等。
三、教学方法为了达到本章节的教学目标,将采用多种教学方法相结合的方式进行教学。
包括讲授法、讨论法、案例分析法和实验法等。
通过讲授法,向学生传授交通信号灯的工作原理和单片机的基本编程知识。
通过讨论法,引导学生进行思考和交流,培养学生的团队合作意识和沟通能力。
通过案例分析法,让学生通过分析实际案例,深入理解交通信号灯控制系统的实现方法。
通过实验法,让学生亲自动手进行电路连接和编程设计,提高学生的实际操作能力和创新思维。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将选择和准备适当的教学资源。
单片机 交通灯课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握交通灯控制器的设计方法;2. 学会使用编程软件进行单片机程序设计,实现交通灯控制功能;3. 了解交通灯系统的基本构成和运行原理,提高对电子工程实践的认识。
技能目标:1. 能够运用所学知识,独立完成单片机交通灯控制器的硬件搭建;2. 掌握基本的编程技巧,实现交通灯的定时切换和异常处理功能;3. 提高动手实践能力,培养团队协作和问题解决能力。
情感态度价值观目标:1. 培养学生对单片机及电子工程的兴趣,激发创新意识;2. 培养学生的责任心和敬业精神,使其在项目实践中体会工程实践的重要性;3. 增强学生的环保意识,理解交通灯系统在节能减排方面的作用。
课程性质:本课程为实践性较强的课程,结合单片机原理与应用,让学生在实际操作中掌握知识,提高技能。
学生特点:学生具备一定的电子基础和编程能力,对单片机有一定了解,但实践经验不足。
教学要求:注重理论与实践相结合,充分调动学生的积极性,培养其动手实践和团队协作能力。
通过课程学习,使学生能够独立完成单片机交通灯控制器的设计与实现。
1. 单片机基础理论:回顾单片机的组成、工作原理和编程基础,重点讲解I/O 口控制、定时器及中断系统等知识点。
教材章节:第二章 单片机原理与应用。
2. 交通灯控制器设计:介绍交通灯系统的基本构成、工作原理及设计要求,分析控制器硬件设计方法,包括电路图绘制、元器件选型等。
教材章节:第三章 交通信号灯控制系统设计。
3. 程序设计:结合单片机编程语言,讲解交通灯控制程序的编写方法,包括主程序、定时器中断服务程序等。
教材章节:第四章 单片机编程与应用。
4. 硬件搭建与调试:指导学生进行交通灯控制器硬件的搭建、程序烧录及系统调试,分析并解决实际问题。
教材章节:第五章 单片机系统调试与优化。
5. 项目实践:组织学生分组进行项目实践,要求每组完成一个具有定时切换和异常处理功能的单片机交通灯控制器设计。
单片机课程设计基于单片机的交通灯设计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过程。
摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新,因此也运用到了交通信号灯控制系统中。
单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
科技越发达,智能化的东西就越多,使用的单片机就越多。
看来学单片机是社会发展的需求。
本设计由单片机 AT89S52 芯片和 LED 数码管为核心,辅以必要的电路,构成了一个单片机交通灯。
引入了电子设计自动化技术,运用了 Proteus 单片机仿真软件和 Keil 软件,设计并实现本次的交通信号单片机控制系统。
关键词:交通灯;AT89S52;LED 显示ABSTRACTAs technology evolved in recent years, it is monolithic integrated circuits, and promote the traditional test, control technology is therefore also apply to the traffic signal control system. monolithic integrated circuits come to pervade every aspect of our lives, it is difficult to find what field did not monolithic integrated circuits of the box.Therefore, monolithic integrated circuits, exploitation and application of the study will make a number of computer applications and the intelligent control of the scientists and engineers. the more advanced technology, the more intelligent.Key words: traffic lights;at89s52;led display目录1 设计要求及总体方案介绍 (4)1.1 设计课题任务 (4)1.2 功能要求说明 (5)1.3 方案介绍及工作原理 (5)2 硬件系统的设计 (7)2.1 硬件系统各模块功能介绍 (6)2.1.1 显示电路设计 (6)2.1.2 发光二极管指示灯电路 (7)2.1.3 键盘控制电路 (7)2.1.4 数码管电路 (8)2.1.5 下载口电路 (8)2.1.6 流水灯电路 (8)2.2 电路原理图 (8)2.3 电路PCB图 (8)2.4 元器件布局图 (8)2.5 元器件清单 (8)2.6 硬件测试 (8)2.7 所做实物图 (9)3 软件系统设计 (9)3.1 单片机资源使用情况 (9)3.2 软件系统各模块功能 (10)3.2.1 显示 P.模块 (10)3.2.2 亮灯模块 (10)3.2.3 显示模块 (10)3.2.4 紧急按钮模块 (10)3.2.5 延时模块 (10)3.2.6 键处理和键扫描程序 (10)3.3 主程序设计 (11)3.4 程序流程图 (12)3.5 交通灯程序清单 (15)4 设计总结 (15)4.1 使用说明 (15)4.2 交通灯运行图 (15)4.3 设计体会 (15)结束语 (18)致谢 (19)参考文献 (20)附录A (21)附录B (22)附录C (23)附录D (24)附录E (25)附录F (33)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 交通灯状态表次(乙)车道主(甲)车道剩余口线 控制码 状态说明P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 绿灯 黄灯 红灯 红灯 黄灯 绿灯 — — 111111DB主车道绿灯亮次车道红灯亮57s1 1 0 1 0 1 1 1 D7 主车道黄灯闪,次车道红灯亮3s 0 1 1 0 1 1 1 1 6F 111111AF主车道红灯亮,次车道绿灯亮27s1 1 1 0 1 1 1 1 EF 主车道红灯亮,次车道黄灯闪3s图1 交通灯系统结构图AT89S52键盘8位数码显示时钟电路复位电路晶振电路2 硬件系统的设计2.1硬件系统各模块功能介绍2.1.1 显示电路设计单片机应用系统最常用的显示器是 LED(发光二极管显示器)、LED(液晶显示器)。
这两种显示器可显示数字、字符及系统的状态。
它们的驱动电路简单、易于实现且价格低廉,因此,得到了广泛应用。
本次设计要显示数字倒计时,用数码管动态显示。
将 LED显示器各位数码管的所有段控端相应地并联在一起,由 P0 的 8个口线控制,形成段选线多路复用,而各位数码管的共阳极实现各位的分时选通。
共阳极数码管字形代码表如表 2 所示。
表2 共阳极数码管字形代码表字型共阳代码字型共阳代码0 C0H 6 82H1 F9H 7 F8H2 A4H 8 80H3 B0H 9 90H4 99H P. 0CH5 92H 灭FFH2.1.2 发光二极管指示灯电路该电路部分是交通信号灯的主要显示部分。
采用发光二极管构成,按交通规划分红、黄、绿三种颜色。
发光二极管直接与单片机的 I/O 端口相连,绿灯和黄灯控制器还有红灯控制器的控制信号都是由秒脉冲发生器给出的。
2.1.3 键盘控制电路键盘是最常用的输入设备,是实现人机对话的纽带。
按其结构形式可分为非编码键盘和编码键盘。
编码键盘采用硬件方法产生键码。
每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。
这种键盘使用方便,但硬件较复杂。
非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统,在单片机控制电路中,可把单片机使用的键盘分为独立式和矩阵式两种。
独立式实际上就是一组独立的按键,这些按键可直接与单片机的 I/O 口连接,即每个按键独占一条口线,这种接法简单。
矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵。
本设计中键盘数目较少,且为安装方便,因此在本设计中采用独立式接法。
按从一个键到键的功能被执行主要应包括两项工作:一是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。
第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成。
具体来说,键盘接口应完成以下操作功能:(1) 键盘扫描,以判定是否有键被按下(称之为“闭合键”)。
(2) 键识别,以确定闭合键的行列位置。
(3) 产生闭合键的键码。
(4) 排除多键、串键(复键)及去抖动。
以上这些内容通常是以软硬件结合的方式来完成的,即在软件的配合下由接口电路来完成。
但具体哪些由硬件哪些由软件完成,要看接口电路的情况。
总的原则是,硬件复杂软件就简单,硬件简单软件就得复杂一些。
2.1.4 数码管电路数码管的段控口接在单片机的P0口上,位控通过三极管接在单片机的P2口上。
2.1.5 下载口电路下载口的1脚接在P1.5口,2脚悬空,3脚接在单片机的复位口上,4脚接P1.6口,5脚接P1.7口,6脚接地,7、8、8、10脚接地。
2.1.6 流水灯电路流水灯电路直接挂接在单片机的P3口上,采用共阳接法。
蜂鸣器接在P3.1口上。
2.2电路原理图原理图见附录A。
2.3电路PCB图电路 PCB 图见附录B所示。
2.4 元器件布局图元器件布局图见附录C。
2.5 元器件清单元器件清单见附录D所示。
2.6 硬件测试实物做好后,使用USB下载线连接单片机的下载口和电脑的USB口,把老师给的测试程序编入单片机中,检查是否各模块的功能显示正常。
若有问题,则需对实物进行检查并修改。
2.7 所做实物图所做实物图如图2所示图2 所做实物图3 软件系统设计3.1 单片机资源使用情况⑴、P3口为二极管的控制端⑵、P0口用作地址/数据总线⑶、P2口用作地址/数据总线⑷、P1.0、P1.1、P1.2、P1.3口线作为键盘输入端既在AT89S52的P3口用来接八个发光二极管的阴极,控制其亮与灭,P0口和P2口外接由8个LED数码管构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P2口作LED的位控输出线,P2口外接四个个按键A、B、C、D(分别对应于P1.0、P1.1、P1.2、P1.3口)用于调整显示接口电路。
3.2 软件系统各模块功能3.2.1 显示 P.模块该模块的功能是在单片机上电或者复位后,在数码管上显示“P.”,此时系统处于等待工作状态。
在按下开始按钮后,跳出此模块,进入正常的工作状态。
3.2.2 亮灯模块该模块的功能是控制交通灯的亮与灭,在程序中,先控制主路的绿灯亮 57S,再黄灯闪烁 3 秒,同时支路上的红灯亮 60S;再控制支路上的绿灯亮 27S,再黄灯闪烁 3 秒,同时主路上的红灯亮 30S。
正常情况下,随着主程序循环。