双机并行通讯4A机微机课设设计.docx

上传人:b****5 文档编号:28541804 上传时间:2023-07-18 格式:DOCX 页数:20 大小:298.11KB
下载 相关 举报
双机并行通讯4A机微机课设设计.docx_第1页
第1页 / 共20页
双机并行通讯4A机微机课设设计.docx_第2页
第2页 / 共20页
双机并行通讯4A机微机课设设计.docx_第3页
第3页 / 共20页
双机并行通讯4A机微机课设设计.docx_第4页
第4页 / 共20页
双机并行通讯4A机微机课设设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

双机并行通讯4A机微机课设设计.docx

《双机并行通讯4A机微机课设设计.docx》由会员分享,可在线阅读,更多相关《双机并行通讯4A机微机课设设计.docx(20页珍藏版)》请在冰豆网上搜索。

双机并行通讯4A机微机课设设计.docx

双机并行通讯4A机微机课设设计

课程设计任务书

学生姓名:

贺昆专业班级:

电气1104班

指导教师:

徐腊梅工作单位:

武汉理工大学

题目:

双机并行通讯4(A机)

由A,B两台微机之间并行传送数据。

A接收键盘输入的字符,然后通过8255A发送该字符到对方。

A方的8255A均采用方式1工作,B方的8255A均采用方式0工作。

8255A控制口地址为37B。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

(1)设计任务及要求

(2)方案比较及认证

(3)系统框图,原理说明

(4)硬件原理,完整电路图,采用器件的功能说明

(5)调试记录及结果分析

(6)对成果的评价及改进方法

(7)总结(收获及体会)

(8)参考资料

(9)器件表,芯片资料

时间安排:

时间安排:

  12月27日~12月31日:

明确课题,收集资料,方案确定

  1月1日~1月4日:

整体设计,硬件电路调试

  1月5日~1月9日;报告撰写,交设计报告,答辩

指导教师签名:

2013年12月27日

 

目录

摘要

1.题目分析1

1.1设计题目1

1.2设计思路及接线图1

2.8255A芯片的介绍3

2.18255A的功能引脚3

2.28255A的编程5

2.38255A的工作方式5

3.DOS的常用功能介绍6

4.软件编程8

4.1程序流程图8

4.2程序段9

5.仿真图14

6.心得体会15

参考文献16

 

摘要

  随着算机的不断普及,在我们的周围可能会同时出现多台微型计算机,而且这些计算机的牌号,后型号不同,而且有的格式不兼容。

于是利用双机通信串行口实现不同计算机之间的相互通信,以达到信息或程序的共享是非常有用的。

另一方面,在某计算机的软磁盘驱动器万一出现故障的情况下,也可以通过它将计算机硬盘的数据或程序拷贝出来。

 

关键字:

并行通信,8255A芯片,计算机,PC机

 

 

1.题目分析

1.1设计题目

双机并行通讯4(A机)

由A,B两台微机之间并行传送数据。

A接收键盘输入的字符,然后通过8255A发送该字符到对方。

A方的8255A均采用方式1工作,B方的8255A均采用方式0工作。

8255A控制口地址为37B。

1.2设计思路及接线图

本题属于双机并行通讯问题,应分为发送和接收两方面分别来进行研究。

由于程序需要对地址进行直接操作,所以选择汇编语言来编写较为简单方便。

在写程序的过程中,由于要用8255A芯片作为并行传输芯片,所以要熟练掌握8255A的控制方法;此外,程序多处还要用到DOS功能调用,所以还要对DOS的各种功能进行系统的学习。

设计主要分硬件软件两大部分。

两台PC各与一个8255A芯片相连,程序分为两部分,分别运行与两台PC机上以实现并行传输。

接线如下:

图1为发送接线图,图2为接收接线图。

图1发送接线图

 

图2接收接线图

28255A芯片的介绍

2.18255A的引脚功能

8255A的芯片引脚图见图3:

图38255A的芯片引脚图

RESET:

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

PA0~PA7:

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

PB0~PB7:

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

PC0~PC7:

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

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

CS:

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

RD:

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

WR:

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

D0~D7:

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

A1、A0:

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

2.28255A的编程

8255A是将所有端口分为两组来控制的,因此方式控制字也分为了两部分:

A组控制D6~D3和B组控制D2~D0。

其具体格式见表1。

表18255A的方式控制字

D7

D6

D5

D4

D3

D2

D1

D0

1

A口方式

A口方向

PC上口方向

B口方式

B口方向

PC下口方向

方式控制字

00:

方式0

01:

方式1

1X:

方式2

0:

输出

1:

输入

0:

输出

1:

输入

0:

方式0

1:

