交通信号灯设计

电气工程与自动化学院

课程设计报告

(嵌入式技术实践)

题 目:基于单片机原理的交

___通信号灯设计___

专业班级: ____ 学 号: __________ 学生姓名: __________ 指导老师: _____

2012 年 7月4日

目 录

第一章 前言…………………………………………………2

1.1课程设计背景 ..................................... 6

1.2国内外研究现状 ................................... 7 1.3本课题研究内容及意义 ............................ 10

第二章 系统总体的方案及设计要求 ..................... 2

2.1 本实验设计的思路 ................................. 2

第三章 电路原理图与说明 ............................. 6

3.1电路图 ........................................... 6

3.2仿真图 ........................................... 7 3.3硬件图 .......................................... 10

第四章 硬件设计 .................................... 3

4.1 硬件框图 ......................................... 3 4.2 双色发光二极管 ................................... 3 4.3 双色灯与数码管显示的对应关系 ..................... 4 4.4交通灯的状态 ..................................... 4

第五章 软件设计 .................................... 11

5.1主程序流程图 .................................... 11 5.2源程序清单及注解 ................................ 13

第六章 心得与体会 ...................................... 17 第七章 参考文献 ................................... 19 附录 ................................................. 19

第一章 前言

1.1

课称设计背景

交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的状态显示以及倒计时。

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

系统除基本的交通灯功能外,还具有倒计时功能,较好的模拟实现了十字路口可能出现的状况。软件上采用汇编语言编程,主要编写了主程序,LED数码管显示程序,键盘程序。经过整机调试,实现了对十字路口交通灯的模拟。

1.2

国内外研究现状

目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交通灯控制系统的设计;有应用单片机实现对交通信号灯设计的方法。目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.两条干道的红绿时间不能随时间的改变而修改。

1.3

本课题研究内容及意义

随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。

第二章 系统总体的方案

利用单片机中的定时器、IO接口、中断系统、8279、四位数码管等资源,设计一个十字路口交通信号灯的控制模拟系统。允许修改各状态下的通行时间,首先能利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭、四位数码管上显示倒计。并且可通过8279扫描键盘,按键对红绿灯点亮和熄灭时间、四位数码管上显示倒计时进行调整及设置以及能对红绿灯点亮和熄灭时间进行倒计时时间显示,能根据交通流量自动调整对红绿灯点亮和熄灭时间。

2.1 本实验设计的思路

1)、利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。 2)、可通过按键对红绿灯点亮和熄灭时间进行调整及设置。 3)、能对红绿灯点亮和熄灭时间进行倒计时时间显示。 4)、可根据交通流量自动调整对红绿灯点亮和熄灭时间。

第三章 电路原理图与说明 3.1电路图

主要用到的硬件:P1口、P3口、LED数码管、LED发光二级管、定时器T0 硬件分配:

1双色发光二极管

表1. 双色发光二极管的控制

在表1中是在反相器74LS240输入的电平信号呈现的颜色。双色发光二极管的控制真值表。对双色二极管的描述如下:

双色发光二极管内部将一个红色LED和一个绿色LED封装在一起。共用负端的一个集成发光二极管器件。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。实验中,采用4只双色发光二极管(DLED)分别模拟安装在东、西、南、北4个路口上的4只交通灯,每只双色发光二极管由74LS240反向驱动器驱动,74LS240输入控制端为R和G,分别控制DLED红灯和黄灯的工作。 2 双色灯与数码管显示的对应关系

在十字路口,交通灯在工作过程中,行人希望看到自己所需等待的时间,那么交通灯就要和时间对应一致,那么我们设计对应的系统中双方对用关系如表2所示:

表2.交通灯与时间显示

3

P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如

4、P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,数据(倒计时时间)从RXD端输入,TXD端输出。

5、LED发光二极管用来显示灯亮情况。 6、定时/计数器T0用来产生1秒的定时

7.Led显示器十位与p0相连接,个位与p2连接用来显示时间,下面是LED显示接口及原理。

