




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术课程设计报告 题目 十字路口交通灯设计 系 别 年 级 09 专业 班 级 学号 学生姓名 指导教师 职 称 讲 师 设计时间 2011.12.27 目 录第一章 系统设计11.1题目要求11.2 方案论证11.3实施方案31.4 原理及说明3第二章 硬件设计42.1硬件结构42.2 硬件单元电路及相关说明52.2.1 8086的功能引脚图52.2.2可编程并行通信接口芯片8255A6第三章 软件设计93.1 设计流程图93.2 交通灯波形图103.3模块分析(流程图与部分核心代码及相关说明)103.3.1 8255A工作方式初始化及读取B端口的数据103.3.2 南北方向红绿灯工作情况113.3.3 东西方向红绿灯工作情况11第四章 系统调试134.1调试手段134.2 调试过程中的问题134.3解决办法14第五章 总 结15参考文献16第一章 系统设计1.1题目要求(PS下面有些看不清楚地,你只要用word2003打开就可以看到了,)一、任务:掌握通过8255A并行口传输数据的方法,以控制发光二级管的亮与灭。二、要求:用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。1.2 方案论证方案一:1.在某一南北方向和东西方向的十字路口,每个方向都有红,黄,绿三色交通信号灯,要求信号灯按下列规则变化:(1)首先使某一方向绿灯亮,另一方向红灯亮。当出现下述情况之一时,开始变灯:其一是红灯已亮30S;其二是红灯路口停留的车辆已达五辆。(2)变灯应遵循的规律:首先使绿灯闪烁5S(注:0.5S灭,0.5S亮,重复5次),接着绿灯灭,黄灯亮5S后,使得黄灯灭,红灯亮,紧接着使另一方向的红灯变为绿灯。在一个方向由绿灯变红灯的过程中,另一方向的红灯保持不变。初始化8255的工作方式东西方向红绿灯工作南北方向红绿灯工作初始化8253的工作方式图1-18255A和8253工作流程图2.画出硬件框图,编写控制程序。提示:用8253来实现定时和检测车辆。用8255A某一断口的6根线控制交通灯。对于检测车辆,假设另有传感器电路进行配合,此传感器电路每当有一辆车时,会发出一个脉冲信号。图1-2交通灯硬件控制框图方案二:(1) 通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。(2) 要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口1、3路口为南北方向2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口的方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。(3) 程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。(4) 各发光二级管共阳极,使其点亮应使8255A相应端口的位清0.初始化8255的工作方式东西方向红绿灯工作南北方向红绿灯工作图1-3红绿灯工作流程图1.3实施方案 经小组讨论后决定采用第二个方案,因为设计出来的程序是产品,是要出售,面向用户的,用户一般所需求的东西是物美价廉的,因此,方便,简单,低价格是设计所需要考虑的。方案二比方案一少用一个8253芯片,而且代码也相差不大,符合上述考虑,因此决定使用方案二。1.4 原理及说明在本次课程设计当中,本次设计采用的是软件定时(即通过汇编指令)实现的。而灯的亮与灭以及闪烁是用8255的B口和C口控制的,工作方式0,B口和C口均为输出。并行接口是以数据的字节的单位与I/O设备或控制对象之间传递信息。CPU和接口之间的数据传送是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5单电源供电,能在以下三种方式下工作:方式0基本输入/输出方式。方式1选通输入/输出方式。方式2双向选通工作方式。由于实验中所用到的发光二级管是共阳极的,如图2-1所示,所以在为8255的B口和C口写数据时,对应的每一位有:0代表灯亮,1代表灯灭。 第二章 硬件设计2.1硬件结构交通灯在每天的变化规律并不相同,此课程设为了简化,只考虑了交通灯正常时的变化规律,即有如下规律变化:程序一开始,四个方向的灯全为红灯,接着变为黄灯闪烁,然后东西方向为红灯,南北方向为绿灯但不显示倒计时时间,倒计时间结束后,交通灯变成黄灯,闪烁几次后,东西方向变成绿灯,南北变成红灯,再变成黄灯,如此按交通灯的变化规则交替变化,采用的是为各个灯设置固定的亮持续时间。将8255A的RE和WR非信号端分别与8086的两个端口相对应连接起来,8255A的数据线和8086的数据端口相连接,RE和WR非信号都是8086发出的控制信号,当进行读数据时,从8255A传送到8086,如果为写信号时,由8086写向8255A。PC端口的低四位(PC0-PC3)分别设置为1,2,3,4路口的红灯;PC端口高四位(PC4-PC7)分别设置为1,2,3,4路口的绿灯;PB端口的高四位(PC4-PC7),分别置为1,2,3,4路口的黄灯。图2-1 实验原理硬件结构图2.2 硬件单元电路及相关说明2.2.1 8086的功能引脚图图2-2 8086引脚图通用引脚:1. GND(地)和Vcc电源。Vcc引脚接+5V电源, GND引脚接地。2. AD15AD0(Address Data Bus)地址/数据复用引脚,双向、三态。3. A19/S6A16/S3(Address/Status)地址/状态复用引脚,输出、三态。4. BHE/S7(Bus High Enable/Status)高8位数据线允许/状态复用引脚,输出、三态。5NMI(Non-Maskable Interrupt)非屏蔽中断请求引脚,输入,不受IF影响。6INTR(Interrupt Request)可屏蔽中断请求引脚,输入、高电平有效。7RD(Read)读信号,输出、三态、低电平有效。8CLK(Clock)时钟输入引脚。9RESET(Reset)复位引脚,输入、高电平有效。至少需要4个时钟周期的高电平。10READY(Ready)准备好引脚,输入、高电平有效。11.TEST(Test)测试引脚,输入、低电平有效,和WAIT指令结合使用。12.MN/MX(Minimum/Maximum Mode Control)最小/最大模式控制引脚,输入。2.2.2可编程并行通信接口芯片8255A1.8255的内部逻辑结构图2-3 8255内部逻辑结构图从图中可知,8255A由以下三部分组成:(1) 外设接口部分(数据端口A、B、C)1) 端口A。端口A内部包含一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器。2) 端口B。端口B内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。3) 端口C。端口C内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。通过向芯片写入方式选择控制字,端口C可以被分成两个4位端口。(2) 内部逻辑(A组和B组控制电路)这两组控制电路,根据芯片内部的控制寄存器内容(存放着CPU输出的方式选择控制字)和“读/写控制逻辑”发出的读/写命令,控制两组端口的工作方式和读/写操作。A组控制电路控制端口A、端口C高4位(PC7PC4)。B组控制电路控制端口B、端口C低4位(PC3PC0)。(3)CPU接口部分1) 读/写控制逻辑电路 地址线A1和A0、CS(片选)、RD(读控制)、WR(写控制)、RESET(复位)信号的组合,用来控制8255A进行数据信息、状态信息和控制信息的传输。2) 数据总线缓冲器 它是一个8位的双向三态数据缓冲器,它是8255A与CPU数据总线的接口,所有数据的输入/输出,以及CPU用输出指令向8255A发出的控制字和用输入指令向8255A发出的控制字和用输入指令从8255A读入的外设状态信息,都是通过这个缓冲器传送的。2. 8255A的控制字1) 方式选择控制字D7D6D5D4D3D2D1D0特征位A组方式00=方式001=方式110=方式211=不用PA0=输出1=输入PC470=输出1=输入B组方式0=方式01=方式1PB0=输出1=输入PB0=输出1=输入PC030=输出1=输入注:8255A有三种工作方式方式0基本的输入/输出方式特点:a) 两个8位端口A、B及两个4位端口(端口C的高4位、低4位)中的任一端口,均可以作为输入端口或输出端口,且各端口均是独立的。b) 四个端口的输入或输出,可以有16种不同的组合,故可以适用于多种用途。c) 各端口输入时无锁存,输出时有锁存。方式1选通的输入/输出方式特点:a) 两个8位数据输入/输出端口(均带锁存功能)A和B,在端口C 的配合下工作。b) 端口C中有3位用于端口A的输入/输出控制,另有三位用于端口B的输入/输出控制,并且均提供中断逻辑。c) 若只有一个数据端口工作在方式1,那么另一个数据端口及端口C余下的五位可工作于方式0;若两个数据端口都工作于方式1,那么端口C余下的两位仍可由程序指定作为输入或输出位,也可进行置位/复位操作。方式2双向传输方式 特点: 只有A口可以工作在双向方式当A口工作在双向方式时,B口可以工作在基本型I/O(不需要联络线),也可以工作在选通型I/O(使用PC0、1、2做联络线)2) 端口C置位/复位控制字0D6D5D4D3D2D1D0 端口C置位、复位标志 任意值 端口C位选择 0复位,1置位第三章 软件设计3.1 设计流程图图3-1交通灯设计流程图3.2 交通灯波形图当南北方向绿灯亮时,东西方向红灯亮,当南北方向绿灯亮10秒后,南北方向黄灯亮,2秒后,转为东西方向绿灯亮,南北方向红灯亮,红灯亮12秒过程中,东西方向绿灯亮10秒后转为黄灯亮,黄灯亮2秒。南北向红灯黄灯绿灯12s10s15s东西向红灯黄灯绿灯15s10s图3-3 红绿灯工作波形图3.3模块分析(流程图与部分核心代码及相关说明)3.3.1 8255A工作方式初始化及读取B端口的数据通过PC端口初始化8255A芯片,使A,B,C三个端口都处于输出状态,读取端口B的工作状态,将东西方向和南北方向的黄灯都处于熄灭状态,红灯处于工作状态。MOV AL,82H MOV DX,IOCONPT ;写8255的控制字OUT DX,ALMOV DX,IOBPT ;读取B口的状态 IN AL,DXMOV BYTE PTR DS:0601H,ALMOV DX,IOCONPTMOV AL,80H ;写8255的控制字为80HOUT DX,AL 图3-1 8255A初始化3.3.2 南北方向红绿灯工作情况点亮1,3口(南北方向)的绿灯,2,4口的红灯继续点亮,经过一段时间后,熄灭1,3口的绿灯,黄灯开始闪烁。MOV DX,IOCPT MOV AL,B;写端口C MOV CX,8 ;起延时作用OUT DX,ALCALL DELAY1 ;延时CALL DELAY1OR AL,0F0H;AL高八位置1,熄灭1,3口绿灯 图3-2南北方向红绿灯工作3.3.3 东西方向红绿灯工作情况2,4口(东西方向)的黄灯点亮,接着绿灯点亮,1,3口的红灯点亮,2,4口黄灯闪烁,红灯全亮。MOV DX,IOBPT MOV AL,DS:0601HAND AL,B ;写端口B,将B6,B4置0 OUT DX,ALCALL DELAY2OR AL,B ;PC7、PC5置0,即2、4路口黄灯亮OUT DX,AL LOOP IOLED1 图 3-3东西方向红绿灯的工作MOV DX,IOCPTMOV AL,0F0H OUT DX,AL CALL DELAY2MOV AL,B ;C口为0F0H即红灯亮,绿灯灭OUT DX,AL第四章 系统调试 4.1调试手段 软件调试:调试工具:dice80881.利用dice8088完成代码的编辑,编译与连接(执行菜单项:“调试”,“编译程序”)。2.编译连接通过的程序通过RS323串口装载置实验硬件系统中(执行菜单项:“调试”-“编译程序”)。此操作必须在PC机与实验箱通信正常连接的前提下进行(在dice8088应用程序中状态栏中有联机信息);造成联机时报的原因有:串口线未连接(重新连接串口线);通信数据出错(关闭试验箱电源和dice8088应用程序,然后先打开实验箱电源,再执行dice8088应用程序);硬件系统哦那个处于非接收状态(只有在实验箱上的第一位数码管显示P. 时方可装载程序,可通过按实验箱上的复位按钮使其恢复到P.状态);3.运用程序:方法一、通过dice8088应用程序控制实验箱中得程序运用(执行菜单项;”调试”-“连续运行”);方法二、通过实验箱的小键盘运行程序,先在P.状态下输入代码起始地址(本程序的起始地址为:11B0),后按小键盘上的执行按钮(EX),此时数码管的最高位显示程序运行提示符“”。在“”提示符下,PC机时无法实现对实验箱进行程序装载的,只有使实验箱恢复到“P.”方可装载;4.2 调试过程中的问题1) A,B,C三个端口如何分配红绿灯2) 如何读取8255A三个端口的内容3) 8255A的B端口没有赋初始值,程序怎么运行4) 对于红绿灯的延时不清楚4.3解决办法1) 问题一:A,B,C三个端口如何分配红绿灯 解决方案:PC端口的低四位(PC0-PC3)分别设置为1,2,3,4路口的红灯;PC端口高四位(PC4-PC7)分别设置为1,2,3,4路口的绿灯;PB端口的高四位(PC4-PC7)分别置为1,2,3,4路口的黄灯。2) 问题二:如何读取8255A三个端口的内容解决方案:MOV DX,IOBPT ;读取B口的数据 IN AL,DX3) 问题三:8255A的B端口没有赋初始值,程序怎么运行解决方案:我们只需要B端口的高四位,所以MOV DX,IOBPTMOV AL,DS:0601HOR AL,0F0H ;黄灯全灭OUT DX,AL4) 问题四:对于红绿灯的延时不清楚解决方案: PUSH AX PUSH CX MOV CX,0030H第五章 总 结在微机原理实验考试结束后的一周时间里,我们进行了微机原理的课程设计。以前从没有学过关于汇编语言的知识,到学习VB,C语言等汇编语言,再到这次的微型计算机原理,每次做课程设计,都充满着挑战和趣味。微型计算机原理起初学起来就感觉很有难度,。当知道要进行课程设计的时候,心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当选完题目并且听过老师讲解该课题设计思路的时候,空白的脑子里浮现出了种种思路,并不断的尝试,最终尽自己最大的努力,把该课程做到最好。再该课程中有很多自己的感受,我相信有很多同学都会和我有一样的感受,那就是感觉汇编语言很神奇,充满着趣味。我们从刚开始的害怕,到实验中看到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论