微机原理课程设计 流水灯控制系统.docx

上传人:b****0 文档编号:10074259 上传时间:2023-05-23 格式:DOCX 页数:9 大小:222.58KB
下载 相关 举报
微机原理课程设计 流水灯控制系统.docx_第1页
第1页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第2页
第2页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第3页
第3页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第4页
第4页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第5页
第5页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第6页
第6页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第7页
第7页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第8页
第8页 / 共9页
微机原理课程设计 流水灯控制系统.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理课程设计 流水灯控制系统.docx

《微机原理课程设计 流水灯控制系统.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计 流水灯控制系统.docx(9页珍藏版)》请在冰点文库上搜索。

微机原理课程设计 流水灯控制系统.docx

微机原理课程设计流水灯控制系统

微机原理课程设计

流水灯控制系统

姓名:

XX

学院:

物理电气信息学院

班级:

2010电子

姓名:

12010245…

流水灯控制系统

一、设计内容:

本课程设计选用8086对8255A的A口控制来实现模拟流水灯功能的实现。

编写相关程序,通过proteus仿真软件来实现我名字“安亮”两个字的闪烁,“安”字接8255的A口的P0,“亮”字接A口的P1。

先让“安”字和“亮”字同时点亮,再让两个字同时暗,接着让“安”字点亮,再让“亮”字点亮,然后让“安”字和“亮”字同时亮暗闪烁八次,再跳到开始,以此循环。

二、设计目的:

1、了解流水灯的基本工作原理

2、熟悉8255A并行接口的各种工作方式和应用

3、利用8255A接口,LED发光二极管,设计一个流水灯模拟系统,让我的名字“安亮”两个字按一定规律点亮。

三、实验原理

在8086系统中,采用16位数据总线,进行数据传输时,CPU总是将低8位数据线上的数据送往偶地址端口,而过高8位数据线上的数据送往奇地址端口反过来,从偶地址端口取得的数据总是通过低8位数据线传送到CPU,从奇地址端口取得的数据总是通过高8位数据线送到CPU。

在8086系统中,将8255A的A1端和地址总线的A29255A在对CPU并且,相连,A1端和地址总线的A0的8255A而将相连,

的端口进行访问时,将地址总线的A0位总是设置为0。

本课程设计通过对8255A的A口控制来实现模拟流水灯功能的实现。

“安”接A口的P0,“亮”接A口的P1,实现两个字按一定规律的一个闪烁。

8255的内部结构

255A内部结构由以下四部分组成:

数据端口A、B、C;A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器。

端口A:

包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。

端口B:

包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式2。

端口C:

包括一个8位的数据输出锁存/缓冲器和一个8位的数据,端口上和下)C(位的端口4可在方式字控制下分为两个输入缓冲器,

每个4位端口都有4位的锁存器,用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。

A组和B组控制的作用如下:

A组控制逻辑控制端口A及端口C的上半部;

B组控制逻辑控制端口B及端口C的下半部。

2.8255A芯片介绍

芯片引脚图:

(和外设一边相连的):

PA7-PA0:

A组数据信号

PB7-PB0:

B组数据信号

PC7-PC0:

C组数据信号

(和CPU一边相连的):

RESET:

复位信号,低电平有效。

当RESET信号来到时,所有内部寄存器就被清除,同时,3个数据端口被自动设为输入端口。

的数据线,和系统数据总线相连。

8255A:

它们是D7-D0.

CS:

芯片选择信号,低电平有效。

在一个系统中,一般根据全部接口芯片来分配若干较低位地址(比如A5、A4、A3)来组成各种芯片选择码,当这几位地址组成某一个代码时,译码器便往8255A的CS端输出一个低电平,于是8255A被选中。

只有当CS有效时,读信号RD和写信号WR才对8255A有效。

RD:

芯片读出信号低电平有效。

WR:

芯片写入信号低电平有效。

A1、A0:

端口选择信号。

8255A内部有3个数据端口和一个控制端口,共四个端口。

规定当A1、A0为00时,选中A端口;为01时,选中B端口;为10时,选中C端口;为11时,选中控制口。

3.8255A控制字

方式选择控制字

控制字0置1/置C端口.

2.8255A工作方式

方式0:

基本输入/输出方式

方式0是8255A的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O传送。

A,B,C3个端口都可以工作在方式0。

A口和B口工作在方式0时,只能设置为以8位数据格式输入/输出。

C口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式。

方式1:

单向选通输入/输出方式

方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:

与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据。

由于C口的PC0,PC1和PC2定义为B口工作在方式1的联络信号线,PC3,PC4和PC5定义为A口工作方式1的联络信号线,因此只允许A口和B口工作在方式1。

如果8255A的端口A和端口B都工作在方式1,那么,端口C中就有6位被规定为配合方式1位扔作为输入或输出。

2工作的信号,剩下的.

方式2:

双向选通输入/输出方式

方式2为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出。

由于C口的PC7-PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2。

PA7-PA0为双向数据端口,既可以输入数据又可以输出数据。

方式2只适用于端口A。

端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制信号和状态信号。

四、实验器材:

8086、8255、二极管、电源等

五、设计步骤

1)硬件原理图

2)软件流程图

3)程序设计清单

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVAL,80H

L:

OUT06H,AL;将80H送给06H,10000000

MOVAL,0FCH

OUT00H,AL;将0FC送给00H,11111100(亮、亮)

LOOP$;延时0.25秒

MOVAL,0FFH

OUT00H,AL;11111111(灭、灭)

LOOP$;延时0.25秒

MOVAL,0FEH;11111110(灭、亮)

OUT00H,AL

LOOP$;延时0.25秒

MOVAL,0FDH;11111101(亮、灭)

OUT00H,AL

秒0.25;延时LOOP$

MOVBX,7;闪烁8次

L1:

MOVAL,0FFH

OUT00H,AL;11111111(灭、灭)

MOVCX,6000

LOOP$;延时

MOVAL,0FCH

OUT00H,AL;将0FC送给00H,11111100(亮、亮)

MOVCX,6000

LOOP$;延时

DECBX

JNZL1

JMPL;跳到L循环

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

六、实验结果

七、调试过程与分析

1、出现的问题

proteus刚开始,我们准备设计一个方波发生器,写好了程序,用

进行了仿真,结果出现了问题,无法仿真,我和合作者开始寻找错误,先从程序开始,请教同学,修改程序,之后看proteus的连线,也没有发现问题,但是还是无法仿真,就做了两天,没有做出来,我和合作者商量果断放弃了方波发生器的设计,因为毕竟时间有限。

我们决定做流水灯,既简单,学的内容又可以充分利用。

在做流水灯的时候,我们想着,这次吸取教训,从简单入手,程序也简单,进行仿真后很快成功,我们的设计也算完成。

2、心得体会

这次的课程设计结果虽然简单,可是过程很复杂,我们用的时间也比较长,主要是自己的只是水平不高,花费了大量的时间,最后却选择了一个最简单的设计。

通过这次设计实验,觉得自己的水平的确有待提高。

学习不踏实,以为学懂了,其实只是学了表面,细节根本没有注意到,以至于花费了时间,却没有出结果。

这也是一个自我检测的过程,发现自己的不足,弥补自己的缺点,给了我一个很大的启发。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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