最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于51单片机 简单交通灯控制

来源:动视网 责编:小OO 时间:2025-09-23 18:25:08
文档

基于51单片机 简单交通灯控制

项目设计报告项目名称:简易交通灯控制系统的设计课程名称:单片机应用工程技术训练学院:机电学院专业:机械工程及自动化学号:*************/22/37姓名:张梦迪张博文崔剑锋成绩:2013年06月04日1、设计任务与要求1.1.设计任务设计基于51单片机的交通灯控制系统。1.2.设计要求基本功能:(1)设计程序能够控制红灯、黄灯和绿灯的切换。假设十字路口为东西南北走向,南北方向为主干道,东西方向为辅干道,主干道通行时间长于辅干道。要求按表1实现过程控制。交通灯控制顺序要求如表1所示表1
推荐度:
导读项目设计报告项目名称:简易交通灯控制系统的设计课程名称:单片机应用工程技术训练学院:机电学院专业:机械工程及自动化学号:*************/22/37姓名:张梦迪张博文崔剑锋成绩:2013年06月04日1、设计任务与要求1.1.设计任务设计基于51单片机的交通灯控制系统。1.2.设计要求基本功能:(1)设计程序能够控制红灯、黄灯和绿灯的切换。假设十字路口为东西南北走向,南北方向为主干道,东西方向为辅干道,主干道通行时间长于辅干道。要求按表1实现过程控制。交通灯控制顺序要求如表1所示表1


项目设计报告

项目名称:  简易交通灯控制系统的设计 

            课 程  名 称: 单片机应用工程技术训练  

            学        院:     机电学院            

            专        业:  机械工程及自动化       

            学       号:    *************/22/37                         姓       名:  张梦迪 张博文  崔剑锋                        成        绩:                         

                                  2013年06月 04日

1、设计任务与要求

1.1.设计任务

设计基于51单片机的交通灯控制系统。

1.2. 设计要求

基本功能:                                                         

(1)设计程序能够控制红灯、黄灯和绿灯的切换。假设十字路口为东西南北走向,南北方向为主干道,东西方向为辅干道,主干道通行时间长于辅干道。要求按表1实现过程控制。

  交通灯控制顺序要求如表1所示

    表1. 交通灯控制顺序要求

过程顺序红绿灯状态时 间
1东西红灯,南北红灯10秒
2南北绿灯,东西红灯40秒
3南北绿灯闪烁3次,东西红灯闪烁间隔1秒
4南北黄灯,东西红灯4秒
5南北红灯,东西绿灯30秒
6南北红灯,东西绿灯闪烁3次闪烁间隔1秒
7南北红灯,东西黄灯4秒
8转过程2,循环执行
(2)应用两位动态显示的LED显示器倒计时显示通行时间,总时间应包含绿灯闪烁和黄灯亮的时间。

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

扩展功能:

处理紧急状况,由按键引发外部中断进入紧急状况。在紧急状况下东西、南北均为红灯,15秒钟后恢复进入紧急状况之前的正常运行状态。

1.3 材料清单

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

表2. 材料清单

序号数量直流电机的控制规格
11交通灯模拟模块 
24式按键 
2、整体方案设计 

 单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入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=3CH    TL1=0B0H

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

              

图10. 定时器部分流程图

4.4 显示子程序设计

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

                     

图9. 显示子程序流程图

5、 系统调试及结果

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

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

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

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

表3. 交通灯控制顺序

过程顺序红绿灯状态时 间
1东西红灯,南北红灯10秒
2南北绿灯,东西红灯40秒
3南北绿灯闪烁3次,东西红灯闪烁间隔1秒
4南北黄灯,东西红灯4秒
5南北红灯,东西绿灯30秒
6南北红灯,东西绿灯闪烁3次闪烁间隔1秒
7南北红灯,东西黄灯4秒
8转过程2,循环执行
具体调试方法为断点调试方法,单步执行。

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

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

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

6、 设计总结

