毕业设计基于8086的交通灯控制系统设计论文.docx

上传人:b****2 文档编号:706105 上传时间:2023-04-29 格式:DOCX 页数:29 大小:597.26KB
下载 相关 举报
毕业设计基于8086的交通灯控制系统设计论文.docx_第1页
第1页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第2页
第2页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第3页
第3页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第4页
第4页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第5页
第5页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第6页
第6页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第7页
第7页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第8页
第8页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第9页
第9页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第10页
第10页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第11页
第11页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第12页
第12页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第13页
第13页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第14页
第14页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第15页
第15页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第16页
第16页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第17页
第17页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第18页
第18页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第19页
第19页 / 共29页
毕业设计基于8086的交通灯控制系统设计论文.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计基于8086的交通灯控制系统设计论文.docx

《毕业设计基于8086的交通灯控制系统设计论文.docx》由会员分享,可在线阅读,更多相关《毕业设计基于8086的交通灯控制系统设计论文.docx(29页珍藏版)》请在冰点文库上搜索。

毕业设计基于8086的交通灯控制系统设计论文.docx

毕业设计基于8086的交通灯控制系统设计论文

《微机原理与接口技术(含单片机)》课程设计说明书

设计题目:

基于8086的交通灯控制系统设计

 

姓名

专业

机械设计制造及其自动化

班级

13机械

学号

指导教师

宋雷

提交日期

2015年7月

《微机原理与接口技术(含单片机)》课程设计任务书

1.任务要求

设计一个基于8086/8088CPU的一个交通信号灯控制系统,要求能完成基本的交通灯控制,如红、绿、黄三种灯的定时交替点亮与熄灭;要求学生了解8086/8088微型计算机控制系统的基本设计方法与思路,能独立查阅资料并汇总,具备一定的控制系统设计能力,掌握绘制电路原理图的能力,能编写一定难度的汇编程序并调试。

十字路口4个方向的红、黄、绿灯点亮时间如图所示。

2.设计说明书应包括以下内容

(1)系统设计任务分析

(2)系统总体设计方案

(3)选用芯片依据及介绍

(3)系统硬件电路设计

(6)控制程序流程图

(7)控制程序

(8)程序编辑和调试

 

摘要

运用了8086CPU芯片以及8255A芯片、8253芯片和数码管等辅助硬件电路,进行了数码管倒计时的设计。

进行了软件设计并编写了源程序。

交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

本系统采用8086为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展强。

本设计就是采用8086最小方式下在软件下模拟十字路口交通灯的各种状态显示以及倒计时显示时间。

本设计系统由8255AI/O口扩展系统、交通灯状态显示系统、LED数码显示系统等几大部分组成。

系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。

本系统采用8086汇编语言编写,主要编写了主程序,LED数码管显示程序等。

总体上完成了软件的编写。

 

关键词:

8255A寄存器;8086微机系统;带倒计时功能的交通灯

 

第一章交通灯控制系统总体方案设计

1.1任务分析

通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

使学生进一步掌握微型计算机应用系统的硬、软件开发方法,输入/输出(I/O)接口技术,应用程序设计技术,并能结合专业设计简单实用的微型计算机应用系统。

针对课堂重点讲授内容使学生加深对微型计算机硬件原理的理解及提高汇编语言程序设计的能力,为以后的毕业设计搭建了微机系统应用平台,提高学生的开发创新能力。

1.2总体方案设计

本设计是基于Windows环境下的软件,在其中进行硬件电路的的设计,汇编语言源程序的编写以及以上两部分工作完成后的软件系统的调试。

本设计的处理控制系统由Intel8086微处理器在最小模式下组成的单处理器系统构成,用来进行对外围硬件电路进行信息采集、数据处理和控制。

1.3选用芯片介绍

芯片8255介绍

8255的内部结构

图1.18255A的结构框图

8255A是一个40引脚的双列直插式集成电路芯片

按功能可把8255A分为三个逻辑电路部分,即:

口电路、总线接口电路和控制逻辑电路。

(1)口电路