1 LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在单片机中的应用非常普遍。通常所说的LED显示器由7个发光二极管组成,其排列形状如图所示。此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED显示中的发光二极管共有两种连接方法:

2 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。

3 共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。

4 控制数码管驱动级的控制电路有静态式和动态式两类: 5 静态驱动:它是指每个数码管都要用一个译码器译码驱动。

6 动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。

7 采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。

表1 十六进制数字形代码表

3.2仿真图

上电后交通灯会按初始化设置好的时间运行,当重设时间后,交通灯就会按照重设好的时间进行工作。他的工作过程简单的表述为初始状态交通灯为全红,之后几秒变为东西绿、南北红,当显示时间为3秒时,南北闪烁,东西变红,当显示时间为零时停止闪烁同时南北变成绿色,待下次显示时间为3秒时东西闪烁,南北变红,3秒后停止闪烁同时东西变成绿色。

3.3硬件图

黄灯亮3秒

第四章 硬件设计

4.1硬件框图

4.2 双色发光二极管

表1. 双色发光二极管的控制

在表1中是在反相器74LS240输入的电平信号呈现的颜色。双色发光二极管的控制真值表。对双色二极管的描述如下:

双色发光二极管内部将一个红色LED和一个绿色LED封装在一起。共用负端的一个集成发光二极管器件。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。实验中,采用4只双色发光二极管(DLED)分别模拟安装在东、西、南、北4个路口上的4只交通灯,每只双色发光二极管由74LS240反向驱动器驱动,74LS240输入控制端为R和G,分别控制DLED红灯和黄灯的工作。

4.3 双色灯与数码管显示的对应关系

在十字路口,交通灯在工作过程中,行人希望看到自己所需等待的时间,那么交通灯就要和时间对应一致,那么我们设计对应的系统中双方对用关系如表2所示:

表2.交通灯与时间显示

4.4交通灯的状态

1)交通灯的正常工作状态:

交通灯在正常状态的工作初始设置的时间如表3所示:

表3.交通灯的正常工作状态

2)交通灯设置后工作状态

为了适应当时十字路口的交通情况,设计一系列时间工作状态如表4.所

示:

表4.设置后的交通灯工作状态

第五章 软件设计

5.1

主程序流程图

1、 首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态0。中间可通过中断按钮产生中断,跳入中断程序执行中断。

2、 对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。

3、 通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。

4、 通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。

5、 通过脉冲中断编写中断程序,可实现中断。

5.2原程序清单及注解

#include #define port1 P2 sbit com=P0; sbit key1=P3^3; sbit green1=P1^0; sbit red1=P1^1; sbit yellow1=P1^2; sbit green2=P1^3; sbit red2=P1^4; sbit yellow2=P1^5; unsigned char flag=0; unsigned char mun=10; unsigned char fu=10;

/*数码管段码*/

Unsigned char code

tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(void) {

int i=0,j=0;

for(i=0;i=0;j--); }

/*定时器的初始化*/

void init_timer0(void) { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; EA=1; TR0=1; EX1=1; IT1=1;

void display(unsigned char x) { unsigned char m,n; m=x/10; n=x%10; P0=0X01; port1=~tab[m]; /*数码管显示*/ delay(); P0=0X02; port1=~tab[n]; delay(); }

void init(void) { P1=0x00; init_timer0(); }

void main() { init(); while(1) {

/*交通灯交替的时间差*/ do { display(mun); green1=1; red1=0; green2=0; red2=1; } while(mun!=3); do { if(mun==3) { yellow1=1; yellow2=1; }

display(mun); }

while(mun!=0);

if(mun==0) {

mun=fu; yellow1=0; yellow2=0; }

do { display(mun); green1=0; red1=1; green2=1; red2=0;

}

while(mun!=3); do

{

if(mun==3) {

yellow1=1; yellow2=1;

};

display(mun); }while(mun!=0); if(mun==0) {

mun=fu; yellow1=0; yellow2=0;

}

} }

/*定时器M0的定时*/

void timer(void) interrupt 1 using 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; flag++; if(flag==20) { flag=0; mun--; } }

