交通灯设计报告.docx

上传人:b****9 文档编号:26384291 上传时间:2023-06-18 格式:DOCX 页数:17 大小:147.46KB
下载 相关 举报
交通灯设计报告.docx_第1页
第1页 / 共17页
交通灯设计报告.docx_第2页
第2页 / 共17页
交通灯设计报告.docx_第3页
第3页 / 共17页
交通灯设计报告.docx_第4页
第4页 / 共17页
交通灯设计报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

交通灯设计报告.docx

《交通灯设计报告.docx》由会员分享,可在线阅读,更多相关《交通灯设计报告.docx(17页珍藏版)》请在冰豆网上搜索。

交通灯设计报告.docx

交通灯设计报告

摘要:

本课程设计使用了51单片机编程实现交通灯的设计,模拟了真实交通灯的情况,近年来单片机的应用越来越广泛,要求我们对单片机的知识熟练掌握,作为核心部件,单片机起着举足轻重的作用,但是只有这些还是不够的,需要对硬件知识有所准备,合理使用硬件才能使性能达到最佳状态,交通灯作为现代城市标志,掌握其原理显得至关重要。

关键字:

单片机交通灯

一、概述

利用51单片机,设计一个交通信号灯模拟控制系统,利用数码管倒计时显示每个灯点亮的时间;红灯和绿灯显示时间在10-20秒之间;在红灯亮之前,黄灯亮3秒。

二、方案论证

设计一个简易交通灯,要求绿灯点亮持续时间10s,红灯15s,绿灯变换为红灯前,有3s黄灯点亮,然后循环运行,紧急情况下要求可以手动控制,使两路口交通灯都亮红灯。

方案一:

方案一原理框图如图一所示。

图1数码管显示原理框图

 

方案二:

方案二原理框图如图2所示。

图2单片机控制数码管LED显示框图

本设计采用方案二,因为此方案简单容易实现,性价比也比较高。

三、电路设计

1、直流稳压电源电路

电路原理图如图3所示。

图3稳压电源电路图

2、数据转换电路(数据串行转并行)

电路图如图4所示。

图4数据转换电路图

3、交通灯模拟电路

电路如图5所示。

图5交通灯模拟显示电路

4、单片机电路

单片机电路如图6所示。

图6单片机电路模块

5、软件设计部分

总流程说明:

程序开始进入状态1,东西绿灯亮,南北红灯亮,延时;然后进入状态2,东西黄灯亮3秒,南北红灯亮,延时;然后进入状态3,南北绿灯亮,东西红灯亮,延时;最后进入状态4,南北黄灯亮3秒,东西红灯继续亮3秒,延时;然后跳转回状态1,继续循环此过程。

在本控制系统中,设定绿灯显示时间为10秒,具体实现时在程序中设定一个初值为20的计时器T0定时50毫秒,每当T0定时到50毫秒,计数标志TF0将置1,通过用查询的方式使定时50毫秒循环20次,这时总共定时1秒,再利用查询方式循环10次,则总共定时10秒。

在状态1下定时器T0的流程图如图7所示。

图7状态1下定时器T0的流程图

四、性能测试

1、数码管测试

测试结果如图8所示。

图8数码管显示测试

2、交通灯模拟测试

正常交通灯可能出现的情况如图9所示。

图8交通灯可能出现的情况模拟仿真图

五、结论、性价比

程序设计时,首先对东西南北路口计时寄存器进行地址分配、对路口红绿灯分配引脚、设置显示缓冲区、设置定时器初始时间。

然后对各个状态进行编程,编程过程中注意各个状态计时初值和显示初值的设置以及各个状态LED灯编程和调试,接着实现对数码管显示的编程。

最后对系统进行总体调试。

本设计采用常用的51单片机,使用并且便宜,功能强大,性能稳定,能很好的实现功能。

六.体会及合理化建议

本次课程设计完成了一个基于51单片机的交通信号灯模拟控制系统的设计。

通过本次课程设计,学会了protuse仿真软件和keil编译环境的基本操作,对交通灯控制系统有了深入的认识,对51单片机的基本原理和应用有了更透彻的理解,对汇编语言的编程和排错有了较为系统的认识。