8255A共有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。

而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。

数据传送中A口所需的控制信号由C口高位部分(PC7~PC4)提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3~PC0)合在一起称之为B组。

(2)总线接口电路

总线接口电路用于实现8255A和单片微机的信号连接。

其中包括:

(a)数据总线缓冲器

数据总线缓冲器为8位双向三态缓冲器,可直接和80C51的数据线相连,与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。

(b)读/写控制逻辑

与读写有关的控制信号有

—片选信号(低电平有效)

—读信号(低电平有效)

—写信号(低电平有效)

A0、A1—端口选择信号。

8255A共有四个可寻址的端口(即A口、B口、C口和控制寄存器),用二位地址编码即可实现选择。

参见下表1.1。

表1.18255A控制信息和传输动作的对应关系

RESET—复位信号(高电平有效)。

复位之后,控制寄存器清除,各端口被置为输入方式。

读写控制逻辑用于实现8255A的硬件管理:

芯片的选择,口的寻址以及规定各端口和单片微机之间的数据传送方向。

(c)控制逻辑电路

控制逻辑电路包括A组控制和B组控制,合在一起构成8位控制寄存器。

用于存放各口的工作方式控制字

8255A工作方式及数据I/O操作

(1)8255A的工作方式

8255A共有三种工作方式,即方式0、方式1、方式2.

(a)方式0基本输入/输出方式

方式0下,可供使用的是两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。

四个口可以是输入和输出的任何组合。

方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。

(b)方式1选通输入/输出方式

A口和B口分别用于数据的输入/输出。

而C口则作为数据传送的联络信号。

具体定义见表1–2。

可见A口和B口的联络信号都是三个,如果A或B只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。

如果两个口都按方式1使用,则还剩下2位口线,这两位口线仍然可以进行位状态的输入输出。

方式1适用于查询或中断方式的数据输入/输出。

(c)方式2双向数据传送方式

只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。

在这种方式下需使用C口的五位线作控制线,信号定义如表1.2所示。

方式2适用于查询或中断方式的双向数据传送。

如果把A口置于方式2下,则B口只能工作于方式0.

(2)数据输入操作

用于输入操作的联络信号有:

STB(StroBe)—选通脉冲,输入,低电平有效。

当外设送来STB信号时,输入数据装入8255A的锁存器。

IBF(InputBufferFull)—输入缓冲器满信号,输出,高电平有效。

IBF信号有效,表明数据已装入锁存器,因此它是一个状态信号。

INTR(INTerruptRequest)—中断请求信号,高电平有效,当IBF数据输入过程:

当外设准备好数据输入后,发出信号,输入的数据送入缓冲器。

然后IBF信号有效。

如使用查询方式,则IBF即作为状态信号供查询使用;如使用中断方式,当信号由低变高时,产生INTR信号,向单片微机发出中断。

单片微机在响应中断后执行中断服务程序时读入数据,并使INTR信号变低,同时也使IBF信号同时变低。

以通知外设准备下一次数据输入。

(3)数据输出操作

用于数据输出操作的联络信号有:

ACK(ACKnowledge)—外设响应信号输入,低电平有效。

当外设取走输出数据,并处理完毕后向单片微机发回的响应信号为高,信号由低变高(后沿)时,中断请求信号有效。

向单片微机发出中断请求。

OBF(OutputBufferFull)——输出缓冲器满信号,输出,低电平有效。

当单片微机把输出数据写入8255A锁存器后,该信号有效,并送去启动外设以接收数据。

INTR—中断请求信号,输出,高电平有效。

数据输出过程:

外设接收并处理完一组数据后,发回ACK信号。

该信号使OBF变高,表明输出缓冲器已空。

如使用查询方式,则OBF可作为状态信号供查询使用;如使用中断方式,则当ACK信号结束时,INTR有效,向单片微机发出中断请求。

在中断服务过程中,把下一个输出数据写入8255A的输出缓冲器。

写入后OBF有效,表明输出数据已到,并以此信号启动外设工作,取走并处理8255A中的输出数据。

