关键词不能为空

当前您在: 大学查询网 > 高校介绍 >

李大学照片单片机课程设计报告 - 十字路口交通灯控制

作者:高考题库网
来源:https://bjmy2z.cn/daxue
2020-12-13 19:51
tags:

-

2020年12月13日发(作者:路德芳)





宁夏大学新华学院








课程名称






微机接口














任课教师签字

批改日期




1




绪论



主要内容:


随着各种交通工具的发展和交通指 挥的需要,第一盏名副其实的


三色灯

(

红、黄、绿三种标 志

)

1918

年诞生。它是三色圆形四面投


影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市


交通大为改善。黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学


救国”

的抱负到美国深造,

在大发明家爱迪生为董事长的美国通用电


器公司任 职员。一天,他站在繁华的十字路口等待绿灯信号,当他看


到红灯而正要过去时,

一辆转弯的汽车呼地一声擦身而过,

吓了他一


身冷汗。回到宿舍 ,他反复琢磨,终于想到在红、绿灯中间再加上一


个黄色信号灯,

提醒人 们注意危险。

他的建议立即得到有关方面的肯


定。于是红、黄、绿三色信 号灯即以一个完整的指挥信号家族,遍及


全世界陆、海、空交通领域了。


交通灯控制器设计主要功能是用单片机控制

LED

灯模拟 指示。

模拟东


西南北方向的十字路口交通灯信号控制情况。

89C51

单片机为核心


芯片,采用中断方式实现控 制。本模拟系统由单片机硬

/

软件系统,


两位

< p>8

段数码管和

LED

灯显示系统。

和复位电路 控制电路等组成,


好的模拟了交通路面的控制。



2




基本要求:


利用单 片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替


点亮和熄灭,

并且用

4

LED

数码管显示十字路口两个方向 的剩余时间。


要求能用按键设置两个方向的通行时间(绿、红等点亮的时间)和暂


缓通行时间(黄灯点亮的时间)。


系统的工作应符合一般交通灯控制的要求。









参考文献:


[1]

张毅刚,彭喜元编著

.

《单片机原理与应用设计》


[2]

郭天祥编著

.

《新概念

51

单片机

C

语言教程:入门、提高、开发、


拓展全攻略》


[3]

编写本课程设计内容的 软件设计

(包含程序流程图和对程序注释)

< br>[4]

硬件实验部分可选用实验箱测试或

Proteus

仿 真软件实现。



3



目录



1

绪论

............. ......................................

2


1.1

主要内容

..........................................

2


1.2

基本要求

..........................................

3


1.3

参考文献

..........................................

3


2

设计方案简介

...........................................

5


3

系统需求分析

...........................................

6


4

单片机概述

. ............................................

6


5

本设计的简要概述

.......................................

7


6

本设计主要包括几个主要的元件

...........................

8


7

模块设计

........... ....................................

9


7.1

硬件原理图

........................................

9


7.2

软件系统结构图

.

...................................

10


7.3

软件流程图

.......................................

10


8

源程序

............ ....................................

12


9

主要函数说明

..........................................

33


对本设计的简单评述

......................................

34


附录

A ..................................................

35


附录

B ..................................................

35




4



设计方案简介:


交通在人们的日常生活中占有重要的地位,

随着人们社会活动的日益

< p>
频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有


效管制 ,对于疏导交通流量、提高道路通行能力,减少交通事故有明


显效果。近年来随着科技的 飞速发展,单片机的应用正在不断深入,


同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片


机应用系统中,

单片机往往作为一个 核心部件来使用,

仅单片机方面


知识是不够的,还应根据具体硬件结构软 硬件结合,加以完善。本设


计系统由单片机

I/O

口系统 、交通灯状态显示系统、复位电路等几大


部分组成。

系统具有基本的交通 灯功能,

较好的模拟实现了十字路口


可能出现的状况。

本 设计系统利用单片机的工作原理设计一个十字路


口交通信号灯,要求东、西、南、北四个 方向各有红黄绿色三个灯,


当东西方向亮绿灯时,南北方向红灯亮起;反之,如果南北方 向亮绿


灯,同时东西方向亮绿灯;绿灯亮时车辆行驶,红灯亮时车辆停止。


即在同一时间内保证只有两个对应方向的车辆可以行驶。

本设计系统

< br>软件上采用

Keil uVision3

