好好学习,天天向上,一流范文网欢迎您!
当前位置:首页 >> 最新范文 内容页

单片机控制的交通灯系统实验报告

单片机控制的交通灯系统实验报告 本文关键词:交通灯,单片机,实验,控制,报告

单片机控制的交通灯系统实验报告 本文简介:1系统实验报告系统实验报告————基于基于51单片机的交通灯设计单片机的交通灯设计专业:XX学生姓名:xxXX学号:00000000000指导教师:wwwwwwwwwww2000年x月x日2目目录录1设计任务和性能指标设计任务和性能指标11.1设计任务11.2性能指标12设计方案设计方案22.1任务

单片机控制的交通灯系统实验报告 本文内容:

1

系统实验报告系统实验报告

————基于基于

51

单片机的交通灯设计单片机的交通灯设计

业:

XX

名:

xx

XX

号:

00000000000

师:

wwwwwwwwwww

2000

x

x

2

目目

录录

1

设计任务和性能指标设计任务和性能指标1

1.1

设计任务1

1.2

性能指标1

2

设计方案设计方案2

2.1

任务分析2

2.2

方案设计2

3

系统硬件设计系统硬件设计3

3.1

单片机的最小系统3

3.2

电源电路4

3.3

数码管显示时间电路设计4

3.4

信号灯控制电路设计5

4

系统软件设计系统软件设计5

4.1

主程序设计5

5

调试及性能分析调试及性能分析6

5.1

调试分析6

5.1.1

软件调试.6

5.1.2

硬件调试.6

5.1.3

系统功能调试.6

6

心得体会心得体会6

参考文献参考文献8

附录附录

1

系统原理图系统原理图.9

附录附录

3

程序清单程序清单.10

附录附录

3

元器件清单元器件清单………………………………………………………………….14

1

1

设计任务和性能指标设计任务和性能指标

1.1

设计任务

利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道

和一条支干道汇合成十字路口,在每

个入口处设置红、绿、黄三色信号灯,

红灯亮禁止通行,绿灯亮允许通行,

黄灯亮则给行驶中的车辆有时间停在

禁行线外。用红、绿、黄发光二极管作

信号灯。如图上图所示。设东西向为

主干道,南北为支干道。

1.2

性能指标

1.

状态

1:仅亮灯,数码管不工作。

按下键

4,红/黄/绿三色灯交替亮:

红—〉(20

秒)黄(闪烁)—〉(5

秒)绿—〉(20

秒)

黄(闪烁)—〉(5

秒)红

2.

状态

2:灯和数码管相结合,模拟十字路口的交通灯

在以上功能的基础上数码管倒计时显示时间。

西

2

2

设计方案设计方案

2.1

任务分析

模拟交通灯控制器就是使用单片机来控制一些

LED

和数码管,模拟真实交通灯

的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字

路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等

2.2

方案设计方案设计

根据设计的要求可知,系统的硬件原理框图如下图所示。

单单

片片

机机

键键盘盘

LED显显示示

三三色色指指示示灯灯

系统硬件框图

单片机选用

AT89S52,它与

8051

系列单片机全兼容,但其内部带有

4KB

FLASH

ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采

2

个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根

据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的

IO

不够用时,可以考虑扩展

8255

8155

满足系统的要求。

2.

软件方案

根据设计要求,程序框图如图

1

所示。软件可由汇编语言完成,也可由

C

语言完成。

软件设计可以分为以下几个功能模块:

主程序:初始化及键盘监控。

计时程序模块:为定时器的中断服务子程序,完成

0.1

秒(或其他时间)和

1

秒的时间

定时。

显示程序模块:完成

60

个发光二极管(实际上只需驱动

30

个)和

8

LED

数码管的

显示驱动。

程序流程图见下一页:

3

程序流程图

3

系统硬件设计系统硬件设计

3.1

单片机的最小系统

ATMEL

公司生产的

AT89S52

单片机它是硬件电路的核心部分,时钟电路晶

振使用

12MHz,复位电路采取按键复位方式。具体连接图

3.1

和图

3.2。

单片机系统的时钟电路

开始

初始化

判断当前状态

调用正常

运行子程序

调用紧急

状态子程序

4

单片机系统的复位电路

3.2

电源电路设计

电源用

5V

直流变压器直接供电。

3.3

数码管显示电路