/*外部中断,调节时间*/

void outside_int(void) interrupt 2 { EX1=0; delay() ; if(key1==0) fu=fu+2; mun=fu; delay(); EX1=1; }

第六章 心得体会

通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。

这个设计过程中,我们遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我们明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。于是,我们坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有课本以外的参考书,程序由我们自己独立完成,制作的交通灯控制系统程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适用性。

在这次课程设计的过程中,我得到了许多人的帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次项目的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把项目做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计上的难题。同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学 。

参考文献

[1] 周立功,单片机应用设计基础[M],北京航空航天大学出版社.2010,9(4):30-40.

[2] 周立功,新编计算机基础教程[M],北京航空航天大学出版社2010

[3](日)铃木雅臣编著,周南生译,晶体管电路设计(上)[M],科学出版社,2003年

[4]康华光主编,电子技术基础[M],高等教育出版社,2007年11月

[5]张迎新等编著,单片机应用设计培训教程[M],北京航空航天出版社,2008年1月

[6]张俊谟编著,单片机中级教程[M],北京航空航天大学出版社,2001年6月

[7]何立民编著,单片机高级教程[M],北京航空航天大学出版社,2001年6月

[8]胡汉才编著,单片机原理及系统设计[M],清华大学出版社,2002年1月

[9]梁合庆编著,增强核闪存80C51教程[M],电子工业出版社,2003年11月

[10]鲍小南主编,单片机基础[M],浙江大学出版社,2002年9月

[11]李朝清编著,单片机原理及接口技术[M],北京航空航天大学出版社,2008年12月

[12]李曼丽著,工程师与工程教育新论[M],商务出版社,2010年9月

[13]胡汉章、叶香美主编,数字电子技术与实践[M],垫子工业出版社,2009年4月

[14]猪饲国夫等编著,徐雅珍等译,数字系统设计[M],科学出版社,2008年8月

附录:

电气工程与自动化学院

课程设计报告

(嵌入式技术实践)

题 目:基于单片机原理的交

___通信号灯设计___

专业班级: ____ 学 号: __________ 学生姓名: __________ 指导老师: _____

2012 年 7月4日

目 录

第一章 前言…………………………………………………2

1.1课程设计背景 ..................................... 6

1.2国内外研究现状 ................................... 7 1.3本课题研究内容及意义 ............................ 10

第二章 系统总体的方案及设计要求 ..................... 2

2.1 本实验设计的思路 ................................. 2

第三章 电路原理图与说明 ............................. 6

3.1电路图 ........................................... 6

3.2仿真图 ........................................... 7 3.3硬件图 .......................................... 10

第四章 硬件设计 .................................... 3

4.1 硬件框图 ......................................... 3 4.2 双色发光二极管 ................................... 3 4.3 双色灯与数码管显示的对应关系 ..................... 4 4.4交通灯的状态 ..................................... 4

第五章 软件设计 .................................... 11

5.1主程序流程图 .................................... 11 5.2源程序清单及注解 ................................ 13

第六章 心得与体会 ...................................... 17 第七章 参考文献 ................................... 19 附录 ................................................. 19

第一章 前言

1.1

课称设计背景

交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的状态显示以及倒计时。

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

系统除基本的交通灯功能外,还具有倒计时功能,较好的模拟实现了十字路口可能出现的状况。软件上采用汇编语言编程,主要编写了主程序,LED数码管显示程序,键盘程序。经过整机调试,实现了对十字路口交通灯的模拟。

1.2

国内外研究现状

目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交通灯控制系统的设计;有应用单片机实现对交通信号灯设计的方法。目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.两条干道的红绿时间不能随时间的改变而修改。

1.3

本课题研究内容及意义

随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。

第二章 系统总体的方案

