找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7593|回复: 2
打印 上一主题 下一主题
收起左侧

8086+8259+8255交通灯控制系统《微型计算机原理与接口技术》课程设计

[复制链接]
跳转到指定楼层
楼主
ID:444228 发表于 2018-12-11 16:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
物理与电气工程学院

微型计算机原理与接口技术》课程设计

题   目:控制系统设计


基于微机原理交通灯控制系统的设计
摘 要
   随着电子技术的发展,计算机在现代科学技术的发展中起着越来
越重要的作用。多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。本课程设计是基于微机原理与接口技术的简单应用。运用所学的微机原理和接口技术知识完成交通灯系统。通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了现代城市交通控制与管理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的交通灯控制系统的硬件、软件电路设计方案。该系统适用于单主干道的十字路口,。现假定其主干道为东西方向,次干道为南北方向。可随意进行更改双向的通行时间,该功能能实现加中断控制和手动控制的方式进行,红绿灯切换时有闪烁功能以警示车辆和行人将进行红绿灯切换。当有交通堵塞或紧急状况时可进行中断手动控制,使交通安全与交通流畅度得以保证。

前 言

电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。

目录
第一章 交通灯控制系统设计的概述3
第二章 交通灯控制的方案设计4
第三章 交通灯的硬件设计5
      3.1 电路原理.6
       3.2.系统原理.7
           3.2.1 8259A的工作原理8
           3.2.2 8255A的工作原理9
           3.3  程序原理.10
第四章  交通灯控制系统的软件设计.11
         4.1、交通灯控制系统的源程序12
4.2、系统硬件原理图13
第五章   交通灯控制系统的设计总结14
主要参考文献.16

第一章 交通灯控制系统设计的概述

十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受人为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。    目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。

第二章 交通灯控制的方案设计
设计中使用了8259中断控制器、8255A可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:
1.东西方向车辆放行60秒钟。即东西方向绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。
3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行60秒钟。即东西方向的红灯和南北方向的绿灯同时点亮60秒钟;
    4.南北方向放行60秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。
    5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行1分钟。如此循环重复。

第三章 交通灯的硬件设计
3.1电路原理
本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图1所示。硬件电路由R-S触发器电路、发光二极管模块、8255可编程并行接口模块和紧急中断模块8259组成。
实验的对应接线关图系图如下所示:
3.2.系统原理

3.2.1 8259A的工作原理
1、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
2、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。
3、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。
4、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。
5、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚有中断请求时,该寄存器的相应位置1。
6、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。当其中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。
7、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。
8、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。

3.2.2 8255A的工作原理
1、8255A的内部结构:

1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
3) A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。
4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
2、引脚信号
8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
A1, A0(port address):地址线,用来选择内部端口。
(read):读出信号线,低电平有效时,允许数据读出。
(write):写入信号线,低电平有效时,允许数据写入。
RESET(reset):复位信号线,高电平有效时,
将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(port A):A口输入/输出信号线。
PB7~PB0(port B):B口输入/输出信号线。
PC7~PC0(port C):C口输入/输出信号线。
VCC:+5V电源。 GND:电源地线。

3、8255A的 工作方式:
方式0---基本输入输出方式;
方式1---选通输入输出方式;
方式2---双向选通输入输出方式。

3.3  程序原理
交通灯控制系统程序流程图

第四章   交通灯控制系统的软件设计

4.1、交通灯控制系统的源程序

MY8255_A EQU 60H ;方式2 C口低四位
MY8255_B EQU 61H ;     c口低四位输入
MY8255_C EQU 62H;
MY8255_CON EQU 63H

CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,MY8255_CON
MOV AL,82H;方式0;A输出,c口输出,B组方式0,B口输入
OUT DX,AL
PUSH DS   ;进栈 保存数据段
MOV AX,0000H;数据段清零
MOV DS,AX
MOV AX,OFFSET IRQ7  ;;7号中断偏移地址
MOV SI,003CH
MOV [SI],AX
MOV AX,CS
MOV SI,003EH
MOV [SI],AX
POP DS;出栈
IN AL,21H;读8259中断屏蔽字
AND AL,7FH;开放8259中断IRQ7
OUT 21H,AL;输出到8259地址
MOV DX,MY8255_A ;放初值 南北红灯亮,
MOV AL,003H
OUT DX,AL
MOV DX,MY8255_C   ;东西绿灯亮
MOV AL,00CH
OUT DX,AL
CALL DELAYED1 ;延时10s
MOV BX,6H ;循环次数

L1:
MOV DX,MY8255_A
MOV AL,00000011B ;南北绿灯亮
OUT DX,AL
MOV DX,MY8255_C
MOV AL,00001100B ;
OUT DX,AL
CALL DELAYED2 ;跳5s
MOV DX,MY8255_A
MOV AL,00001111B
OUT DX,AL
MOV DX,MY8255_C
MOV AL,00001100B
OUT DX,AL
CALL DELAYED2
DEC BX
JNZ L1 ;闪烁5秒
MOV DX,MY8255_A
MOV AL,00001100B
OUT DX,AL
MOV DX,MY8255_C
MOV AL,00000011B
OUT DX,AL
CALL DELAYED1 ;10s
MOV BX,6H

L2:
MOV DX,MY8255_A
MOV AL,00001100B
OUT DX,AL
MOV DX,MY8255_C
MOV AL,00000011B
OUT DX,AL
CALL DELAYED2 ;闪5s
MOV DX,MY8255_A
MOV AL,00001100B
OUT DX,AL
MOV DX,MY8255_C
MOV AL,00001111B
OUT DX,AL
CALL DELAYED2 ;闪5s
DEC BX
JNZ L2 ;无条件 跳转,循环
JMP START; 无条件 跳转,循环

IRQ7:  MOV DX,MY8255_A                  ;中断服务程序,出现紧急情况
MOV AL,00000011B
OUT DX,AL
MOV DX,MY8255_C
MOV AL,11000011B
OUT DX,AL
CALL DELAYED1;   延时10s
MOV AL,20H
OUT 20H,AL
IRET            ;恢复

DELAYED1:                   ;延时程序10s
MOV AX,30
L3: MOV CX,0FFFFH
LOOP $
DEC AX
JNZ L3
RET

DELAYED2:MOV CX,0FFFFH ;   延时程序5s
LOOP $
RET
CODE ENDS
END START



4.2、系统硬件原理图:


第五章  交通灯控制系统的设计总结
在本次设计中,使用了8259A中断控制器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数码显示模块空缺,会尽快将程序补全,使其具有完整的交通灯功与其他设计相比。
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各60秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在芯片中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。

心得与体会
此次实习可以说是获益匪浅。通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:仔细谨慎,精益求精。在程序中添加了黄灯闪烁,更加醒目。另外加入能够实现各路口绿灯显示时间不同,适应在主干道和支线路口中使用。在系统加电调试中,针对一些问题,熟练掌握了根据原理分步测试,将错误之处缩小的最小范围内。
    通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课本上的知识师机械的,表面的。通过把该算法的内容,算法的执行顺序在计算机上实现,把原来以为很深奥的书本知识变的更为简单,对实验原理有更深的理解。
而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。

完整的Word格式文档51黑下载地址:
基于微机原理交通灯的设计.doc (160 KB, 下载次数: 74)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:780336 发表于 2020-6-17 10:45 | 只看该作者
源代码都不能汇编
回复

使用道具 举报

板凳
ID:780336 发表于 2020-6-17 10:52 | 只看该作者
而且proteus仿真图也不对,好多线都没连
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表