表1.28255AC口联络信号定义

表1.28255AC口联络信号定义

图1.28255A引脚图

2.8253定时计数器

图1.38253内部结构框图

图1.48253引脚图

8253内部可分为6个模块,每个模块的功能如下:

1.数据总线缓冲器及数据总线D0~D7

2.读/写控制逻辑及控制引脚

表1.3寄存器选择和控制操作表

A1A0

I/O地址

读操作

写操作

000

001

010

011

40H

41H

42H

43H

读计数器0

读计数器1

读计数器2

无操作

写计数器0

写计数器1

写计数器2

写控制字

3.控制字寄存器

在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方式。

8253的控制字:

8253的工作方式也是有控制字来决定,其控制字意义如下

图1.58253的控制字

4.计数通道0、计数通道1、计数通道2

3个计数通道内部结构完全相同。

每个计数通道都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成

计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。

输出锁存器用于写入锁存命令时,锁定当前计数值。

计数器的3个引脚说明:

(1)CLK时钟输入信号

在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1

(2)GATE门控输入信号

控制计数器工作,可分成电平控制和上升沿控制两种类型

(3)OUT计数器输出信号

当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号

8253有6种工作方式,由方式控制字确定

区分这6种工作方式的主要标志由3点:

一是输出波形不同;二是启动计数器的触发方式不同;三是计数过程中门控信号GATE对计数器操作的控制不同。

1..方式0--低电平输出(GATE信号上升沿继续计数)

2.方式1--低电平输出(GATE信号上升沿重新计数)

3.方式2--周期性脉冲输出

4.方式3--周期性方波输出

OUT输出低电平,装入计数值n后,OUT立即跳变为高电平。

如果当前GATE为高电平,则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才重新置入计数值n,实现循环计数。

这时OUT端输出周期为n×CLK周期,占空比为1:

1的方波序列:

若n为奇数,则OUT端输出周期为n×CLK周期,占空比(n+1)/2:

(n-1)/2的近似方波序列。

5.方式4--单次负脉冲输出(软件触发)

6.方式5--单次负脉冲输出(硬件触发)

每种工作方式的设置过程类似:

1设定工作方式

2设定计数初值

3硬件启动

4计数初值进入减1计数器

5每输入一个时钟计数器减1的计数过程

6计数过程结束

第二章交通灯控制系统硬件电路设计

2.1硬件电路设计

(1)电路结构框图

图2.1电路结构框图

8255与8253的数据线D0-D7连接到8086的数据线AD0-AD7,8086的地址线与译码器74LS138连接,再通过译码器片选8255与8253。

8255的PA0-PA5与交通灯连接,8253连接1MHZ的晶振。

(2)8253的连接图

图2.28253连接图

8253的D0-D7与8086的AD2-AD9对应连接,两个8253分别与译码器74LS138的Y1,Y2连接,且8253的A0,A1口与8086的AD0,AD1口连接,CLK口全部连接到晶振,晶振一端接5V电压,GATE端全部连接5V电压。

(3)8255的连接图

图2.38255的连接图

8255的D0-D7与8086的AD2-AD9对应连接,PA0-PA6连接上不同的交通灯,8255的A0,A1口与8086的A1,A2口连接。

74LS138译码器的Y0接口连接到8255的CS片选端,RESET,RD,WR的8086与8255对应连接。

(4)硬件电路图

图2.4硬件电路图

2.2与硬件电路相关的参数确定

由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的、线分别与8086CPU的、线相连,而将8086的线作为选通信号。

如果是按8255A内部地址来看,则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),命令控制口地址为(CS+003H),其中,CS为8255片选信号

的首地址;若是按8086CPU地址来看,则8255A的地址是PA口地址即(CS+000H),PB口地址为(CS+002H),PC口地址为(CS+004H),命令控制口地址为(CS+006H)。

当CS=0288H,则PA口地址为0288H,PB口地址为028AH,PC口地址为028CH,命令控制口地址为028EH。

(1)

引脚:

通常用此引线产生片选信号,当为