利用单片机中的定时器、IO接口、中断系统、8279、四位数码管等资源,设计一个十字路口交通信号灯的控制模拟系统。允许修改各状态下的通行时间,首先能利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭、四位数码管上显示倒计。并且可通过8279扫描键盘,按键对红绿灯点亮和熄灭时间、四位数码管上显示倒计时进行调整及设置以及能对红绿灯点亮和熄灭时间进行倒计时时间显示,能根据交通流量自动调整对红绿灯点亮和熄灭时间。

2.1 本实验设计的思路

1)、利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。 2)、可通过按键对红绿灯点亮和熄灭时间进行调整及设置。 3)、能对红绿灯点亮和熄灭时间进行倒计时时间显示。 4)、可根据交通流量自动调整对红绿灯点亮和熄灭时间。

第三章 电路原理图与说明 3.1电路图

主要用到的硬件:P1口、P3口、LED数码管、LED发光二级管、定时器T0 硬件分配:

1双色发光二极管

表1. 双色发光二极管的控制

在表1中是在反相器74LS240输入的电平信号呈现的颜色。双色发光二极管的控制真值表。对双色二极管的描述如下:

双色发光二极管内部将一个红色LED和一个绿色LED封装在一起。共用负端的一个集成发光二极管器件。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。实验中,采用4只双色发光二极管(DLED)分别模拟安装在东、西、南、北4个路口上的4只交通灯,每只双色发光二极管由74LS240反向驱动器驱动,74LS240输入控制端为R和G,分别控制DLED红灯和黄灯的工作。 2 双色灯与数码管显示的对应关系

在十字路口,交通灯在工作过程中,行人希望看到自己所需等待的时间,那么交通灯就要和时间对应一致,那么我们设计对应的系统中双方对用关系如表2所示:

表2.交通灯与时间显示

3

P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如

4、P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,数据(倒计时时间)从RXD端输入,TXD端输出。

5、LED发光二极管用来显示灯亮情况。 6、定时/计数器T0用来产生1秒的定时

7.Led显示器十位与p0相连接,个位与p2连接用来显示时间,下面是LED显示接口及原理。

1 LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在单片机中的应用非常普遍。通常所说的LED显示器由7个发光二极管组成,其排列形状如图所示。此外,显示器中还有一个圆点型发光二极管以dp表示,用于小数点表示。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED显示中的发光二极管共有两种连接方法:

2 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。

3 共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地。这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。

4 控制数码管驱动级的控制电路有静态式和动态式两类: 5 静态驱动:它是指每个数码管都要用一个译码器译码驱动。

6 动态驱动:它是所的数码管使用一个专门的译码驱动器,使各位数码管逐个轮流显示,它的扫描速度极快,因此显示效果与静态驱动相同。

7 采用动态数码管显示,可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,就是所谓的分时显示,显示所需要的硬件电路可分时复用。

表1 十六进制数字形代码表

3.2仿真图

上电后交通灯会按初始化设置好的时间运行,当重设时间后,交通灯就会按照重设好的时间进行工作。他的工作过程简单的表述为初始状态交通灯为全红,之后几秒变为东西绿、南北红,当显示时间为3秒时,南北闪烁,东西变红,当显示时间为零时停止闪烁同时南北变成绿色,待下次显示时间为3秒时东西闪烁,南北变红,3秒后停止闪烁同时东西变成绿色。

3.3硬件图

黄灯亮3秒

第四章 硬件设计

4.1硬件框图

4.2 双色发光二极管

表1. 双色发光二极管的控制

在表1中是在反相器74LS240输入的电平信号呈现的颜色。双色发光二极管的控制真值表。对双色二极管的描述如下:

双色发光二极管内部将一个红色LED和一个绿色LED封装在一起。共用负端的一个集成发光二极管器件。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。实验中,采用4只双色发光二极管(DLED)分别模拟安装在东、西、南、北4个路口上的4只交通灯,每只双色发光二极管由74LS240反向驱动器驱动,74LS240输入控制端为R和G,分别控制DLED红灯和黄灯的工作。

4.3 双色灯与数码管显示的对应关系

