基于51单片机-简单交通灯控制文档格式.doc

上传人:wj 文档编号:728986 上传时间:2023-04-29 格式:DOC 页数:20 大小:1.06MB
下载 相关 举报
基于51单片机-简单交通灯控制文档格式.doc_第1页
第1页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第2页
第2页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第3页
第3页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第4页
第4页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第5页
第5页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第6页
第6页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第7页
第7页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第8页
第8页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第9页
第9页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第10页
第10页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第11页
第11页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第12页
第12页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第13页
第13页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第14页
第14页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第15页
第15页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第16页
第16页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第17页
第17页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第18页
第18页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第19页
第19页 / 共20页
基于51单片机-简单交通灯控制文档格式.doc_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机-简单交通灯控制文档格式.doc

《基于51单片机-简单交通灯控制文档格式.doc》由会员分享,可在线阅读,更多相关《基于51单片机-简单交通灯控制文档格式.doc(20页珍藏版)》请在冰点文库上搜索。

基于51单片机-简单交通灯控制文档格式.doc

4

南北黄灯,东西红灯

4秒

5

南北红灯,东西绿灯

30秒

6

南北红灯,东西绿灯闪烁3次

7

南北红灯,东西黄灯

8

转过程2,循环执行

(2)应用两位动态显示的LED显示器倒计时显示通行时间,总时间应包含绿灯闪烁和黄灯亮的时间。

(3)当绿灯闪烁和黄灯亮时,蜂鸣器发声提示。

扩展功能:

处理紧急状况,由按键引发外部中断进入紧急状况。

在紧急状况下东西、南北均为红灯,15秒钟后恢复进入紧急状况之前的正常运行状态。

1.3材料清单

本设计中所需的材料如表2所示:

表2.材料清单

序号

数量

直流电机的控制

规格

交通灯模拟模块

独立式按键

2、整体方案设计

单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。

本系统在此基础上,加入了紧急情况处理与时间调整功能。

单片机

最小系统

外围接口电路

LED数码管显示

红黄绿信号灯

按键

控制电路

图1.系统的总体框图

3、硬件设计

3.1交通灯模组

本系统中使用的所使用的交通灯系统为凌阳科技股份有限公司生产的交通灯模组V3.0。

本系统为一套交通灯系统:

包括一块驱动电路板(交通灯模组V3.0_驱动板)和四块LED板(交通灯模组V3.0_LED板)。

1)LED板中每个方向提供四组交通LED灯(包括左转、直行、右转、人行道四组),每组交通灯包括红、黄、绿三个灯,可以实现交通的通行控制;

2)LED板中每个方向提供两个数码管,可以实现100以内的倒计时。

本系统包含一块驱动板和四块LED板,驱动板框图如图2.1:

其中J1、J2、J3、J4为LED板的插接口,使用时可以直接把四块LED板插接在驱动板上;

J5、J6、J7是单片机的接口,使用时可以直接用3根10pin排线与单片机连接;

驱动电路模块用来驱动LED灯和数码管。

驱动板结构框图如图2所示,交通灯模组电路图及单片机的接口电路如图3所示。

图2.交通灯模组V3.0_驱动板结构框图

3.2按键设计

本设计中要求用按键实现紧急状态触发与解除,所以使用独立式按键实现。

按键部分电路图如图4所示。

图4.按键部分电路图

3.3功率驱动电路

对单片机发出的脉冲信号进行放大,来支持交通灯模组的运转。

功率驱动电路如图5所示。

图5.驱动电路图

3.4交通灯模组电路

使用交通灯模组来实现简易交通灯的控制。

交通灯模组电路如图6所示。

图6.交通灯模组电路

3.5蜂鸣器部分

在东西和南北向绿灯闪烁和黄灯亮时,蜂鸣器响以提醒行人。

蜂鸣器部分电路图如图7所示。

图7.蜂鸣器电路图

4、软件设计

4.1程序主体设计流程

本设计的主体思路是:

采用顺序控制,每个状态设置相应的标志位,分别写出每个状态LED灯和数码管显示的情况,当定时中断来临后,判断是否改变状态;

