E5机设计.docx

上传人:b****1 文档编号:2403134 上传时间:2022-10-29 格式:DOCX 页数:10 大小:159.18KB
下载 相关 举报
E5机设计.docx_第1页
第1页 / 共10页
E5机设计.docx_第2页
第2页 / 共10页
E5机设计.docx_第3页
第3页 / 共10页
E5机设计.docx_第4页
第4页 / 共10页
E5机设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

E5机设计.docx

《E5机设计.docx》由会员分享,可在线阅读,更多相关《E5机设计.docx(10页珍藏版)》请在冰豆网上搜索。

E5机设计.docx

E5机设计

微机原理课程设计

 

学生姓名:

学号:

学生姓名:

学号:

学生姓名:

学号:

学生姓名:

学号:

学院:

信息与通信工程学院

专业:

测控技术与仪器

题目:

I/O接口卡设计

指导教师:

I/O接口卡设计

一.设计内容:

设计一块I/O卡,该卡具有3个8位I/O口(A,B,C口),利用该I/O卡控制一个四位LED显示器,该卡插在PC机的IBM—PC扩展总线插槽上(ISA),选用芯片8255接口芯片。

二.设计要求:

a)画出电路原理图。

b)说明工作原理。

c)编写利用该接口卡对键盘上键入的数字进行显示程序。

三.主要元件:

1.8255简介RESET:

复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:

片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。

RD:

读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:

写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。

D0~D7:

三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输或状态信号输入端口。

A1、A0:

端口地址总线,8255中有端口A、B、C和一个内部控制字寄存器,共4个端口,由A0、A1输入地址信号来寻址

2.ISA总线简介:

ISA总线是在早期IBMPC/XT总线基础上发展起来的,IBMPC/XT总线具有62条引线,分为A、B两面,其中包括20位地址总线、8位数据总线,4个DMA通道的联络信号和6个中断请求输入端,还有存储器读写信号、I/O读写信号、时钟信号、地址锁存信号、电源和地等众多信号。

ISA总线也称为AT总线,产生于二十世纪八十年代初,最初是为16位的AT系统设计的。

当前,微型机系统中已经不再采用单一的ISA总线,但是,为了和大量的ISA适配卡兼容,所以,即使以Pentium为CPU的当前最先进的微型机系统中,也仍然通过“桥”来扩展出ISA总线。

ISA有主槽和附加槽组成,每个槽都有正反两面插脚。

主槽有A1~A31、B1~B31、共62脚,这就是IBMPC/XT系统中的62芯总线槽;附加槽有C1~C18、D1~D18、共36脚。

两个槽共98脚。

A面和C面主要连接数据线和地址线,B面和D面则主要连接其他信号,包括+12V、+5V电源、地、中断输入线和DMA信号线等各种信号。

这种设计时数据线和地址线尽量和其他信号分开,减少干扰。

四、设计思路:

I/O卡直接用来插入微机系统的扩展槽中,8255芯片是接口卡设计中的主芯片,将A~A经过译码作为8255的片选信号,而和分别作为8255的读写信号。

四位的LED显示器连接成共阴极,将8255的A端口的8个引脚经过驱动器与LED显示器的a~dp相连,用8255的C端口的低四位来控制选择那个显示器亮。

首先由I/O卡的RESET将8255芯片复位,由微机系统的扩展槽中20根地址线来决定8255片选信号是否选通,由其工作原理图可知A端口地址60H,B端口地址61H,C端口地址62H,控制口地址63H。

由于是I/O防止地址重叠,从而将16根地址线全部作为译码器的输入,唯一确定I/O卡的地址。

经MS—DOS功能调用从键盘输入一串字符,(调用OAH号功能,其入口参数为DS:

DX,在DX第一个单元存放输入字符的最大允许值,第二个单元存放是实际输入字符的个数,接下来的单元存放输入的字符串),不管输入多少个数,始终只显示最后输入的四个数。

通过软件设计将由键盘输入的四个ASCII码数转换成相应的BCD码,取个位数,将此BCD码转换成字形码,在将字形码送入到8255的A端口,而将0eH送入C端口,用来控制哪一个显示器亮,并调用10ms延迟程序。

依此类推,取十位,百位,千位进行相同的操作,只是送C端口的数据不同,依次为0dH,0bH,07H。

将键盘输入的数显示完以后,重新开始检查键盘输入的数字,进入新的一轮显示,周而复始。

1.硬件设计:

2.程序:

.程序流程图:

