微机交通灯课程设计报告Word文件下载.docx

上传人:b****8 文档编号:22130370 上传时间:2023-02-02 格式:DOCX 页数:14 大小:99.19KB
下载 相关 举报
微机交通灯课程设计报告Word文件下载.docx_第1页
第1页 / 共14页
微机交通灯课程设计报告Word文件下载.docx_第2页
第2页 / 共14页
微机交通灯课程设计报告Word文件下载.docx_第3页
第3页 / 共14页
微机交通灯课程设计报告Word文件下载.docx_第4页
第4页 / 共14页
微机交通灯课程设计报告Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机交通灯课程设计报告Word文件下载.docx

《微机交通灯课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机交通灯课程设计报告Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

微机交通灯课程设计报告Word文件下载.docx

两个车道的车都应停止, 

让紧急车辆通过。

因此如何合理高效地利用交通灯指示交通情况,是一个亟需解决的问题。

交通灯是采用计算机通过编写汇编语言程序控制的。

红灯停,绿灯行的交通规则。

广泛用于十字路口,车站, 

码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 

交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。

诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。

还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。

或者给红绿色盲声音警示的人性化设计。

现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。

当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。

要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。

因此,研究交通灯及扩大其应用,有着非常现实的意义》

2,8255A的工作原理

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的工作方式:

方式0---基本输入输出方式;

方式1---选通输入输出方式;

方式2---双向选通输入输出方式。

引脚信号

8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。

D7~D0(databus):

三态、双向数据线,与CPU数据总线连接,用来传送数据。

(chipselect):

片选信号线,低电平有效时,芯片被选中。

A1,A0(portaddress):

地址线,用来选择内部端口。

(read):

读出信号线,低电平有效时,允许数据读出。

(write):

写入信号线,低电平有效时,允许数据写入。

RESET(reset):

复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。

PA7~PA0(portA):

A口输入/输出信号线。

PB7~PB0(portB):

B口输入/输出信号线。

PC7~PC0(portC):

C口输入/输出信号线。

VCC:

+5V电源。

GND:

电源地线。

3.实验程序流程 

初始化

设置8255各口为输出

清LED

四灯全红延时

南北绿灯,东西红灯,延时

绿灯闪三次

南北黄灯,延时

南北红灯,东西绿灯,延时

东西黄灯,延时

4.电路原理图如下:

5.Pcb图:

6.程序代码:

;

-----------数码管-----------------------

PA55EQU0200H;

8255PA口地址

PC55EQU0202H;

8255PC口地址

P55CTLEQU0203H;

8255控制口地址

-----------LED灯----------------------

PB55EQU201H

D1EQU10H

D2EQU50H

DATASEGMENT

PBDB?

DATAENDS

STACKSEGMENTSTACK

STADW50DUP(?

);

加大点

TOPEQULENGTHSTA

STACKENDS

-----------开始-----------------

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

START:

PUSHCS

POPDS

MOVDX,P55CTL;

设置8255口为输出口

MOVAL,80H;

8255控制字

OUTDX,AL

---------LED----------------------

MOVDX,204H

MOVAL,00H

OUTDX,AL;

MOVDX,PB55;

全红

MOVAL,0FH

MOVBX,7fH

CALLDLY

;

CALLBEGIN

CALLWRITE2;

调用数码管过程

BG:

MOVAL,96H;

南北绿,东西红

MOVBX,D2

调用程序前可能要堆栈子程序中要用到原来程序的某寄存器,调用后要恢复

CALLDJS;

计数

JMPXH1

MOVCX,03H

JNZXH1

XH1:

MOVAL,9FH;

绿灭

MOVBX,D1

绿亮

LOOPXH1

MOVAL,06H;

南北黄

MOVAL,69H;

南北红,东西绿

CALLDJS

MOVCX,03

XH2:

MOVAL,6FH

MOVAL,69H

LOOPXH2

MOVAL,09H

JMPBG

倒计时-----------------------------------

DJSPROCNEAR

PUSHDX

PUSHCX

PUSHAX

PUSHBX

BEGIN:

MOVAL,0

MOVCH,0

WRITE2:

MOVAH,AL

LEABX,LED;

LEA取偏移地址指令

XLAT;

XLAT:

字节查表转换;

把待查表格的一个字节内容送到AL累加器中;

在执行该指令前,应将TABLE先送至BX寄存器

MOVCL,8H;

分八位写一个LED

-----------164驱动---------------------------------

WRITE1:

MOVDX,PA55

PUSHAX

MOVDX,P55CTL;

利用8255PC5口控制DCLK,使DCLK产生一低电平到高电平的跳变

MOVAL,0AH;

PC5置“0”

OUTDX,AL

MOVAL,0BH;

PC5置“1”

OUTDX,AL

POPAX

RCRAL,1

DECCL

CMPCL,0

JNZWRITE1

CALLDELAY

MOVAL,AH

INCAL

INCCH

CMPCH,0AH;

循环10次

JBEWRITE2;

调用数码管过程

POPDX

POPCX

POPBX

RET

DJSENDP

JMPBEGIN

---------延时1S--------------------

DELAYPROCNEAR

PUSHCX

MOVBL,24

M2:

MOVCX,2810H

LOOP$

DECBL

JNZM2

POPCX

RET

DELAYENDP

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

DLYPROCNEAR;

延时

DDD:

MOVCX,0FFFH

CCC:

LOOPCCC

DECBX

CMPBX,0

JNEDDD

DLYENDP

CODEENDS

-----------数码管编码----------------------

LED:

DB09H,01H,1FH,41H,49H,99H,0DH,25H,9FH,03H

9876543210

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

ENDSTART

7.体会:

字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。

十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。

当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。

它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。

在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;

要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。

交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。

但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。

采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。

它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。

目前,有一种使用“模糊控制”技术控制交通灯的方法。

能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。

但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。

本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。

此次实习可以说是获益匪浅。

通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:

仔细谨慎,精益求精。

在程序中添加了黄灯闪烁,更加醒目。

另外加入能够实现各路口绿灯显示时间不同,适应在主干道和支线路口中使用。

在系统加电调试中,针对一些问题,熟练掌握了根据原理分步测试,将错误之处缩小的最小范围内。

通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课本上的知识师机械的,表面的。

通过把该算法的内容,算法的执行顺序在计算机上实现,把原来以为很深奥的书本知识变的更为简单,对实验原理有更深的理解。

而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。

把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。

以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。

课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。

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

当前位置:首页 > 求职职场 > 笔试

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

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