方式1

0:

输出

1:

输入

0:

输出

1:

输入

此外,8255A还有一个特殊的功能,即对C口直接进行置“1”或清“0”操作,这种方法使C口的控制变得更加简单、方便。

其具体格式见表2。

 

表28255A的C口控制字

D7

D6

D5

D4

D3

D2

D1

D0

0

无效

引脚选择

置位、复位选择

C口控制字

000:

PC0

001:

PC1

010:

PC2

…………

111:

PC7

0:

复位

1:

置位

2.38255A的工作方式

8255A有三种工作方式:

●方式0——基本输入/输出方式

●方式1——选通输入/输出方式

●方式2——双向传输方式

方式0:

基本输入输出方式

它适用于不需要用应答信号的简单输入输出场合,在这种方式下,A口和B口可作为8位的端口,C口的高4位和低4位可作为两个4位的端口。

这4个端口中的任何一个既可作为输入也可作为输出,从而构成16种不同的输入输出组态。

在实际应用时,C口的两半部分也可合在一起,构成一个8位的端口。

这样8255A可以构成3个8位的I/O端口,或两个8位两个4位的I/O的端口,以适应各种不同的应用场合。

方式1:

选通的输入/输出方式

在这种方式下,当A端口和B端口进行输入输出时,必须利用C端口提供的选通和应答信号。

方式1的基本定义如下:

分成2组(A组和B组)。

每组包含一个8位的数据端口和1个4位的控制/数据端口。

8位的数据端口既可以作为输入也可以作输出,输入和输出都可以被锁存,4位的控制/数据端口用于传送8位数据端口的控制和状态信息。

(1)选通的输入方式

选通输入方式:

规定是PC3~PC5分配给A端口,PC0~PC2分配给B端口。

C端口剩下的2位PC6,PC7可’作为简单的输入/输出线使用,控制字的D3位为l时输入;D3位为0时输出。

(2)选通的输出方式

在这种方式下,A口和B口都作为输出口,端口C的PC3,PC6和PC7作A口的联络控制信号,PC0,PC1和PC2作B口的联络控制信号,端口C余下的两位PC4和PC6可作为输入和输出,当方式选择字的D3=1时,PC4和PC5作输入,D3=0时,PC4和PC5作输出。

(3)选通输入/输出方式的组合

在这种方式下,端口C的低4位总是作控制用,而高4位总有两位仍用作输入或输出。

因此,在控制字中,用于决定C口高半部分是输入还是输出的D3位可以取1或0,而决定C口低4位为输入或输出的D0位可以为任意值。

3.DOS常用功能的介绍

DOS系统启动时,DOS层功能模块从系统盘被装入内存。

调用这些功能模块称为DOS功能调用。

DOS功能调用可以完成文件管理、存储管理、作业管理和设备管理等。

表3-1列出了一些常用的DOS功能调用。

表3常用DOS功能调用

AH

功能

调用参数

返回参数

01

键盘输入并回显

 

AL=输入字符

02

显示输出

DL=输出字符

 

06

直接控制台I/O

DL=FF(输入)

DL=字符(输出)

AL=输入字符

07

键盘输入(无回显)

 

AL=输入字符

08

键盘输入(无回显)

检测Ctrl-Break

 

AL=输入字符

09

显示字符串

DS:

DX=串地址

'$'结束字符串

 

0A

键盘输入到缓冲区

DS:

DX=缓冲区首地址

(DS:

DX)=缓冲区最大字符数

(DS:

DX+1)=实际输入的字符数

0C

清除输入缓冲区并

请求指定的输入功能

AL=输入功能号

(1,6,7,8,A)

 

4C

带返回码结束

AL=返回码

 

 

4.软件编程

4.1程序流程图

图4接收流程图

图5发送流程图

4.2程序段

发送主程序

DATASEGMENT

CHAR1DB?

CHAR2DB?

THIRTYEQU30

STRINGS1DB'QUIT,PLEASEPRESSQ/q!

-------------------'

STRINGS2DB'PLEASEINPUTTHEINFORMATION!

------------'

STRINGS3DB'PRESSTHE"ENTER"TOTRANSFER!

-----------'

DATAEDNS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

ST1:

LEADX,STRINGS1

CALLDISPLAY

LEADX,STRINGS3

CALLDISPLAY

LEADX,STRINGS2

CALLDISPLAY

AA1CALLGETCHAR

MOVCHAR1,AL

CMPCHAR1,'Q'

JZEXIT

CMPCHAR1,'q'

JZEXIT

LEADX,STRINGS2

CALLDISPLAY

AA2:

CALLGETCHAR

MOVCHAR2,AL