在十字路口,交通灯在工作过程中,行人希望看到自己所需等待的时间,那么交通灯就要和时间对应一致,那么我们设计对应的系统中双方对用关系如表2所示:

表2.交通灯与时间显示

4.4交通灯的状态

1)交通灯的正常工作状态:

交通灯在正常状态的工作初始设置的时间如表3所示:

表3.交通灯的正常工作状态

2)交通灯设置后工作状态

为了适应当时十字路口的交通情况,设计一系列时间工作状态如表4.所

示:

表4.设置后的交通灯工作状态

第五章 软件设计

5.1

主程序流程图

1、 首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态0。中间可通过中断按钮产生中断,跳入中断程序执行中断。

2、 对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。

3、 通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。

4、 通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。

5、 通过脉冲中断编写中断程序,可实现中断。

5.2原程序清单及注解

#include #define port1 P2 sbit com=P0; sbit key1=P3^3; sbit green1=P1^0; sbit red1=P1^1; sbit yellow1=P1^2; sbit green2=P1^3; sbit red2=P1^4; sbit yellow2=P1^5; unsigned char flag=0; unsigned char mun=10; unsigned char fu=10;

/*数码管段码*/

Unsigned char code

tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(void) {

int i=0,j=0;

for(i=0;i=0;j--); }

/*定时器的初始化*/

void init_timer0(void) { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; EA=1; TR0=1; EX1=1; IT1=1;

void display(unsigned char x) { unsigned char m,n; m=x/10; n=x%10; P0=0X01; port1=~tab[m]; /*数码管显示*/ delay(); P0=0X02; port1=~tab[n]; delay(); }

void init(void) { P1=0x00; init_timer0(); }

void main() { init(); while(1) {

/*交通灯交替的时间差*/ do { display(mun); green1=1; red1=0; green2=0; red2=1; } while(mun!=3); do { if(mun==3) { yellow1=1; yellow2=1; }

display(mun); }

while(mun!=0);

if(mun==0) {

mun=fu; yellow1=0; yellow2=0; }

do { display(mun); green1=0; red1=1; green2=1; red2=0;

}

while(mun!=3); do

{

if(mun==3) {

yellow1=1; yellow2=1;

};

display(mun); }while(mun!=0); if(mun==0) {

mun=fu; yellow1=0; yellow2=0;

}

} }

/*定时器M0的定时*/

void timer(void) interrupt 1 using 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; flag++; if(flag==20) { flag=0; mun--; } }

/*外部中断,调节时间*/

void outside_int(void) interrupt 2 { EX1=0; delay() ; if(key1==0) fu=fu+2; mun=fu; delay(); EX1=1; }

第六章 心得体会

通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。

这个设计过程中,我们遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我们明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。于是,我们坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有课本以外的参考书,程序由我们自己独立完成,制作的交通灯控制系统程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适用性。

在这次课程设计的过程中,我得到了许多人的帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次项目的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把项目做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计上的难题。同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学 。

参考文献

[1] 周立功,单片机应用设计基础[M],北京航空航天大学出版社.2010,9(4):30-40.

[2] 周立功,新编计算机基础教程[M],北京航空航天大学出版社2010

[3](日)铃木雅臣编著,周南生译,晶体管电路设计(上)[M],科学出版社,2003年

[4]康华光主编,电子技术基础[M],高等教育出版社,2007年11月

[5]张迎新等编著,单片机应用设计培训教程[M],北京航空航天出版社,2008年1月

[6]张俊谟编著,单片机中级教程[M],北京航空航天大学出版社,2001年6月

[7]何立民编著,单片机高级教程[M],北京航空航天大学出版社,2001年6月

[8]胡汉才编著,单片机原理及系统设计[M],清华大学出版社,2002年1月

[9]梁合庆编著,增强核闪存80C51教程[M],电子工业出版社,2003年11月

[10]鲍小南主编,单片机基础[M],浙江大学出版社,2002年9月