Proteus

。使用

C51

编程,主要编写了主


程序、 中断子程序、延时子程序、数码管显示子程序、交通控制子程


序、矩阵键盘子程序。本设 计系统经过整机调试,实现了对十字路口


交通灯运作与设置的模拟。




5



系统需求分析:


本 设计系统单片机

89C51

为中心器件来设计交通灯控制器,

系统 实用


性强、操作简单、扩展性强、成本较低。本设计就是采用单片机模拟


十字路口交通灯的各种状态显示。

利用单片机完成交通信号灯控制器

的设计,

该交通信号灯控制器由一条主干道和一条支干道汇合成十字


路口,在每个入口处设置红、绿、黄三色信号灯,数码管显示剩余时


间。红灯亮禁止通行 ,绿灯亮允许通行,黄灯亮则给行驶中的车辆有


时间停在禁行线外。用红、绿、黄发光二 极管作信号灯,

8

管共阴极


数码管显示剩余时间,矩阵 键盘用来设置交通灯的显示时间和状态。




单片机概述:



6



单片机(

Microco ntrollers

)是一种集成电路芯片,是采用超大规模


集成电路技 术把具有数据处理能力的中央处理器

CPU

、随机存储器


RAM

、只读存储器

ROM

、多种

I/O

口和中断系统、定时器

/

计数器等功


< p>(可能还包括显示驱动电路、

脉宽调制电路、

模拟多路转换器、

A/D


转换器等电路)

集成到一块硅片上构成的一个小而完善的微型计 算机


系统,

在工业控制领域广泛应用。

从上世纪

80

年代,

由当时的

4

位、


8

位单片机,发展到现在的

300M

的高速单片机。





本设计的简要概述:


本设计系统利用单片机的 工作原理设计一个十字路口交通信号灯,


求东、西、南、北四个方向各 有红黄绿色三个灯,当东西方向亮绿灯


时,南北方向红灯亮起;反之,如果南北方向亮绿 灯,同时东西方向


亮绿灯;绿灯亮时车辆行驶,红灯亮时车辆停止。


说明:南北方向红绿灯时间:红灯

15s

绿灯

15s

黄灯

5s


东西方向红绿灯时间:红灯

20s

绿灯

10s

黄灯

5s


按键

1

:暂停


按键

2

:设置时间按钮


按键

3

:设置完成重启


按键

4:

测试交通灯各个设备的好坏


7


按键

5:

设置南北绿灯时间

+


按键

6:

设置南北黄灯时间

+


按键

7:

设置南北绿灯时间

-

保证交通合理,

绿灯最小值计时

3s

绿


灯不再减少


按键

8:

设置南北黄灯时间

-


按键

9:

设置东西绿灯时间

+


按键

10:

设置东西黄灯时间

+


按键

11:

设置东西绿灯时间

-


按键

12:

设置东西黄灯时间

-


按键

13:

南北紧急情况

:

南 北绿灯常亮东西红灯常亮


按键

14:

东 西紧急情况

:

东西绿灯常亮南北红灯常亮





本设计主要包括几个主要的元件:


89C51



8


AT89C51

是一种带

4K

字节

FLASH

存储器(

FP EROM

Flash


Programmable and Erasable Read Only Memory

)的低电压、高性能


CMOS 8

位微处理 器,俗称单片机。为本科单片机教学主要芯片


TMS320F2812

DSP

原理与应用技术。

AT89C51

单片机为 很多嵌入式控


制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列 如图所示。


现在

AT89S51/52

已经取代了

AT89C51/52


2.4*4

矩阵键盘:


在键盘 中按键数量较多时,

为了减少

I/O

口的占用,

通 常将按键排列


成矩阵形式。

在矩阵式键盘中,

每条水平线 和垂直线在交叉处不直接


连通,而是通过一个按键加以连接。这样,一个端口(如

P1

口)就


可以构成

4*4=16

个按键,比之直接将端口线用于键盘多出了一倍,


而且线数越多,区别越明显,比如再 多加一条线就可以构成

20

键的


键盘,而直接用端口线则 只能多出一键(

9

键)。由此可见,在需要


的键数比较多 时,采用矩阵法来做键盘是合理的。


K-8


一般是接在

51

单片机的

P0

口,因为

P0

< p>口内部没有上拉电阻,不能