若进入下一个状态,则改变相对应的变量,反之则循环执行显示子程序。

4.2主程序设计

主程序中主要是进行系统的初始化,设置系统相应的标志位,判断是否中断,并且调用相应的子程序。

主程序流程图如图8所示。

图8.主程序流程图

4.3定时器子程序设计

定时器可以使用查双字表,也可以通过设定一个基本定时时间再循环来实现。

在本次设计中,使用第二种定时方案比较简单;

再根据定时器四种工作方式以及本次设计的要求,所以使用定时器0,工作方式TMOD=1,根据所需定时时间的分析,设定定时器的基本定时时间为t=50ms,计算计数初值:

X=216-50*10-3*12*106/12=63163=3CB0H,即定时器初值为:

TH1=3CHTL1=0B0H

定时器子程序流程图如图10所示

图10.定时器部分流程图

4.4显示子程序设计

显示子程序中,实现LED灯的亮灭以及数码管的倒计时显示,数码管的显示采用动态显示。

显示子程序流程图如图9所示。

图9.显示子程序流程图

5、系统调试及结果

5.1列出调试内容、调试方法以及具体步骤

调试内容及具体操作控制方法如下:

当程序开始执行时,各个路口的灯及显示器显示按照表3所示进行变化。

其中数码管显示使用倒计时

表3.交通灯控制顺序

具体调试方法为断点调试方法,单步执行。

5.2说明调试中出现的问题及解决方法

1.在实现灯闪烁的时候,一开始不知道如何实现,后来经过讨论,决定用查表方式来实现灯闪烁。

2.数码管显示的数字一开始变化太慢,为了节省时间,后来将基本定时时间缩短了一倍,数字变化就变快了,节省了时间。

6、设计总结

这次的设计是做一个交通灯,题目虽然很简单,但是我们也遇到了不少困难,在编程仿真的时候,很多时候都达不到我们想要的效果,我们就三个人一起讨论,一遍一遍的修改程序,最终实现了我们想要的结果。

布线是很关键的一步,怎样布线才能使电路看起来不乱,电路看起来美观非常重要,我们一起讨论,一起尝试,终于达到了比较满意的效果。

程序的设计业是非常重要的,从开始的不太理解,通过不断地尝试,最后终于达到了比较满意的结果,达到了本次设计的基本要求。

在这次的设计过程中,我们三人相互配合,相互磨合,都有了默契,为以后的设计做了很好的铺垫。

7、参考资料

1.参考教材一:

《单片机接口技术实训指导书》

作者:

北京联合大学机电学院

2.参考教材二:

《微机原理与接口技术实验指导书2009》

3.参考教材三:

《单片机应用技术》,科学出版社

赵林惠

8、附件

8.1系统电路原理图;

见附录I

8.2程序清单及注释。

见附录II

组员签字:

附录I系统电路原理图

附录II程序清单及注释

;

-------------------------------------------------------------------------------------------------

BZ1BIT40H

BZ2BIT41H

BZ3BIT42H

BZ4BIT43H

BZ5BIT44H

BZ6BIT45H

BZ7BIT46H

BZ8BIT47H

--------------系统初始化---------------------

ORG0000H

AJMPMAIN

ORG0003H

AJMPINT_0

ORG000BH

AJMPT_0

ORG0050H

MAIN:

MOVTMOD,#01H ;

使用定时器T0状态1

MOVTH0,#3CH ;

定时50ms

MOVTL0,#0B0H

SETBEA

SETBIT0 ;

使用外部中断0

SETBEX0

SETBET0

SETBBZ1

MOVP0,#00H ;

对输出口清零

MOVP1,#00H

MOVP2,#00H

SETBP3.0

MOVR1,#10 ;

对运行中间值设置初值

MOVR2,#10

MOVR4,#10

MOVR5,#10

MOVR6,#15

SETBTR0 ;

打开定时器T0,开始计时

//--------------------计时和红绿灯显示-------------------------------------

DISPLAY:

ACALLLOOP

SJMPDISPLAY

LOOP:

MOVA,R4 ;

南北向计时显示

MOVDPTR,#TAB_1

MOVCA,@A+DPTR