虽然在设计的过程中遇到各种各样的困难,但最终在老师和同学的帮助下完成了设计。

极大的培养了我们的科研精神,激发了我们的专业兴趣,积累了实践经验,为将来的继续学习和工作打下了基础。

希望在今后的学习过程中,能有更多的机会接触具有现实意义的项目,能接触更多的硬件,更好的提升自己的实践能力和综合能力。

参考文献

[1]肖洪兵.《跟我学用单片机》,[M].北京:

北京航空航天大学出版社,2002.8.

[2]何立民.《单片机高级教程》,[M].北京:

北京航空航天大学出版社,2001.6.

[3]查振亚、叶向阳.智能交通灯控制系统[J].华中理工大学学报,1997,25

(2):

63-65

[4]张毅刚.《MCS-51单片机原理及应用》,[M].哈尔滨:

哈尔滨工业大学出版社,2004.6.

[5]李广第.《单片机基础》,[M].北京:

北京航空航天大学出版社,1999.8.

[6]徐惠民.《单片微型计算机原理接口与应用》,[M].北京:

北京邮电大学出版社,1996.7.

 

附录I电路原理图

 

附录II元器件清单

序号

编号

名称

型号

数量

1

U2

单片机

AT89C51

1

2

U1

反相器

7405

6

3

U3、U4、U5、U6

移位寄存器

74LS164

4

4

U7

稳压芯片

7805

1

5

C1、C2、C3、C4、C5、C6

电容

CAP

6

6

DS1、DS2、DS3、DS4

数码管

SEG_7

4

7

D1~D12

LED

LED

12

8

Y1

晶振

12MHz

1

9

R1

电阻

10k

1

10

S1

按键

SWSPST

1

11

D13

直流电桥

BRIDGE

1

 

附录Ⅲ源程序

SECOND1EQU30H;东西路口计时寄存器

SECOND2EQU31H;南北路口计时寄存器

DBUFEQU40H;显示码缓冲区1

TEMPEQU44H;显示码缓冲区2

LED_G1BITP2.1;东西路口绿灯

LED_Y1BITP2.2;东西路口黄灯

LED_R1BITP2.3;东西路口红灯

LED_G2BITP2.4;南北路口绿灯

LED_Y2BITP2.5;南北路口黄灯

LED_R2BITP2.6;南北路口红灯

EMERGENCYBITP3^3

ORG0000H

LJMPSTART

ORG0013H

LJMPSTATE0

ORG0100H

START:

MOVTMOD,#01H;置T0为工作方式1

MOVTH0,#3CH;置T0定时初值50ms

MOVTL0,#0B0H

MOVIE,#84H

SETBIT1

CLRTF0

SETBTR0;启动T0

CLRA

MOVP1,A;关闭不相关的LED

;***************************************************

LOOP:

MOVR2,#20;置1s计数初值,50ms*20=1s

MOVR3,#10;红灯亮15s

MOVSECOND1,#10;东西路口计时显示初值15s

MOVSECOND2,#15;南北路口计时显示初值15s

LCALLDISPLAY

WAIT1:

LCALLSTATE1;调用状态1

JNBTF0,WAIT1;查询50ms到否

CLRTF0

MOVTH0,#3CH;恢复T0定时初值50ms

MOVTL0,#0B0H

DJNZR2,WAIT1;判断1s到否?

未到继续状态1

MOVR2,#20;置1s计数初值

DECSECOND1;东西路口显示时间减1s

DECSECOND2;南北路口显示时间减1s

LCALLDISPLAY

DJNZR3,WAIT1;状态1维持15s

;*****************************************************************

;*****************************************************************

MOVR2,#20;置50ms计数初值

MOVR3,#5;黄灯闪5s

MOVSECOND1,#5;东西路口计时显示初值2s

MOVSECOND2,#5;南北路口计时显示初值2s

LCALLDISPLAY

WAIT2:

LCALLSTATE2;调用状态3

JNBTF0,WAIT2;查询100ms到否

CLRTF0