=1,

=0编码时,在数据总线低8位和偶地址之间进行字节传送(~)。

(2)CLK(Clock)时钟信号(输入):

CLK为CPU和总线控制器提供基本的定时脉冲。

时钟周期是非对称的,当它为有效高电平的时间和时钟周期的比为33%时,提供最佳的内部定时。

由8284时钟发生器产生,8086CPU使用的时钟频率,因芯片型号不同,时钟频率不同。

这里采用5MHz。

(3)(+5V),GND(地):

CPU所需电源=+5V。

GND为地线。

(4)RESET:

复位信号,输入,高电平有效。

8086接到复位信号后,停止现行操作,并初始化段寄存器DS,SS,ES,标志寄存器PSW,指令指针IP和指令队列,而使CS=FFFFH。

RESET信号至少保持四个周期以上的高电平,当它变为低电平时(一个下降沿),CPU执行重启过程,8086将从地址FFF0H开始执行指令。

通常FFFF0H单元开始的几个单元中存放一条JMP指令,将入口转到引导和装配程序中,从而实现对系统的初始化,引导监控程序或操作系统程序。

由于出现突然断电或其它情况时,8086可能正在执行交通灯程序,现有的地址丢失,应按下RESET键重新开始。

(5)MN/

(Minimun/Maximun):

最小、最大工作模式选择信号,输入。

此时MN/

接+5V,构成单处理器系统,系统控制信号由CPU提供。

第三章交通灯控制系统软件设计与调试

3.1控制程序流程分析

流程图

图3.1流程图

3.2控制程序的编写

(1)数据和地址定义程序:

DATASEGMENT

PAEQU00H

PBEQU02H

PCEQU04H

P8255EQU06H

P0EQU10000H

P1EQU10002H

P2EQU10004H

P8253EQU10006H

DATAENDS

(2)堆栈定义程序:

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE

(3)代码段定义程序:

INIT:

MOVAX,DATA

MOVDS,AX

MOVDX,P8253

MOVAL,36H

OUTDX,AL

MOVDX,P0

MOVAX,2710H

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,P8253

MOVAL,71H

OUTDX,AL

MOVDX,P8253

MOVAL,96H

OUTDX,AL

MOVDX,P2

MOVAL,64H

OUTDX,AL

MOVDX,P8255

MOVAL,80H

OUTDX,AL

MOVDX,PA

MOVAL,0

OUTDX,AL

MOVDX,PB

MOVAL,0FH

OUTDX,AL

MOVDX,PC

MOVAL,0FH

OUTDX,AL

(4)交通灯控制程序:

HMQ:

MOVDX,PA

MOVAL,0A0H

OUTDX,AL

MOVDX,PB

MOVAL,0F0H

OUTDX,AL

MOVDX,PC

MOVAL,50H

OUTDX,AL

MOVDX,P1

MOVAX,0BB8H

OUTDX,AL

MOVAL,AH

OUTDX,AL

HMQ1:

MOVAL,0

MOVDX,P8255

MOVAL,90H

OUTDX,AL

MOVDX,PA

INAL,DX

ANDAL,0FH

CMPAL,1

JNZHMQ1

H1:

MOVDX,P8255

MOVAL,80H

OUTDX,AL

MOVDX,PC

MOVAL,0F0H

OUTDX,AL

MOVDX,PB

MOVAL,50H

OUTDX,AL

MOVCX,0

HQ1:

MOVDX,P8255

MOVAL,82H

OUTDX,AL

MOVDX,PB

INAL,DX

ANDAL,0FH

MOVAH,AL

MOVDX,P8255

MOVAL,82H

OUTDX,AL

MOVDX,PB

INAL,DX

ANDAL,0FH

XORAL,AH

ADDCL,AL

CMPCL,9

JNZHQ1

MOVDX,P8255

MOVAL,80H

OUTDX,AL

MOVDX,PA

MOVAL,50H

OUTDX,AL

MOVDX,PB

MOVAL,0F0H

OUTDX,AL

MOVDX,PC

MOVAL,0A0H