输出高电平,所以要接上拉电阻。排阻就是好多电阻连载 一起,他们


有一个公共端。






9



硬件原理图:



Proteus

仿真绘制



软件系统结构图和软件流程图:



1

)系统结构图:


10







2

)流程图:


十字路口交通灯控制流程图


11







源程序:


#include


#define uchar unsigned char


#define uint unsigned int


uchar code table[]={ //

共阴极数码管码表


0x3f,0x06,0x5b,0x4f,


0x66,0x6d,0x7d,0x07,


0x7f,0x6f,0x77,0x7c,


0x39,0x5e,0x79,0x71,


0xC9,0xFF,0x40 };//

设置码

,

测试码

,

不计时码



void delay(uint x);//

延时函数


void display(uchar,uchar,uchar,uchar); //

数码管显示函数


void scankeys();

//

键盘函数


void traffic();

//

交通灯函数



uchar num,num1,num2, //1

南北

2

东西


shi1,ge1,shi2,ge2,


12


value1,value2,//

南北绿灯时间 黄灯时间


value3,value4,//

东西绿灯 时间黄灯时间


count1,count2,flag1,flag2; //

南北标记东西标记

设< /p>


记东西设置标记



void main()


{



TMOD=0x01;

/ /

设置定时器

0

位工作模式

1

(< /p>

M1,M0


0

1


TH0=(65536-45872)/256;

//

11.0592M

< p>定


50ms

数为

45872


TL0=(65536-45872)%256;


EA=1;

//

开总中断


ET0=1;

//

开定时器

0

中断


TR0=1;

//

启动定时器

0


/*

初状态

*/


value1=15;

//

南北黄绿灯默认值


value2=5;


value3=10;

//

东西黄绿灯默认值


value4=5;



13


num1=value1; //

南北数码管先绿灯时间


num2=value2+value1;//

东西红灯时间

20s



P1=0x41 ;//

初始状态

:

东西红灯南北绿灯

20 15



while(1){


if(num==20) //

定时器

1s


{


num=0;


num1--;


num2--;


traffic();



shi1=num1/10;


ge1=num1%10;



shi2=num2/10;


ge2=num2%10;



}


scankeys();


display(shi1,ge1,shi2,ge2);


14



}



}




/* ***********************


**************** ***



说明:

南北方向红绿灯时间:红灯

15s

绿灯

15s

黄灯

5s


东西方向红绿灯时间:红灯

20s

绿灯

10s

黄灯

5s



** ************************************************** *******


*/



void traffic()


{


if(num1==0){

//1

南北


count1++;

//

南北标志位


if(count1==1){

//

南北方向红灯


15s

倒计时结束

,


P1=0x42; //

东西方向仍为红


15


绿


灯,南北方向变为黄灯


num1=value2;


}


if(count1==2){


时结束,


P1=0x14;


方向变为红灯


num1=value3+value4;


15s


}


if(count1==3){


计时结束,


P1=0x41;


方向变为绿灯


num1=value1;


count1=0;



}


}


if(num2==0){


count2++;


if(count2==1){


16


//

黄灯时间为

5s


//

南北方向黄灯

5s

倒计


//

东西方向变为绿灯,南北


//

南北方法红灯时间


//

南北方向红灯

15s


//

东西方向变为红灯,南北


//

南北方向绿灯时间

15s


//

重置南北标志位


// 2

东西


//

东西标志位


//

东西方向红灯

20s


倒计时结束,


P1=0x14;


方向变为红灯


num2=value3;


}


if(count2==2){


计时结束,


P1=0x24;


方向变为仍为红灯


num2=value4;


}


if(count2==3){


倒计时结束,


P1=0x41;


方向变为绿灯


num2=value1+value2;


count2=0;


}



}


}



17


//

东西方向变为绿灯,南北


//

东西方向绿灯时间

10s


//

东西方向绿灯

10s


//

东西方向变为黄灯,南北


//

东西方向黄灯时间

5s


//

东西方向黄灯时间

5s


//

东西方向变为红灯,南北


//

东西方向红灯时间

20s


//

重置东西标志位

-


-


-


-


-


-


-


-



本文更新与2020-12-13 19:51,由作者提供,不代表本网站立场,转载请注明出处:https://bjmy2z.cn/daxue/35068.html

单片机课程设计报告 - 十字路口交通灯控制的相关文章