[11]李朝清编著,单片机原理及接口技术[M],北京航空航天大学出版社,2008年12月

[12]李曼丽著,工程师与工程教育新论[M],商务出版社,2010年9月

[13]胡汉章、叶香美主编,数字电子技术与实践[M],垫子工业出版社,2009年4月

[14]猪饲国夫等编著,徐雅珍等译,数字系统设计[M],科学出版社,2008年8月

附录:


相关内容

  • 城市道路交通工程设计技术方法的完善及实践
  • 城市交通第94第l期2011年1月 ●文章编号:1672.5328(2011)01.0040.07 UrbanTransportofChina,voLg,No.J.January201J 城市道路交通工程设计技术方法的完善及实践 ImprovementandPracticeinUrbanTraffi ...

  • 交通部关于[加强公路前期工作勘察设计资质管理]的通知
  • [时效性]:现行有效[发文字号]:交公路发[1995]756号[颁布日期]:1995-08-17[生效日期]:1995-08-17[效力级别]:部门规章[颁布机构]:交通部(已撤销) 目录 * 1 href="#heading_1" class="txt"&g ...

  • 山地城市设计中的交通规划--以重庆杨家坪地区城市设计为例
  • 2009.NO.10第8卷总第72期 doi10 城市规划1 3969/j.issn.1671-9107.2009.10.001 山地城市设计中的交通规划 TrafficPlanningin MountainousUrbanDesign --以重庆杨家坪地区城市设计为例 喻建1,张引2,王建2.陆百 ...

  • 城市道路设计思路与技术要点_吴海俊
  • 城市道路设计思路与技术要点 Key Points in Urban Roadway Design 吴海俊1,胡松2,朱胜跃1,段铁铮1 (1. 北京市市政工程设计研究总院,北京100082:2. 北京建筑工程学院,北京100044) WU Hai-jun 1, HU Song 2, ZHU Shen ...

  • 刍议城市交通管理规划方案设计技术
  • [摘 要]本文作者根据多年工作经验对现代城市交通现状的问题及城市交通管理规划设计方案进行简单简述,供同行参考. [关键词]城市交通:交通管理:规划设计 随着我国国民经济的快速发展和城市化进程的加快,如何解决城市交通问题已经成为城市可持续发展的一个重要课题,城市道路交通管理工作也面临着严峻的挑战. 为 ...

  • 城市道路施工的交通组织设计要点分析
  • 城市道路施工的交通组织设计要点分析 城市道路施工的交通组织设计要点分析 屈言宾 (中设设计集团股份有限公司,南京210014) [摘 要]城市道路施工组织设计比较特殊,涉及的因素比较多,需要掌握设计要点,按照相关规范要求落实.在道路施工期间,相对应的交通影响范围比较大,为了突出安全和畅通的设计要点, ...

  • 老城区道路改造之城市道路交叉口渠化设计
  • 老城区道路改造之城市道路交叉口渠化设计 黄志刚江西南昌330000 江西省新建县城乡规划设计院 [摘要]在城市交通高度密集的时候,交通道路交叉频繁.道路相互牵制严重,一条道路发生问题就会影响到其他道路,反而给交通流造成一定的负担.在这种情况下,道路汇集的交叉路口交通同行能力就尤其重要,而在国内一些大 ...

  • 交通运输工程导论教案
  • 教 案 课程:交通运输工程导论 学时: 46(42+4)学时 专业: 教师: 交通运输 朱奎林 黑龙江八一农垦大学工程学院 教 周次 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 合计 学 教 进 度 学 内 表 容 备注 课次 1 2 3 4 ...

  • 道路交通工程技术人员职业标准(征求意见稿)
  • 道路交通工程技术人员职业标准 (征求意见稿) - 1 - 目 录 第一章 总则 . ............................................................................................................ ...

  • [城市道路交叉口规划设计规范]条文说明
  • 目 录 1 总则 ........................................... 2 3 一般规定 ....................................... 3 3.1 城市道路分类及其交通功能 ............................. ...