MOVDX,P1

MOVAX,0BB8H

OUTDX,AL

MOVAL,AH

OUTDX,AL

HMQ2:

MOVAL,0

MOVDX,P8255

MOVAL,90H

OUTDX,AL

MOVDX,PA

INAL,DX

ANDAL,0FH

CMPAL,1

JNZHMQ2

H2:

MOVDX,P8255

MOVAL,80H

OUTDX,AL

MOVDX,PC

MOVAL,0F0H

OUTDX,AL

MOVDX,PB

MOVAL,0A0H

OUTDX,AL

HQ2:

MOVDX,P8255

MOVAL,88H

OUTDX,AL

MOVDX,PC

INAL,DX

ANDAL,0FH

MOVAH,AL

MOVDX,P8255

MOVAL,88H

OUTDX,AL

MOVDX,PC

INAL,DX

ANDAL,0FH

XORAL,AH

ADDCL,AL

CMPCL,9

JNZHQ2

CODEENDS

ENDHMQ

3.3控制程序的调试

该程序控制的交通灯能够指挥车辆和行人安全通行,实时的控制交通时间。

正常情况下分四个通行状态。

其中最后三秒有黄灯提示,当出现特种车辆时,能够及时为特种车辆放行,在各个方向车辆不等时,能够为特定方向的车辆控制通行时间。

经过仿真模拟实验,该系统得到了预期的实时控制效果。

初始是东西直通、南北行人,延时20秒,(到达5秒时均同时启用黄灯提示),转状态2,南北左右转向、东西右转,延时20秒,转状态3,南北直通、东西行人,延时20秒,转状态4,东西左右转、南北右转,延时20秒。

再次,一般交通信号灯控制程序中使用软件延时,软件延时是靠执行一个循环程序以进行时间延迟。

软件定时的特点是时间精确。

 

设计心得

经过这两周的课程设计,做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲,怎么样用8282这个地址锁存器来存储高位地址和低位地址以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.

如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学的时候心里有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,所以你不容易忘记!

 

参考文献

[1]张毅刚.微机原理及接口技术.哈尔滨:

哈尔滨工业大学出版社,1990

[2]许立梓.微型计算机原理及应用[M].北京:

机械工业出版社,2011.

[3]杨季文.80X86汇编语言程序设计教程[M].北京:

清华大学出版社,2009.

[4]许立梓.习题解答、实验指导及课程设计[M].北京:

机械工业出版社,2004.

[5]李朝青.微机原理及接口技术(修订版).北京:

北京航空航天大学1998

[6]李广弟.微机基础.北京:

北京航空航天大学出版社,1992

[7]何立民.微机应用技术大全.北京:

北京航空航天大学出版社,1994

[8]张毅刚.微机原理及接口技术.哈尔滨:

哈尔滨工业大学出版社,1990

附录:

控制系统程序

DATASEGMENT

PAEQU00H

PBEQU02H

PCEQU04H

P8255EQU06H

P0EQU10000H

P1EQU10002H

P2EQU10004H

P8253EQU10006H

DATAENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE

INIT:

MOVAX,DATA

MOVDS,AX

MOVDX,P8253

MOVAL,36H

OUTDX,AL

MOVDX,P0

MOVAX,2710H

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,P8253

MOVAL,71H

OUTDX,AL

MOVDX,P8253

MOVAL,96H

OUTDX,AL

MOVDX,P2

MOVAL,64H

OUTDX,AL

MOVDX,P8255

MOVAL,80H

OUTDX,AL

MOVDX,PA

MOVAL,0

OUTDX,AL

MOVDX,PB

MOVAL,0FH

OUTDX,AL

MOVDX,PC

MOVAL,0FH

OUTDX,AL

HMQ:

MOVDX,PA

MOVAL,0A0H

OUTDX,AL

MOVDX,PB

MOVAL,0F0H

OUTDX,AL

MOVDX,PC

MOVAL,50H

OUTDX,AL

MOV

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

当前位置:首页 > 法律文书 > 调解书

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

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