这次的设计是做一个交通灯,题目虽然很简单,但是我们也遇到了不少困难,在编程仿真的时候,很多时候都达不到我们想要的效果,我们就三个人一起讨论,一遍一遍的修改程序,最终实现了我们想要的结果。布线是很关键的一步,怎样布线才能使电路看起来不乱,电路看起来美观非常重要,我们一起讨论,一起尝试,终于达到了比较满意的效果。程序的设计业是非常重要的,从开始的不太理解,通过不断地尝试,最后终于达到了比较满意的结果,达到了本次设计的基本要求。在这次的设计过程中,我们三人相互配合,相互磨合,都有了默契,为以后的设计做了很好的铺垫。

7、 参考资料

1. 参考教材一:《单片机接口技术实训指导书》

作者:北京联合大学机电学院

2. 参考教材二:《微机原理与接口技术实验指导书2009》

作者:北京联合大学机电学院

3.参考教材三:《单片机应用技术》,科学出版社

作者:赵林惠 

8、 附件

8.1 系统电路原理图;

见附录I

8.2 程序清单及注释。

见附录II

 组员签字:

附录I  系统电路原理图

附录II 程序清单及注释

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

     BZ1 BIT 40H

     BZ2 BIT 41H

     BZ3 BIT 42H

     BZ4 BIT 43H

     BZ5 BIT 44H

     BZ6 BIT 45H

     BZ7 BIT 46H

     BZ8 BIT 47H

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

     ORG 0000H

     AJMP MAIN

     ORG 0003H

     AJMP INT_0

     ORG 000BH

     AJMP T_0

     ORG 0050H 

MAIN:     使用定时器T0状态1

       定时50ms

     MOV TL0,#0B0H

     SETB EA

       使用外部中断0

     SETB EX0

      

     SETB BZ1

       对输出口清零

     MOV P1,#00H

     MOV P2,#00H

     SETB P3.0

       对运行中间值设置初值

     MOV R2,#10

     MOV R4,#10

     MOV R5,#10

     MOV R6,#15

       打开定时器T0,开始计时

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

DISPLAY:  ACALL LOOP

     SJMP DISPLAY

LOOP:      南北向计时显示

     MOV DPTR,#TAB_1

     MOVC A,@A+DPTR

      

     ANL A,#0FH

     MOV DPTR,#TAB_2

      

     MOV P0,A

     MOV P2,#22H

     ACALL DELAY

     MOV P2,#00H

     MOV P0,#00H

     MOV A,R3

     SWAP A

     ANL A,#0FH

     MOV DPTR,#TAB_2

     MOVC A,@A+DPTR

     MOV P0,A

     MOV P2,#11H

     ACALL DELAY

     MOV P2,#00H

     MOV P0,#00H

       东西向计时显示

     MOV DPTR,#TAB_1

     MOVC A,@A+DPTR

      

     ANL A,#0FH

     MOV DPTR,#TAB_2

      

     MOV P0,A

     MOV P2,#88H

     ACALL DELAY

     MOV P2,#00H

     MOV P0,#00H

     MOV A,R6

     SWAP A

     ANL A,#0FH

     MOV DPTR,#TAB_2

     MOVC A,@A+DPTR

     MOV P0,A

     MOV P2,#44H

     ACALL DELAY

     MOV P2,#00H

     MOV P0,#00H

D1:       东西红灯,南北绿灯   

     MOV P0,#08H

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

            

     MOV P1,#44H

     ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

     AJMP D8

D2:       南北绿灯,东西红灯

     SETB P3.0

     MOV P0,#20H

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

            

     MOV P1,#44H

      ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

     AJMP D8

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

     CLR P3.0

     MOV A,R4

     MOV DPTR,#TAB_3

     MOVC A,@A+DPTR

     MOV P0,A

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

            

     MOV P1,#44H

     ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

     AJMP D8

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

     CLR P3.0

     MOV P0,#10H

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

           

     MOV P1,#44H

     ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

     SJMP D8