系统初始化

8255初始化

读字符

是否为数字N

Y

转换为BCD码

取个位数

转化为字形码

字形码送A口

C口←0EH

CALLDELAY

取十位数

转化为字形码

字形码送A口

C口←0DH

CALLDELAY

取百位数

转化为字形码

字形码送A口

C口←0BH

CALLDELAY

取千位数

转化为字形码

字形码送A口

C口←07H

CALLDELAY

8255端口地址:

信号线

寄存器

编址

A口

60H

IOY3

B口

61H

C口

62H

控制寄存器

63H

8255作为一个可编程器件,其绝大部分功能需要程序的支持,本设计亦不例外。

要对8255编程首先了解它的控制字和工作方式。

根据题目要求A端口作为输出端口,B端口不使用,C端口作为输出端口。

本设计A,C端口工作在方式0下即基本输入输出方式既可满足要求,因此,控制字可为1000X0X0,其中X可为0也可为1,由于B接口没有连线,因此PB工作方式对本设计没有影响,因此我们可设控制字为:

10000000用十六进制表示为80H,假设在该系统中8255的各端口地址为:

A:

60HB:

61HC:

62H控制口:

63H则相应的汇编程序为:

DATASEGMENT

DISP2DB100DUP(?

DISP3DB"pleaseinputchar"

DATAENDS

STACKSEGMENT

TOPEQULENGTHSTA

DW64DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX;设数据段寄存器的值

MOVAX,STACK

MOVSS,AX;设堆栈段寄存器的值

MOVDX,63H

MOVAL,80H

OUTDX,AL;写入模式字

NEXT:

MOVDI,OFFSETDISP3

MOVAH,09H;显示字符串功能

INT21H;读入路径名

MOVDX,OFFSETDISP2

MOVAH,0AH;从键盘读入字符功能号

INT21H

TESTDX,10H;检查输入数字否

JZNEXT

TESTDX,20H

JZNEXT

TESTDX,40H

JNZNEXT;不为数字则继续取字符

CMPDX,30H

JCNEXT

CMPDX,39H

JNCNEXT

XORDI,DI

MOVSI,DX

MOVAL,[SI];取字符

ANDAL,0FH

MOV[DI],AL

INCSI

MOVAL,[SI]

ANDAL,0FH

MOV[DI+1],AL

INCSI

MOVAL,[SI]

ANDAL,0FH

MOV[DI+2],AL

INCSI

MOVAL,[SI]

ANDAL,0FH

MOV[DI+3],AL

 

NEXT2:

MOVAL,[DI+3];取要显示的数字

MOVBX,OFFSETLEDADD;取显示代码表首址

XLAT;将数字转换成显示代码

MOV60H,AL;将显示代码送入A口

MOVDX,62H

MOVDX,0EH;将01H送入C口

CALLDELAY

MOVAL,[DI+2]

MOVBX,OFFSETLEDADD

XLAT

MOV60H,AL

MOVDX,62H

MOVDX,0DH

CALLDELAY

MOVAL,[DI+1]

MOVBX,OFFSETLEDADD

XLAT

MOV60H,AL

MOVDX,62H

MOVDX,0BH

CALLDELAY

MOVAL,[DI]

MOVBX,OFFSETLEDADD

XLAT

MOV60H,AL

MOVDX,62H

MOVDX,07H

CALLDELAY

JMPNEXT

DELAYMOVCX,0500H

MOVDX,0500H

P1:

DECDX

JNZP1

P2:

DECCX

JNZP2

RET

LEDADD:

DB3FH

DB06H

DB5BH

DB4FH

DB66H

DB6DH

DB7DH

DB07H

DB7FH

DB6FH

CODEENDS

END

五、设计心得:

通过本次课程设计,使我们对8255芯片有了更深刻的认识与了解,并对知识间的联系有了更好的体会,同时团队合作意识得到了更好的加强,对以后的成长有很大的帮助。

我们很感谢学校给我们这样的机会,还有老师对我们辛勤的指导。

六、参考文献:

[1]冯博琴等,微型计算机原理与接口技术.北京:

清华大学出版社,2007

[2]李顺增等,微机原理及接口技术.北京:

机械工业出版社,2005

[3]赵慧等,Protel99SE原理图与PCB及仿真.北京:

机械工业出版社,2004

[4]韩焱等,数字电子技术基础.北京:

电子工艺出版社,2009

 

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

当前位置:首页 > 高等教育 > 工学

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

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