刘乐微机原理课程设计Word文件下载.docx
- 文档编号:20477614
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:11
- 大小:340.98KB
刘乐微机原理课程设计Word文件下载.docx
《刘乐微机原理课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《刘乐微机原理课程设计Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
“D1~D7”接A口的PA0~PA7,实现8个LED发光二极管按一定规律闪烁。
8255的内部结构由以下四部分组成:
数据端口A、B、C;
A组控制和B组控制;
读/写控制逻辑电路;
数据总线缓冲器。
端口A:
包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。
端口B:
包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式2。
端口C:
包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可在方式字控制下分为两个4位的端口,端口上和下,每个4位端口都有4位的锁存器,用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。
A组和B组控制的作用如下:
A组控制逻辑控制端口A及端口C的上半部;
B组控制逻辑控制端口B及端口C的下半部。
8255A芯片介绍,芯片引脚图如下:
PA7-PA0为A组数据信号,PB7-PB0为B组数据信号,PC7-PC0为C组数据信号(和CPU一边相连的),RESET为复位信号,低电平有效。
当RESET信号来到时,所有内部寄存器就被清除,同时3个数据端口被自动设为输入端口。
D7-D0,它们是8255A的数据线,和系统数据总线相连。
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时,选中控制口。
8255A有3种工作方式:
方式0:
是8255A的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O传送。
A,B,C3个端口都可以工作在方式0。
A口和B口工作在方式0时,只能设置为以8位数据格式输入/输出。
C口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式。
方式1:
是一种带选通信号的单方向输入/输出工作方式,其特点是:
与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据。
由于C口的PC0,PC1和PC2定义为B口工作在方式1的联络信号线,PC3,PC4和PC5定义为A口工作方式1的联络信号线,因此只允许A口和B口工作在方式1。
如果8255A的端口A和端口B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位仍作为输入或输出。
方式2:
为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出。
由于C口的PC7-PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2。
PA7-PA0为双向数据端口,既可以输入数据又可以输出数据。
方式2只适用于端口A。
端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制信号和状态信号。
四、实验器材:
8086微处理器、8255A、74LS373、74LS138、8个LED发光二极管、电源等
五、实验步骤
1)硬件原理图
2)软件流程图
六、实验程序
CODESEGMENT
IOCONPTEQU0003H;
控制口
IOAPTEQU0000H;
A口
ASSUMECS:
CODE
START:
JMPIOLED
IOLED:
MOVAX,89H;
控制字
MOVDX,IOCONPT
IOLED1:
MOVAX,0001H;
将数字编码传送至AX
MOVDX,IOAPT;
将A口连接DX
OUTDX,AX;
将数字编码输出到DX
;
MOVCX,9FFFH
LOOP$;
延时1秒
MOVAX,0002H
MOVDX,IOAPT
OUTDX,AX
MOVCX,9FFFH
LOOP$
MOVAX,0004H
MOVAX,0008H
MOVAX,0010H
LOOP$
MOVAX,0020H
MOVAX,0040H
MOVAX,0080H
花样1
MOVAX,0040H
LOOP$
LOOP$
LOOP$
JMPSTART
RET
CODEENDS
ENDSTART
DATASSEGMENT;
此处输入数据段代码
DATASENDS
STACKSSEGMENT;
此处输入堆栈段代码
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX;
此处输入代码段代码
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
七、调试过程及结果
1.程序运行调试成功的截图
2.proteus仿真图
八、实验分析与心得体会
1、实验分析:
刚开始,我先写好了程序,用proteus进行了仿真,结果出现了问题,无法仿真,LED发光二极管并没有按照一定的规律亮,我开始寻找错误,先从程序开始,请教同学,修改程序,之后看proteus的连线,发现是电源没有连接好,经过修改后,进行了多次仿真,终于成功了,我的设计也算完成。
2、心得体会:
这次的课程设计结果虽然简单,可是过程很复杂,我用的时间也比较长,主要是自己的知识水平不高,花费了大量的时间,最后还选择了一个最简单的设计。
通过这次设计实验,觉得自己的水平的确有待提高。
学习不踏实,以为学懂了,其实只是学了表面,细节根本没有注意到,以至于花费了很多时间,才得到结果。
这次课程设计也是一个自我检测的过程,发现自己的不足,弥补自己的缺点,给了我一个很大的启发。
九、参考文献
1、微型计算机技术及应用(第4版)戴梅萼史嘉权编著
2、汇编语言王晓虹著
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计