MOVTH0,#3CH;恢复T0定时初值100ms

MOVTL0,#0B0H

DJNZR2,WAIT2;判断1s到否?

未到继续状态3

MOVR2,#20;置100ms计数初值

DECSECOND1;东西路口显示时间减1s

DECSECOND2;南北路口显示时间减1s

LCALLDISPLAY

DJNZR3,WAIT2;状态3维持2s

;*******************************************

MOVR2,#20;置50ms计数初值

MOVR3,#10;红灯闪20s

MOVSECOND1,#15;东西路口计时显示初值10s

MOVSECOND2,#10;南北路口计时显示初值10s

LCALLDISPLAY

WAIT3:

LCALLSTATE3;调用状态4

JNBTF0,WAIT3;查询100ms到否

CLRTF0

MOVTH0,#3CH;恢复T0定时初值100ms

MOVTL0,#0B0H

DJNZR2,WAIT3;判断1s到否?

未到继续状态4

MOVR2,#20;置100ms计数初值

DECSECOND1;东西路口显示时间减1s

DECSECOND2;南北路口显示时间减1s

LCALLDISPLAY

DJNZR3,WAIT3;状态4维持20s

;****************************************

MOVR2,#20;置50ms计数初值

MOVR3,#5;黄灯闪5s

MOVSECOND1,#5;东西路口计时显示初值2s

MOVSECOND2,#5;南北路口计时显示初值2s

LCALLDISPLAY

WAIT4:

LCALLSTATE4;调用状态3

JNBTF0,WAIT4;查询100ms到否

CLRTF0

MOVTH0,#3CH;恢复T0定时初值100ms

MOVTL0,#0B0H

DJNZR2,WAIT4;判断1s到否?

未到继续状态3

MOVR2,#20;置100ms计数初值

DECSECOND1;东西路口显示时间减1s

DECSECOND2;南北路口显示时间减1s

LCALLDISPLAY

DJNZR3,WAIT4;状态3维持2s

;*******************************************

;*******************************************

LJMPLOOP;大循环

;**********************************************

STATE0:

;状态2

CPLTR0

CLRLED_G1

CLRLED_Y1

SETBLED_R1

CLRLED_G2

CLRLED_Y2

SETBLED_R2;南北路口红灯亮

JNBEMERGENCY,$

CPLTR0

RETI

STATE1:

;状态1

SETBLED_G1

CLRLED_Y1

CLRLED_R1

CLRLED_G2

CLRLED_Y2

SETBLED_R2

RET

STATE2:

;状态3

CLRLED_G1

SETBLED_Y1

CLRLED_R1

CLRLED_G2

CLRLED_Y2

SETBLED_R2

RET

STATE3:

;状态4

CLRLED_G1

CLRLED_Y1

SETBLED_R1

SETBLED_G2

CLRLED_Y2

CLRLED_R2

RET

STATE4:

;状态3

CLRLED_G1

CLRLED_Y1

SETBLED_R1

CLRLED_G2

SETBLED_Y2

CLRLED_R2

RET

DISPLAY:

;数码显示

MOVA,SECOND1;东西路口计时寄存器

MOVB,#10;16进制数拆成两个10进制数

DIVAB

MOVDBUF+3,A

MOVA,B

MOVDBUF+2,A

MOVA,SECOND2;南北路口计时寄存器

MOVB,#10;16进制数拆成两个10进制数

DIVAB

MOVDBUF+1,A

MOVA,B

MOVDBUF,A

MOVR0,#DBUF

MOVR1,#TEMP

MOVR7,#4

DP10:

MOVDPTR,#LEDMAP

MOVA,@R0

MOVCA,@A+DPTR

MOV@R1,A

INCR0

INCR1

DJNZR7,DP10

MOVR0,#TEMP

MOVR1,#4

DP12:

MOVR7,#8

MOVA,@R0

DP13:

RLCA

MOVP3.0,C

CLRP3.1

SETBP3.1

DJNZR7,DP13

INCR0

DJNZR1,DP12

RET

LEDMAP:

DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB58H,5EH,7BH,71H,0,40H;C,D,E,F,,-

END

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1