CMPCHAR2,0DH

JNZAA2

CALLOUTDATA

发送子程序

OUTDATAPROCNEAR

movdx,8006h

movax,10111101b

AA3:

movdx,8004h

inax,dx

TESTAX,0020H;测试IBFA的信息

JZAA3;等待新数据出现

movdx,8000h

inax,dx;

movdx,8002h

outdx,ax

AA4

movdx,8004h

inax,dx

ANDAX,0002H测试IBFA的信息

JNZAA4

jmpST1

ret

OUTDATAENDP

DISPLAYPROCNEAR屏幕显示字符串

MOVCX,THIRTY

DISP1:

MOVDL,[BX]

CALLDISCHAR

INCBX

LOOPDISP1

MOVDL,0DH

CALLDISCHAR

MOVDL,0AH

CALLDISCHAR

RET

DISPLAYENDP

DISCHARPROCNEAR屏幕显示信息

MOVAH,2

INT21H

RET

DISCHARENDP

GETCHARPROCNEAR屏幕显示信息

MOVAH,00H

INT21H

RET

GETCHARENDP

EXITPROCNEAR

MOVAX,0C00H

INT21H

 

接收子程序

codesegment

assumecs:

code

start:

movdx,037Bh

movax,10001011b

movdx,0379h

inax,dx

notax

movdl,al

callDISCHAR

jmpstart

ret

codeends

endstart

DISCHARPROCNEAR;屏幕显示信息

MOVAH,2

INT21H

RET

DISCHARENDP

 

5.仿真图

图6发送仿真图

图7接收仿真图

通过仿真图可与看出已达到设计要求,设计成功,仿真成功

6.心得体会

本次课程设计,是在结束了相关理论知识与实验的学习后进行的,是对理论知识和实验的综合和提高。

对学习任务有了更高的要求。

毕竟理论知识的学习是为了更好的解决实际问题。

由于理论知识到实践应用还有一段距离,所以要很好的完成课程设计的要求还是要好好准备,认真对待的。

随着科学技术的发展,小型系统的应用开发仿真越来越多的和一些功能强大的软件紧密结合起来,这为开发者节省了大量的人力物力,进一步降低了开发成本,缩短开发周期。

所以要想更好的学习微机原理知识的应用,掌握这些软件的使用还是大有裨益的。

经过这次设计,我更加深刻的理解了微机原理及接口技术的相关知识。

对一些常用芯片有了更深一步的认识,并且能够很好的使用它们。

此次课程设计也很好的检验了自己对所学知识的理解以及掌握程度。

一开始对一些东西不是很理解,比如8255的工作方式及方式控制,在设计的过程中,通过同组同学的讲解和帮助,很好的理解并且解决了相关的问题。

同时也了解了团队合作集思广益对于解决问题的重要性。

每位组员都有自己擅长的领域,在各自的擅长的领域有自己独到的见解,通过商量讨论,可以对方案进行不断的完善,以在限定的条件下形成最优的解决方案。

总之,通过这次微机原理课程设计让我对8086,8255,等芯片的使用有了更一步的了解和体会。

从实际应用的角度让我对微机原理的理论知识的理解和运用有了更深层次的体会。

同时也为利用所学知识根据实际需要设计开发相应功能的小型系统奠定了一定的基础。

为以后实际学习工作中遇到类似的问题更好的解决打好了基础。

 

参考文献

[1]周佩玲.2005.微机原理与接口技术(基于16位机).北京:

电子工业出版社

[2]冯博琴吴宁.微机原理与接口技术(第二版).北京:

清华大学出版.2007

[3]王忠民等.微型计算机原理.西安:

西安电子科技大学出版社.2003.7

[4]彭虎等.微机原理与接口技术(第二版).北京:

电子工业出版社.2008.3

[5]戴梅萼.微型计算机技术及应用(第三版).北京.清华大学出版社.2003

[6]艾德才等.Pentium系列微型计算机原理与接口技术.高等教育出版社.2000

 

本科生课程设计成绩评定表

姓名

贺昆

性别

专业、班级

电气工程及其自动化1104班

课程设计题目:

双机并行通讯4(A机)

课程设计答辩或质疑记录:

 

成绩评定依据:

序号

评定项目

评分成绩

1

选题合理、目的明确(10分)

2

设计方案正确,具有可行性、创新性(20分)

3

设计结果可信(例如:

系统建模、求解,仿真结果)(25分)

4

态度认真、学习刻苦、遵守纪律(15分)

5

设计报告的规范化、参考文献充分(不少于5篇)(10分)

6

答辩(20分)

总分

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年月日

 

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

当前位置:首页 > 经管营销 > 销售营销

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

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