MOVR3,A

ANLA,#0FH

MOVDPTR,#TAB_2

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#22H

ACALLDELAY

MOVP0,#00H

MOVA,R3

SWAPA

MOVP2,#11H

MOVA,R5 ;

东西向计时显示

MOVR6,A

MOVP2,#88H

MOVA,R6

MOVP2,#44H

D1:

JNBBZ1,D2 ;

东西红灯,南北绿灯

MOVP0,#08H

MOVP1,#11H

MOVP0,#08H

MOVP1,#44H

AJMPD8

D2:

JNBBZ2,D3 ;

MOVP0,#20H

ACALLDELAY

D3:

JNBBZ3,D4 ;

南北绿灯闪烁三次,东西红灯,蜂鸣器响

CLRP3.0

MOVA,R4

MOVDPTR,#TAB_3

D4:

JNBBZ4,D5 ;

南北黄灯,东西红灯,蜂鸣器响

MOVP0,#10H

MOVP0,#08H

SJMPD8

D5:

JNBBZ5,D6 ;

MOVP0,#20H

D6:

JNBBZ6,D7 ;

南北红灯,东西绿灯闪烁三次,蜂鸣器响

MOVA,R5

MOVP0,A

D7:

JNBBZ7,JJ ;

南北红灯,东西黄灯,蜂鸣器响

MOVP0,#10H

JJ:

D8:

RET

//-------------定时T0中断----------------------------------

T_0:

MOVTH0,#3CH

DJNZR2,K2

MOVR2,#10

LOOP1:

JNBBZ1,LOOP2 ;

判断是否处于标志位1,即状态1

DJNZR1,K1 ;

进行状态1的运算

CLRBZ1

SETBBZ2

MOVR1,#40

MOVR4,#46

MOVR5,#50

AJMPEXIT_0

LOOP2:

JNBBZ2,LOOP3 ;

判断是否处于标志位2,即状态2

DJNZR1,K1 ;

进行状态2的运算

CLRBZ2

SETBBZ3

MOVR1,#6

MOVR4,#6

DECR5

SJMPEXIT_0

LOOP3:

JNBBZ3,LOOP4 ;

判断是否处于标志位3,即状态3

DJNZR1,EXIT_1 ;

进行状态3的运算

CLRBZ3

SETBBZ4

MOVR1,#4

MOVR4,#4

DECR5

LOOP4:

JNBBZ4,LOOP5 ;

判断是否处于标志位4,即状态4

进行状态4的运算

CLRBZ4

SETBBZ5

MOVR1,#30

MOVR4,#40

MOVR5,#30

LOOP5:

JNBBZ5,LOOP6 ;

判断是否处于标志位5,即状态5

进行状态5的运算

CLRBZ5

SETBBZ6

MOVR5,#6

DECR4

K2:

K1:

SJMPEXIT_1

LOOP6:

JNBBZ6,LOOP7 ;

判断是否处于标志位6,即状态6

DJNZR1,EXIT_1 ;

进行状态6的运算

CLRBZ6

SETBBZ7

MOVR5,#4

LOOP7:

JNBBZ7,LOOP8 ;

判断是否处于标志位7,即状态7

进行状态7的运算

CLRBZ7

MOVR5,#50

LOOP8:

JNBBZ8,EXIT_0

DJNZR1,EXIT_1

SETBBZ2

CLRBZ8

EXIT_1:

DECR4

EXIT_0:

RETI

///////////////外部中断////////////////////////////

INT_0:

//PUSH28H

CLRBZ1

CLRBZ7

SETBBZ8

MOVR4,#15

MOVR5,#15

MOVR1,#15

LCALLLOOP

RETI

//---------------------延时程序-----------------------------

DELAY:

MOVR7,#0FAH

DJNZR7,$;

延时1ms子程序

TAB_1:

DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,10H,11H,12H,13H,14H,15H,16H,17H,18H,19H,20H,21H,22H,23H,24H,25H,26H,27H,28H,29H,30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H,46H,47H,48H,49H,50H

TAB_2:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

TAB_3:

DB00H,20H,00H,20H,00H,20H,00H

END

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2