D5:       南北红灯,东西绿灯

     SETB P3.0

     MOV P0,#08H

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

           

     MOV P1,#44H

     ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

     SJMP D8

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

     CLR P3.0

     MOV P0,#08H

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

     MOV A,R5

     MOV DPTR,#TAB_3

     MOVC A,@A+DPTR

           

     MOV P1,#44H

     ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

     SJMP D8

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

     CLR P3.0

     MOV P0,#08H

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

            

     MOV P1,#44H

     ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

     SJMP D8

JJ:     SETB P3.0

     MOV P0,#08H

     MOV P1,#11H

     ACALL DELAY

     MOV P1,#00H

            

     MOV P1,#44H

     ACALL DELAY

     MOV P0,#00H

     MOV P1,#00H

D8:     RET

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

T_0:  MOV TH0,#3CH

     MOV TL0,#0B0H

     DJNZ R2,K2

         

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

      进行状态1的运算

     CLR BZ1

     SETB BZ2

     MOV R1,#40

     MOV R4,#46

      

     AJMP EXIT_0

LOOP2:  JNB BZ2,LOOP3    判断是否处于标志位2,即状态2

      进行状态2的运算

     CLR BZ2

     SETB BZ3

     MOV R1,#6

     MOV R4,#6

     DEC R5

     SJMP EXIT_0

LOOP3:  JNB BZ3,LOOP4     判断是否处于标志位3,即状态3

       进行状态3的运算

     CLR BZ3

     SETB BZ4

     MOV R1,#4

     MOV R4,#4

      

     SJMP EXIT_0

LOOP4:  JNB BZ4,LOOP5     判断是否处于标志位4,即状态4

       进行状态4的运算

     CLR BZ4

     SETB BZ5

     MOV R1,#30

     MOV R4,#40

      

     SJMP EXIT_0

LOOP5:  JNB BZ5,LOOP6     判断是否处于标志位5,即状态5

       进行状态5的运算

     CLR BZ5

     SETB BZ6

     MOV R1,#6

     MOV R5,#6

      

K2:     SJMP EXIT_0

K1:     SJMP EXIT_1

LOOP6:  JNB BZ6,LOOP7     判断是否处于标志位6,即状态6

       进行状态6的运算

     CLR BZ6

     SETB BZ7

     MOV R1,#4

     MOV R5,#4

      

     SJMP EXIT_0

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

       进行状态7的运算        

            

     SETB BZ2

     MOV R1,#40

     MOV R4,#40

     MOV R5,#50

     SJMP EXIT_0

LOOP8:    JNB BZ8,EXIT_0 

     DJNZ R1,EXIT_1

       

     CLR BZ8

     MOV R1,#40

     MOV R4,#40

     MOV R5,#50

     AJMP EXIT_0

EXIT_1: DEC R4

     DEC R5

EXIT_0:    RETI  

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

INT_0:

     //PUSH 28H

     CLR BZ2

     CLR BZ3

     CLR BZ4

     CLR BZ5

     CLR BZ6

     CLR BZ7

     SETB BZ8

     MOV R4,#15

     MOV R5,#15

     MOV R1,#15

     LCALL LOOP

     RETI

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

DELAY:     MOV R7,#0FAH

        DJNZ R7,$       ;延时1ms子程序

     RET

TAB_2:  DB  3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

TAB_3:    DB  00H,20H,00H,20H,00H,20H,00H

     END

文档

基于51单片机 简单交通灯控制

项目设计报告项目名称:简易交通灯控制系统的设计课程名称:单片机应用工程技术训练学院:机电学院专业:机械工程及自动化学号:*************/22/37姓名:张梦迪张博文崔剑锋成绩:2013年06月04日1、设计任务与要求1.1.设计任务设计基于51单片机的交通灯控制系统。1.2.设计要求基本功能:(1)设计程序能够控制红灯、黄灯和绿灯的切换。假设十字路口为东西南北走向,南北方向为主干道,东西方向为辅干道,主干道通行时间长于辅干道。要求按表1实现过程控制。交通灯控制顺序要求如表1所示表1
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top