显示电路采用

8

个共阳数码管,P1

口作为数码管的输入,

P0.4、P0.5、P0.6

P0.7

分别控制东西南北四路数码管的位选端

C1,C2,C3,C4。

数码管显示电路(上图是共阴数码管)

5

3.4

信号灯控制电路

应急电路

4

系统软件设计系统软件设计

4.1

主程序设计

系统程序流程图

开始

参数初始化

显示子程序

中断处理

紧急中断子程序

6

5

调试及性能分析调试及性能分析

5.1

调试分析

5.1.1

软件调试软件调试

软件调试主要是利用

proteus

仿真软件完成电路的搭建,运行以发现设计中

的错误及时改正。

5.1.2

硬件调试硬件调试

硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及

测试结果如下:

(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导

线是否完全连接,对未连接的进行修复。

(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,

经测试,各连接不存在问题。

(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。

5.1.3

系统功能调试系统功能调试

通过软件仿真显示,系统基本能完成要求。

6

心得体会心得体会

这次系统实验历时两周的时间,在这实验过程里我们巩固了从编程、焊板

到调试的专业知识,逻辑思维和动手能力都得到了很大的提高。

对于交通灯这个题目,由于以前学单片机这个课程时,做过类似相关的实验,

觉得这个比较简单而且做出的东西也比较直观,查阅了大量的资料,在老师的

讲解帮助下,我们对如何通过单片机控制交通灯这个题目,有了进一步的理解。

要解决的主要问题就是程序的设计了,虽然感觉交通灯程序没什么难的,就

是数码管倒计时显示加几个闪烁的二极管就完事,但是也许是起初想的太简单,

设计时到了细节处,也出了不少问题,而且很难被检查出来,但是最后经过我

们的不断努力,还是写出来正确的代码。

上周终于拿到了

PCB

板,怀着紧张的心情一个器件一个器件的完成板子的

焊接,最后通过串口线把程序下载到板子上,但是板子却没有意料中的效果,

而且没一点现象,用万用表检查单片机的电压差不多为零,查出了问题所在松

了口气,后来在网上查资料知道原来变压器的接口那三个引脚,两个

GND

须短接,要不就不能正常供电,本以为短接后就正常了,但是数码管还是没反

应,二极管基本可以正常显示,这时候真是一种煎熬,差了很久找不到原因,

7

后来对照着原理图一个个的检查,最后发现原来是数码管封装错了,板子上的

数码管公共极是

3、8

两个引脚,但是原理图上封装的事

1、6,当时也没有注

意,以为只要是共阴管就没问题了,没想到软件本身就存在错误。

通过这次系统实验,对以前学过的知识进行了巩固,加深了理解,提高了

应用的能力,而且提高了我们的发现、分析、解决问题的能力,同时提高了大

家对专业的认识及兴趣,对于我们工科生来说,对以后就业很有帮助。

最后,尤其要感谢

xx

xx

老师的指导和帮助,我们才得以顺利完成这次

系统试验。

参考文献参考文献

[1]

邹丽新.单片微型机原理及应用苏州大学出版社,2006.12

[2]

彭伟.单片机

C

语言程序设计实训

100

例.北京:电子工业出版社,2009。8

附录附录

1

系统原理图系统原理图

1234

A

B

C

D

4321

D

C

B

A

EA/VP

31

X1

19

X2

18

RESET

9

RD

17

WR

16

INT0

12

INT1

13

T0

14

T1

15

P10

1

P11

2

P12

3

P13

4

P14

5

P15

6

P16

7

P17

8

P00

39

P01

38

P02

37

P03

36

P04

35

P05

34

P06

33

P07

32

P20

21

P21

22

P22

23

P23

24

P24

25

P25

26

P26

27

P27

28

PSEN

29

ALE/P

30

TXD

11

RXD

10

U1

AT89S51

XTAL1

11.0592

C5

20p

C620p

VCC

2

3

4

5

6

7

8

9

1

RP310K??×è

2

3

4

5

6

7

8

9

1

RP4

10K??×è

2

3

4

5

6

7

8

9

1

RP1

10K??×èVCC

VCC

C12

22u

R10

1K

VCC

VCC

C7

470U

C9

0.1U

1

2

3

J3

3D?2?×ù

RST

Vin

1

GND

2

Vout

3

U5

LM7805

SCK

MOSI

MISO

AC

AC

+

-

D1

??á÷??

K1

°′?ü

K2

°′?ü

K3

°′?ü

K4

°′?ü

R1

1K

LEDPower

oìμ?

KEYRESET

°′?ü

KEYAKEYBKEYCKEYD

NUMA

NUMB

NUMC

NUMD

LED1

LED2

LED3

LED4

L1

L2

L3

L4

L5

L6

DOT

KEYA

KEYB

KEYC

KEYD

R2

1K

LED1

Q1

9013

VCC

L1

R3

1K

LED2

oìμ?

Q2

9013L2

R4

1K

LED3

??

Q3

9013L3

R5

1K

LED4

Q4

9013L4

R6

1K

LED5

oìμ?

Q5

9013L5

R7

1K

LED6

??

Q6

9013L6

e

d

vc1

c

dp

e

d

vc2

c

dp

e

d

vc3

c

dp

e

d

vc4

c

dp

f

g

a

b

f

g

a

b

f

g

a

b

f

g

a

b

LT

3

BI/RBO

4

RBI

5

g

14

f

15

e

9

d

10

c

11

b

12

a

13

D

6

C

2

B

1

A

7

U2

74LS47

g

f

e

d

c

b

a

NUMA

NUMB

NUMC

NUMD

R20

150

R21

150

R22

150

R23

150

R24

150

R25

150

R26

150

Q7

9013

VCC

LED1

Q8

9013LED2

Q9

9013LED3

Q10

9013LED4

vc1vc2vc3vc4

R27

150

dpDOT

RXD

TXD

1

2

3

4

5

J2

5D?2?×ù

VCC

GND

MOSI

MISO

SCK

1

2

3

4

5

J1

5D?2?×ù

VCC

GND

GND

RXD

TXD

a

bf

c

g

d

e

DPY

e

1

d

2

com

3

c

4

dp

5

b

6

a

7

8

g

9

f

10

DS1

êy??1üa

bf

c

g

d

e

DPY

e

1

d

2

com

3

c

4

dp

5

b

6

a

7

8

g

9

f

10

DS2

êy??1ü

a

bf

c

g

d

e

DPY

e

1

d

2

com

3

c

4

dp

5

b

6

a

7

8

g

9

f

10

DS3

êy??1üa

bf

c

g

d

e

DPY

e

1

d

2

com

3

c

4

dp

5

b

6

a

7

8

g

9

f

10

DS4

êy??1ü

系统原理图

8

附录附录

2

程序清单程序清单

;------------------------------------

;程序实现功能

;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道

在内的道路交通状态。

;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。

;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。

#include

#define

uchar

unsigned

char

#define

uint

unsigned

int

sbit

key1=P1^0;

sbit

key2=P1^1;

sbit

key3=P1^2;

sbit

key4=P1^3;

sbit

smgwe1=P0^4;

sbit

smgwe2=P0^5;

sbit

smgwe3=P0^6;

sbit

smgwe4=P0^7;

sbit

smgdot=P2^7;

sbit

south_green=P2^0;

sbit

south_red=P2^1;

sbit

south_yellow=P2^2;

sbit

east_green=P2^3;

sbit

east_red=P2^4;

sbit

east_yellow=P2^5;

sbit

num_a=P0^0;

sbit

num_b=P0^1;

sbit

num_c=P0^2;

sbit

num_d=P0^3;

uchar

count;

uchar

type=1;

uchar

num;

uchar

south_dispnum=10,east_dispnum=5;

void

delay_ms(uint

z)

{

uchar

x,y;

9

for(x=0;xz;x++)

for(y=0;y123;y++);

}

void

timer0_init()

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

ET0=1;

EA=1;

TR0=1;

}

void

display(uchar

south_dispnum,uchar

east_dispnum)

{

uchar

south_dispnum1,south_dispnum2;

uchar

east_dispnum1,east_dispnum2;

south_dispnum1=south_dispnum/10;

south_dispnum2=south_dispnum%10;

east_dispnum1=east_dispnum/10;

east_dispnum2=east_dispnum%10;

smgwe1=1;

smgwe2=0;

smgwe3=0;

smgwe4=0;

num_d=south_dispnum1/8;

num_c=south_dispnum1%8/4;

num_b=south_dispnum1%4/2;

num_a=south_dispnum1%2;

delay_ms(1);

smgwe1=0;

smgwe2=1;

smgwe3=0;

smgwe4=0;

num_d=south_dispnum2/8;

num_c=south_dispnum2%8/4;

num_b=south_dispnum2%4/2;

num_a=south_dispnum2%2;

delay_ms(1);

smgwe1=0;

10

smgwe2=0;

smgwe3=1;

smgwe4=0;

num_d=east_dispnum1/8;

num_c=east_dispnum1%8/4;

num_b=east_dispnum1%4/2;

num_a=east_dispnum1%2;

delay_ms(1);

smgwe1=0;

smgwe2=0;

smgwe3=0;

smgwe4=1;

num_d=east_dispnum2/8;

num_c=east_dispnum2%8/4;

num_b=east_dispnum2%4/2;

num_a=east_dispnum2%2;

delay_ms(1);

}

void

traffic_light()

{

switch(type)

{

case

1:south_red=1;

south_green=0;

south_yellow=0;

east_red=0;

east_green=1;

east_yellow=0;

display(south_dispnum,east_dispnum);

if(east_dispnum==0)

{

east_dispnum=5;

south_dispnum=5;

type=2;

}

break;

case

2:south_red=1;

south_green=0;

//

south_yellow=0;

11

east_red=0;

east_green=0;

//

east_yellow=0;

display(south_dispnum,east_dispnum);

if(east_dispnum==0)

{

south_dispnum=5;

east_dispnum=10;

type=3;

}

break;

case

3:south_red=0;

south_green=1;

south_yellow=0;

east_red=1;

east_green=0;

east_yellow=0;

display(south_dispnum,east_dispnum);

if(south_dispnum==0)

{

south_dispnum=5;

east_dispnum=5;

type=4;

}

break;

case

4:south_red=0;

south_green=0;

//

south_yellow=0;

east_red=1;

east_green=0;

//

east_yellow=0;

display(south_dispnum,east_dispnum);

if(east_dispnum==0)

{

south_dispnum=10;

east_dispnum=5;

type=1;

}

break;

}

12

}

void

main()

{

timer0_init();

while(1)

{

traffic_light();

}

}

void

timer0_isr()

interrupt

1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

count++;

if(count==5)

{

if(type==2)

{

east_yellow=!east_yellow;

}

if(type==4)

{

south_yellow=!south_yellow;

}

}

if(count==20)

{

count=0;

south_dispnum--;

east_dispnum--;

}

}

13

附录附录

1

元器件清单元器件清单

数量

器件类型

原理图符号

封装

Used

Part

Type

Designator

Footprint

Description

====

===================

==========

===========

==============

排阻

3

10K

排阻

RP1

RP3

SIP9

RP4

====

===================

==========

===========

==============

电阻(1/8w)

8

150

R20

R21

AXIAL0.4

R22

R23

R24

R25

R26

R27

8

1K

R1

R2

R3

AXIAL0.4

R4

R5

R6

R7

R10

====

===================

==========

===========

==============

电容(耐压

16V)

1

0.1u

C9

RAD0.2

2

20p

C5

C6

RAD0.2

1

22u

C12

RB.2/.4

1

470u

C7

RB.2/.4

====

===================

==========

===========

==============

晶振

1

11.0592M

XTAL1

XTAL1

====

===================

==========

===========

==============

三极管

10

9013

Q1

Q2

Q3

TO-92C

NPN

Transistor

Q4

Q5

Q6

Q7

Q8

Q9

Q10

====

===================

==========

===========

==============

集成块

1

74LS47

U2

DIP16

1

AT89S51

U1

DIP40

1

LM7805

U5

TO-220S

====

===================

==========

===========

==============

14

按键(四脚扁平,脚距

4.57*7.1)

5

按键

K1

K2

K3

KEY6x6

K4

KEYRESET

====

===================

==========

===========

==============

发光二极管

3

红灯

LED2

LED5

LED

LEDPower

2

LED3

LED6

LED

2

绿

LED1

LED4

LED

====

===================

==========

===========

==============

0.8“数码管(带小数点)

4

数码管

DS1

DS2

LED08

DS3

DS4

====

===================

==========

===========

==============

1

整流桥

D1

BRIDGE_C

====

===================

==========

===========

==============

9V

变压器

TAG标签: