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

这篇具有很好参考价值的文章主要介绍了基于单片机控制的交通灯系统设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、引言

(一)、概述

本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。然后转状态一东西绿灯通车,南北为红灯。过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。再转状态三南北绿灯通车,东西红灯。过段时间转状态四南北绿灯闪几次转黄灯,延时几秒,东西仍为红灯。最后循环至状态一。交通信号灯模拟控制系统设计利用单片机的定时器定时,控制十字路口红绿灯交替电亮和熄灭,并且用LED数码管显示时间,但由于时间及水平的不足,在此实验中不显示。用十二个发光二极管代替交通灯进行实验设计。

这次设计是《微机接口与控制技术》课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固所学的知识及提高应用水平.在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法.提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。为今后的毕业设计、及从事微机控制系统的设计与维护奠定坚实的基础。

这次课题设计的意义在于通过具体的控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。

(二)、工艺流程图

因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西南北灯都熄灭。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间,但由于时间和水平的限制就不显示时间。用十二个发光二极管燃灭,模拟交通灯管理。具体的接口如下图一。

二、工程设计

(一)、控制方案的确定

交通灯控制系统的原理主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。如图2完整的电路板。

图2完整的电路板

(二)、硬件部分

(1)、交通灯控制系统的硬件设计:

交通灯控制系统的硬件设计包括:存储器的扩展(62256),I/O口的扩展(8255),地址的锁存(74LS373或74LS273),还有反向器(7407)。

数据缓冲器,I/O控制逻辑,控制和定时寄存器及定时与控制电路,扫描计数器,回复缓冲器,FIFO /传感器RAM及其状态寄存器,显示RAM及显示地址寄存器等组成。

(2)、硬件系统的设计具备以下原则

1.满足系统的设计要求,易于操作维护。

2.系统功能灵活,便于扩展。

3.具有自动诊断功能。

硬件系统在该系统中的作用主要是进行数据的传送,有关逻辑的计算,并且提供显示,人为的进行数据的修改,系统的启动,停止等等。此外系统运行的安全可靠性要靠硬件系统来实现。

图中: 

TL: 表示甲车道或乙车道绿灯亮的时间间隔为25秒,即车辆正常通行的时                                      间间隔。定时时间到,TL=1,否则,TL=0。

TY:表示黄灯亮的时间间隔为5秒。定时时间到,TY=1,否则,TY=0。

  ST:表示定时器到了规定的时间后,由控制器发出状态转换信号。由它控制定时器开始下个工作状态的定时。

1.定时器

  定时器由与系统秒脉冲(由时钟脉冲产生器提供)同步的计数器构成,要求计数器在状态信号ST作用下,首先清零,然后在时钟脉冲上升沿作用下,计数器从零开始进行增1计数,向控制器提供模5的定时信号TY和模25的定时信号TL。

2.控制器

控制器是交通管理的核心,它应该能够按照交通管理规则控制信号灯工作状态的转换。从ASM图可以列出控制器的状态转换表,如表1所示。选用两个D触发器FF1、FFO作为时序寄存器产生 4种状态,控制器状态转换的条件为TL和TY,当控制器处于Q1n+1Q0n+1= 00状态时,如果TL= 0,则控制器保持在00状态;如果,则控制器转换到Q1n+1Q0n+1= 01状态。这两种情况与条件TY无关,所以用无关项"X"表示。(控制器逻辑图如图6所示)

输入

输出

现态

状态转换条件

次态

状态转换信号

ST

0

0

0

0

1

1

1

1

0

0

1

1

1

1

0

0

0

1

X

X

0

1

X

X

X

X

0

1

X

X

0

1

0

0

0

1

1

1

1

0

0

1

1

1

1

0

0

0

0

1

0

1

0

1

0

1

表 1

根据表1可以推出状态方程和转换信号方程,其方法是:将Q1n+1、Q0n+1和 ST为1的项所对应的输人或状态转换条件变量相与,其中"1"用原变量表示,"0"用反变量表示,然后将各与项相或,即可得到下面的方程:

控制器逻辑图(如图6所示)

3.译码器 

74.LS138译码器

74LS138译码器有3个输入端,组成8种输入状态,输出端有8个,每个输出端对应8种输入状态的一种,低电平有效。此外还有3个使能端E3,E2,E1,这3个使能端必须同时输入有效电平,译码器才能工作,既E3=1,E2=0,E1=0。

译码器的主要任务是将控制器的输出 Q1、 Q0的4种工作状态,翻译成甲、乙车道上6个信号灯的工作状态。控制器的状态编码与信号灯控制信号之间的关系如表 12、4所示。实现上述关系的译码电路请读者自行设计。

电路图说明

1.这个LED动态显示电路用了一个单片机的一个I/O口P0口。

2.P0口的低四位输出显示数字的BCD码,输出的BCD码送到74LS138中进行译码。然后输出段代码经上拉电阻上拉后送到显示器的各显示段的引脚。

3..P03、P04、P05这三个口输出位选信号。位选信号送到74LS138中经译码产生显示器的位选信号。

4.当输出短代码后,低电平的端口将会把这个口的电平拉低。所以此时发光二极管将不发光,而高电平的端口则会向这个发光二极管的阳极提供一个高电平,只要这个位被选中,那么这个发光二极管将发光,在在段代码表找查找就能出现响应的数字。每一个位选电路由一个PNP三极管组成。当位选口发出低电平,那么这一位的三极管就会饱和导通,由于显示器是共阴的内部结构,所以当三极管饱和导通时相当于将显示器接地。

5.当脉冲到MCS—51单片机时,LED8位显示器就接收信号,并将信号储存到扩展寄存器中,当P0口的低四位输出显示数字的BCD码,输出的BCD码送到74LS138译码器译码,然后在显示提示符段码中查询显示数字。

6.前面四位显示干道通行时间,后面四位显示支道时间,通过LED显示器的显示来控制车辆的放行、禁行情况。

(5)、8279的结构及引脚功能

8279的内部结构由数据缓冲器,I/O控制逻辑,控制和定时器及定时控制电路,扫描计数器,回复缓冲器,FIFO/传感器RAM及其状态寄存器,显示RAM及显示地址寄存器等部分组成.

(a)数据缓冲器及I/O控制逻辑   数据缓冲器是一个双向缓冲器,它连接内部总线和外部总线,用于传送CPU和8279之间的命令,数据和状态.I/O控制逻辑完成对芯片的读写控制,芯片选择以及端口选择.

(b)控制和定时器及定时用来寄存操作命令字.

(c)扫描计数器   扫描计数器有两种工作方式.一种为外部译码方式.计数器以二进制方式计数,4位计数状态从扫描线SL0-SL3输出,经外部译码器译码后,形成16位扫描信号;另一种为内部译码方式.该方式下,扫描计数器的低二位经内部译码后从SL0-SL3输出,形成4位扫描信号.

(d)回复缓冲器, 回复缓冲器缓冲并锁存来自SL0-SL7八根回复线的回复信号.

(e)FIFO/传感器RAM及其状态寄存器   FIFO/传感器RAM是一个双重功能的8*8RAM.

(f)显示RAM及显示地址寄存器   显示RAM用来存储显示数据,容量为16*8位.在显示过程中,存储的显示数据轮流从显示寄存器输出.

在灯火控制实验中,它的片选信号线接Q0、数据选择输入线接的是Q1,所以他的控制口地址是FF82H,数据口地址是FF80H,中断是悬空的。

8051最小应用系统

8051是片内无程序存储器的供应状态芯片.因此,其最小应用系统必须在片外扩展EPROM.外接程序存储器的地址线A8-A15由P2口提供;A0-A7由P0口通过地址锁存器提供. 地址锁存器的锁存信号为ALE.指令数据由P0口读入.程序存储器的取指信号为/ALE.其片选线直接接地.同时必须有单位及时钟电路.

8255可编程接口芯片

三个并行I/O口-A口,B口,C口在此设计中用到了A,B两个口。

  1. 工作方式控制电路;
  2. 读写控制逻辑电路;

数据总线缓冲器;

(三)、软件部分

(1)、延时子程序的计算:

    采用寄存器R0、R1、R2作为记数值,R2中暂存1,R1中存0。当减1后变为255即R1中存数256。R0中存数#0B2H即178。各指令共占指令周期数为(见图延时程序后所附)

DELAY2延时为:

N=(2+2+2+1+1+2*178)+255*(1+1+2+2*178)=9164。

共计9164个指令周期,而系统晶振为11.0592。所以T=12/11.0592=1.085(微秒)

延时DELAY2为:

t=9164*1.085/1000000=0.09996

约等于0.1(秒)

通过改变R2的值可以改变延时的秒数。

首先四个路口所有的灯灭,在东西绿灯亮南北红灯亮延时20s,绿灯闪三下,为3秒转黄灯亮2秒 ,在南北绿灯亮东西红灯亮延时20s,绿灯闪三下,为3秒转黄灯亮2秒 ,如此循环。

状态

持续时间/S

东西方向

南北方向

绿

绿

1

50

2

3

3

2

4

50

5

3

6

2

循环

二、系统的试调运行

(一)、硬件调试

利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。其中硬件调试可分为静态调试与动态调试两步进行。

(1)、静态调试

   是在用户系统未工作时的一种硬件检测。

第一步:目测。检查外部的各种元件或者是电路是否有断点。

第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 

第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 

(2)、动态调试

是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。

三、系统设计及总结特点

通过这次的课程设计,让我受益匪浅,也让我了解和掌握了一些编程思想和对I/O口的使用和应用的条件的思考,对单片机的各个管脚功能的理解和掌握。实现了软件和硬件的有效结合,缺一不可。设计让我把单片机的理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论的是实践的基础,实践有能检验理论的正确性,更激发了我对专业知识的渴求,这些对我以后参加工作或者继续学习都会有很大的帮助和影响。

这次课程设计也让我学会了撰写论文,懂得了论文的要素,这些对于我在以后写毕业设计论文有很大的帮助,并且在我将来的工作中也会有很多益处。在撰写论文中,也使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。

而作为一位学生,在对交通灯的设计中,因知识和经验的不足,只能通过模仿其它的编程思路,再加上一些自己的思想去完成这个设计,因此在各个方面都会有一些不足,敬请指正。但我会在以后的学习中逐渐去完善、巩固我的单片机知识。

目录

一、引言

(一)、概述

(二)、工艺流程图

(一)、控制方案的确定

(二)、硬件部分

(1)、交通灯控制系统的硬件设计:

(2)、硬件系统的设计具备以下原则:

(三)、软件部分

(1)、延时子程序的计算:

二、系统的试调运行

(一)、硬件调试

(1)、静态调试

(2)、动态调试

三、系统设计及总结特点

四、源程序


、源程序

ORG 0000H

   SJMP  A3          ;四盏红灯亮

A3:MOV SP,#60H

   MOV A, #24H

   MOV P1, A

   CLR P3.4

   CLR P3.3

   SETB P3.5

   SETB P3.2          ;显示5秒

   MOV R4,#05H

LOOP1: MOV R2,#03H

      LCALL LP      ;调显示子程序

      DJNZ R4,LOOP1  

      MOV R4,#00H    

      MOV R2,#03H

      LCALL  LP   ;东西绿灯亮,南北红灯亮

A2:MOV A,#0CH

   CLR P3.5

   MOV P1,A

   SETB P3.3

 CLR P3.4

   SETB P3.2           ;显示20秒   

   MOV R4,#14H  

LOOP2 :MOV R2,#03H

      LCALL LP      ;调显示子程序

      DJNZ R4,LOOP2

      MOV R4,#00H

      MOV R2,#03H

      LCALL  LP         ;调显示子程序

      SETB P3.2

      CLR P3.3            ; 显示5秒

      MOV R4 ,#05H       ;东西黄灯亮,南北红灯亮  

LOOP9:MOV A,#14H

       MOV P1 ,A

       CLR P3.5

       SETB P3.4    

       MOV R2,#02H

       LCALL LP         ;调显示子程序

 MOV R2,#01H          ;定时

       LCALL DELAY         ;调延时子程序,南北红灯亮

       MOV  A ,#04H

       MOV P1 ,A

       CLR P3.4

       CLR P3.5     

       MOV R2,#01H          ;定时

       LCALL DELAY       ;调延时子程序

       DJNZ R4,LOOP9

       MOV R4,#00H

       MOV R2,#03H

       LCALL LP        ;调显示子程序,东西红灯亮,南北绿灯亮

A8:MOV A, #61H

   MOV P1,A

   CLR  P3.4

   CLR P3.3

   CLR P3.2

   SETB P3.5                 ; 显示20秒   

   MOV R4,#14H

LOOP3:MOV R2,#03H

     LCALL LP  ;调显示子程序

     DJNZ R4,LOOP3

     MOV R4,#00H

     MOV R2,#03H

     LCALL LP  ;调显示子程序

     SETB P3.5

     MOV R4 ,#05H

LOOP10:MOV R2,#02H

      LCALL LP  ;调显示子程序,东西红灯亮,南北黄灯亮

A0:MOV A,#0A2H

 MOV P1,A

 CLR  P3.4

 CLR P3.3

 CLR P3.2       

 MOV R2,#01H    ;定时

 LCALL DELAY  ;调延时子程序,东西红灯亮

 MOV A,#20H

 MOV P1,A

 CLR  P3.4

CLR P3.3

 CLR P3.2         

 MOV R2,#01H         ;定时

 LCALL DELAY      ;调延时子程序

 DJNZ R4,LOOP10

 MOV R4,#00H

 MOV R2,#03H

 LCALL LP      ;调显示子程序

 LJMP A2             ;延时子程序

DELAY:PUSH 2         

     PUSH 1

     PUSH 0

DELAY1: MOV 1,#00H

DELAY2:MOV 0,#0B2H

       DJNZ 0,$

       DJNZ 1,DELAY2

       DJNZ 2,DELAY1

       POP 0

       POP 1

       POP 2

       DJNZ R2 ,DELAY

       RET     ;显示子程序

xian: MOV A,R4         

     MOV B,#10

     DIV AB

     MOV R6,A

     MOV DPTR,#TAB

     MOV A,B

     MOVC A,@A+DPTR

     MOV SBUF,A

     MOV R7,#0FH

H55S:DJNZ R7,H55S

     MOV A,R6

     MOVC A,@A+DPTR

     MOV SBUF,A

     MOV R7,#0FH

H55S1:DJNZ R7,H55S1

     LCALL DELAY

     RET

 这是交通灯的子程序。它主要是被调用控制各个方向灯亮灭情况和时间。

    TAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h

         DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh         ;查表子程序

     END文章来源地址https://www.toymoban.com/news/detail-472575.html

到了这里,关于基于单片机控制的交通灯系统设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机交通灯控制系统

    一、实验目的 掌握单片机的综合应用设计。 二、实验仪器、材料 Keil软件、proteus软件 三、实验内容及要求 完成以下任务:十字路口的交通灯控制系统,四组灯对应十字路口的四个方向,用两位的数码管显示剩余的时间。 四、实验原理 五、实验过程及原始记录(包括原理图

    2024年02月11日
    浏览(42)
  • 基于单片机的交通灯设计

    本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。随着社会经济的发

    2024年02月06日
    浏览(86)
  • 51单片机的交通灯控制系统(仿真+程序+报告+原理图)

    该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成。 可实现基本功能: 1、红绿灯正常切换,黄灯会闪烁 2、红灯30s,绿灯25s,黄灯5s(时间不同只需修改变量,简单) 按键功能: 1、南北向红灯时间可调,东西向绿灯时间可调 2、东西方向紧急模式:按下东西方向变

    2024年02月05日
    浏览(62)
  • 【Proteus仿真】【STM32单片机】交通灯控制系统设计

    本项目使用Proteus8仿真STM32单片机控制器,使用数码管、按键、交通信号灯模块等。 系统运行后,交通灯系统开始运行,数码管显示初始时间,默认南北绿灯5S,东西红灯8S,绿灯过后南北黄灯3秒;然后切换东西绿灯5S,南北红灯8S,绿灯过后南北黄灯3秒;如此循环。 可使用

    2024年02月11日
    浏览(44)
  • 基于单片机的智能交通灯系统的设计

    目 录 1绪论 1 2课题的设计要求和设计方案 2 2.1设计要求 2 2.1.1 题目概述 2 2.1.2 设计任务 2 2.1.3 设计要求 2 2.2设计方案 2 2.2.1供电方案 2 2.2.2输入方案 3 2.2.3显示界面方案 3 2.2.4交通灯方案 3 2.2.4.1交通灯规则方案 3 2.2.4.2 各种模式下通行时间 5 2.2.5万年历设计方案 5 3芯片的介绍及

    2023年04月08日
    浏览(50)
  • 基于51单片机的简易交通灯仿真代码讲解

    J028 51单片机简易交通灯易懂版_仿真+代码+报告讲解 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 51单片机简易交通灯易懂版仿真代码讲解 状态1:南北方向绿灯通行12秒,东西红灯禁止通行15秒,分别倒计时; 状态2:南北方向黄灯提醒3秒,东西继续红灯倒计时;

    2024年02月02日
    浏览(60)
  • 基于51单片机的交通灯Protues仿真设计

    目录 一、设计背景 二、实现功能 三、 硬件电路设计说明 3.1 主控模块电路设计 3.2 数码管显示电路设计 ​​​​​​​3.3 键盘电路设计 ​​​​​​​3.4 复位电路设计 ​​​​​​​3.5 时钟电路设计 三、仿真演示 四、源程序        交通是城市经济活动的生命线,

    2024年02月09日
    浏览(50)
  • 基于AT89C51单片机的交通灯设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779238?spm=1001.2014.3001.5503 源码获取 主要内容: 在日常生活中,交通灯是一项必不可少的公共设施,可 以维护道路的畅通和交通的秩序。如若交通灯发生故障,那 么后果可想而知。因此,交通灯

    2024年02月08日
    浏览(58)
  • 基于51单片机十字路口红绿灯交通灯+紧急模式

    +无黄灯+紧急 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:J010 十字路口交通灯由红、绿两色LED显示器组成,LED显示器显示切换倒计时,以秒为单位,每秒更新一次;为确保安全,绿LED计数到0转红,经5秒延时(显示红色0)后,另一道开始绿色倒计时。

    2024年02月04日
    浏览(64)
  • 15-基于单片机的交通灯系统设计(原理图+仿真+说明书)

    资料包含:设计全套资料(精品) 原理图工程文件 原理图截图 仿真模型工程文件 仿真截图 说明书19236字 英文文献及翻译 答辩PPT visio流程图工程 资料链接 本设计是基于单片机的交通灯控制系统设计,通过对路口设置的交通指示灯和时间显示装置的控制,给行人和车辆的通

    2024年02月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包