毕业设计论文微机原理与接口技术.docx

上传人:b****7 文档编号:16085116 上传时间:2023-07-10 格式:DOCX 页数:27 大小:47.90KB
下载 相关 举报
毕业设计论文微机原理与接口技术.docx_第1页
第1页 / 共27页
毕业设计论文微机原理与接口技术.docx_第2页
第2页 / 共27页
毕业设计论文微机原理与接口技术.docx_第3页
第3页 / 共27页
毕业设计论文微机原理与接口技术.docx_第4页
第4页 / 共27页
毕业设计论文微机原理与接口技术.docx_第5页
第5页 / 共27页
毕业设计论文微机原理与接口技术.docx_第6页
第6页 / 共27页
毕业设计论文微机原理与接口技术.docx_第7页
第7页 / 共27页
毕业设计论文微机原理与接口技术.docx_第8页
第8页 / 共27页
毕业设计论文微机原理与接口技术.docx_第9页
第9页 / 共27页
毕业设计论文微机原理与接口技术.docx_第10页
第10页 / 共27页
毕业设计论文微机原理与接口技术.docx_第11页
第11页 / 共27页
毕业设计论文微机原理与接口技术.docx_第12页
第12页 / 共27页
毕业设计论文微机原理与接口技术.docx_第13页
第13页 / 共27页
毕业设计论文微机原理与接口技术.docx_第14页
第14页 / 共27页
毕业设计论文微机原理与接口技术.docx_第15页
第15页 / 共27页
毕业设计论文微机原理与接口技术.docx_第16页
第16页 / 共27页
毕业设计论文微机原理与接口技术.docx_第17页
第17页 / 共27页
毕业设计论文微机原理与接口技术.docx_第18页
第18页 / 共27页
毕业设计论文微机原理与接口技术.docx_第19页
第19页 / 共27页
毕业设计论文微机原理与接口技术.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计论文微机原理与接口技术.docx

《毕业设计论文微机原理与接口技术.docx》由会员分享,可在线阅读,更多相关《毕业设计论文微机原理与接口技术.docx(27页珍藏版)》请在冰点文库上搜索。

毕业设计论文微机原理与接口技术.docx

毕业设计论文微机原理与接口技术

上海工程技术大学

ShanghaiUniversityofEngineeringScience

 

一、课程设计的目的:

1.通过《微机原理与接口》课程设计,使我们能够进一步了解微型计算机工作原理,微型计算机的硬件结构及微型计算机软件编程。

2.要求我们根据接口电路的硬件要求进行计算机的汇编语言程序设计,使我们的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。

3.课程设计有利于基础知识的理解和逻辑思维的锻炼。

本课程设计是培养和锻炼我们综合应用所学理论知识解决实际问题能力、进行工程实训的重要教学环节,也能培养我们理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力。

4.微机原理与接口技术是一门实践性较强的课程,我们在学完该课程之后,进行一次课程设计,是非常必要的。

这能使我们将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。

通过设计实践,培养我们查阅专业资料、工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。

在设计中不但要培养和提高学生解决工程具体问题、动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。

二、设计题目1的分析:

1.设计目的:

1.熟练掌握8088汇编语言程序各种结构的设计及编程方法;

2.熟练掌握DOS中断功能调用的方法。

2.设计要求:

编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于RESULT中,否则显示“overflow”。

3.设计思想:

本设计要求100个正整数之和再按设计要求显示,但是在将源程DOS时,

输入100数要溢出时用cup代码表示不明显,直观,所以我将100个该写成10个数,手动输入10个数,使程序简单明了。

虽然变成了10个数,其他源代码都与100个数时意义相同,能满足设计的要求及目的。

程序开始时定义10个正整数以及存放结果的变量,然后10个数相加,在期间如果超出“65535”,则通过DOS输出“overflow”,如果没有则继续相加,直至相加完成,完成后再通过DOS求平均值,再通过DOS输出结果至目标地址,程序结束。

4.程序源代码:

①.没有溢出时:

DATASEGMENT

MEMDW5,5,5,5,5,5,5,5,5,5

STRDB'overflow!

',0DH,0AH,'$'

RESULTDW?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

XORAX,AX

MOVSI,AX

MOVCX,100

SUM:

ADDAX,MEM[SI]

JCNEXT

ADDSI,2

LOOPSUM

MOVBX,100

MOVDX,0

DIVBX

MOVRESULT,AX

JMPSHORTEXIT

NEXT:

LEADX,STR

MOVAH,09H

INT21H

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

1.溢出时:

DATASEGMENT

MEMDW5,5,5,5,5,5,5,5,5,65532

STRDB'overflow!

',0DH,0AH,'$'

RESULTDW?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

XORAX,AX

MOVSI,AX

MOVCX,100

SUM:

ADDAX,MEM[SI]

JCNEXT

ADDSI,2

LOOPSUM

MOVBX,100

MOVDX,0

DIVBX

MOVRESULT,AX

通过DOS输出overflow

是否超出机器数范围

开始

结束

定义10个正整数以及存放结果的变量

10个正整数相加

10个数是否加完

通过DOS输出10个数的和的平均值

Y

N

Y

N

JMPSHORTEXIT

NEXT:

LEADX,STR

MOVAH,09H

INT21H

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

5.程序流程图:

 

6.调试结果和程序结果分析:

1.没有溢出时:

118F:

0000B88C11MOVAX,118C

118F:

00038ED8MOVDS,AX

118F:

000533COXORAXAX

118F:

00078BFOMOVSI,AX

118F:

0009B9OAOOMOVCXOOOA

118F:

000C03840000ADDAX,[SI+0000]

118F:

00107212JB0024

118F:

001283C602ADDSI,+02

118F:

0015E2F5LOOPOOOC

118F:

0017BB0A00MOVBX,000A

118F:

001ABA0000MOVDX,0000

118F:

001DF7F3DIVBX

118F:

001FA31F00MOV[OO1F],AX

118F:

0022EB08JMP002C

118F:

00248D161400LEADX,[0014]

118F:

0028B409MOVAH,09

118F:

002ACD21INT21

118F:

002CB44CMOVAH,4C

-G002C

AX=0005BX=000ACX=0000DX=0000SP=0000BP=OOOOSI=0014DI=0000DS=118CES=117CSS=118CCS=118FIP=002CMVUPEIPLNZNAPENC

118F:

002CB44CMOVAH,4C

-D0000

118C:

00000500050005000500-0500050005000500

118C:

0010050005006F766572-666C6F770D0A2405

118C:

00200000000000000000-0000000000000000

118C:

0030B88C118ED833C08B-F0B90A0003840000

118C:

0040721283C602E2F5BB-0A00BA0000F7F3A3

118C:

00501F00EB088D161400-B409CD21B44CCD21

118C:

0060048987C4038997C6-03FF362621EBCC7F

118C:

007083C4022BC050FF36-6427FF3662278B1E

2.溢出时:

118F:

0000B88C11MOVAX,118C

118F:

00038ED8MOVDS,AX

118F:

000533COXORAXAX

118F:

00078BFOMOVSI,AX

118F:

0009B9OAOOMOVCXOOOA

118F:

000C03840000ADDAX,[SI+0000]

118F:

00107212JB0024

118F:

001283C602ADDSI,+02

118F:

0015E2F5LOOPOOOC

118F:

0017BB0A00MOVBX,000A

118F:

001ABA0000MOVDX,0000

118F:

001DF7F3DIVBX

118F:

001FA31F00MOV[OO1F],AX

118F:

0022EB08JMP002C

118F:

00248D161400LEADX,[0014]

118F:

0028B409MOVAH,09

118F:

002ACD21INT21

118F:

002CB44CMOVAH,4C

-G002C

overflow

AX=0924BX=0000CX=0001DX=0014SP=0000BP=OOOOSI=0012DI=0000DS=118CES=117CSS=118CCS=118FIP=002CMVUPEIPLNZACPOCY

118F:

002CB44CMOVAH,4C

三、设计题目2的分析:

1.设计目的:

1.掌握8088CPU及存储器硬件接口电路的设计连接;

2.掌握相关硬件驱动软件设计及信息处理软件的设计调试的方法。

2.设计要求:

设计十字路口交通灯控制系统。

基本要求:

完成双向红绿黄灯的配合控制。

附加内容:

在基本的电路中加入必要的灯光闪灯,人行定时显示等。

3.设计思想:

把实验箱中的8255的8个C口按我规定的顺序接到实验箱红绿灯模块的接口处。

实验中,8255的C口作为输出口,通过编写程序来控制C口输出的信号,信号从C口输出后以二进制数的形式被输出到实验箱的红绿灯模块的接口。

再以82558个C口所输出的高低电平来控制实验箱的红绿灯模块的灯的情况。

实验时,通过高低电平测试,灯亮是低电平有效,且DG是指灯亮绿色,DR是指灯亮红色,若同时驱动则灯亮黄色。

我所设计的红绿灯双向亮灯情况如下,假使开始时,北南方向亮红灯,东西方向亮绿灯。

调用延时子程序后,北南方向还为红灯,东西两方向灯熄灭,再调用延时子程序后,北南两方向不变,东西两方向亮绿灯,通过这样反复几次,以造成东西方向灯闪烁的效果,此后,东西两方向变黄灯,北南两方向还为红灯,调用延时子程序后,东西两方向变为红灯,北南两方向变为绿灯,后面东西方亮灯情况与北南方亮灯情况在前面的状态下交换。

东西方和南北方亮灯情况交换完成后再返回到开始东西方亮绿灯,北南方向亮红灯,最后进行跳转,重新开始输入信号。

这样就可以完成双向红绿黄灯的配合控制。

4.实验电路及接线:

实验箱上控制红绿灯的接口线路如下图所示:

DG1DG2DG3DG4

DR1DR2DR3DR4

实验箱红绿灯排列示意图图

 

被控制的灯的位置

(相对于上图)

8255输出接口

接入灯的接口

灯的颜色变化

附加变化

左方灯

PC0

DG1

绿灯

同时亮起,变为黄灯

PC1

DR1

红灯

上边灯

PC2

DG2

绿灯

PC3

DR2

红灯

下边灯

PC4

DG3

绿灯

PC5

DR3

红灯

右方灯

PC6

DG4

绿灯

PC7

DR4

红灯

5.程序源代码:

DSEGSEGMENT

DSEGENDS

SSEGSEGMENTSSEG

STADW50DUP(?

TOPEQULENGTHSTA

SSEGENDS

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG,ES:

DATA,SS:

SSEG

BEGIN:

MOVAL,80H

MOVDX,203H

OUTDX,AL

MOVDX,202H

OVF:

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,041H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,014H

OUTDX,AL

CALLDELAY

JMPOVF

DELAYPROCNEAR

MOVBX,1AAH

NEXT1:

MOVCX,0DFH

NEXT2:

LOOPNEXT2

DECBX

JNZNEXT1

RET

DELAYENDP

CSEGENDS

ENDBEGIN

6.程序结果分析:

将实验箱与电脑连接,打开电脑编程软件,将所编译的程序打入其中,完成后将程序捎入实验箱中,程序开始后,8255输出信号69H,及为二进制数01101001B,其从C口输出对应顺序为:

PC7PC6PC5PC4PC3PC2PC1PC0,在其对应的8个红绿灯接口中,DG1为1,DR1为0,DG4为1,DR4为0,即左右两方向灯亮红灯;DG2为0,DR2为1,DG3为0,DR3为1,即上下两方向灯亮绿灯。

调用延时子程序后,8255输出信号7DH,及为二进制数01111101B,在其对应的8个红绿灯接口中,DG1为1,DR1为0,DG4为1,DR4为0,即左右两方向灯亮红灯;DG2为1,DR2为1,DG3为1,DR3为1,即上下两方向灯熄灭。

调用延时子程序后,8255输出信号69H,及为二进制数01101001B,在其对应的8个红绿灯接口中,DG1为1,DR1为0,DG4为1,DR4为0,即左右两方向灯亮红灯;DG2为0,DR2为1,DG3为0,DR3为1,即上下两方向灯亮绿灯。

左右两边的灯保持红灯不变,上下两灯由绿灯变为熄灭,再由熄灭变为绿灯,以造成上下两灯闪烁的效果,这样重复四次后,8255输出信号69H,及为二进制数01101001B,在其对应的8个红绿灯接口中,DG1为1,DR1为0,DG4为1,DR4为0,即左右两方向灯亮红灯;DG2为0,DR2为1,DG3为0,DR3为1,即上下两方向灯亮绿灯。

调用延时子程序后,8255输出信号41H,及为二进制数01000001B,在其对应的8个红绿灯接口中,DG1为1,DR1为0,DG4为1,DR4为0,即左右两方向灯亮红灯;DG2为0,DR2为0,DG3为0,DR3为0,即上下两方向灯亮黄灯。

调用子程序后,8255输出信号96H,及为二进制数10010110B,在其对应的8个红绿灯接口中,DG1为0,DR1为1,DG4为0,DR4为1,即左右两方向灯亮绿灯;DG2为1,DR2为0,DG3为1,DR3为0,即上下两方向灯亮红灯。

调用子程序后,8255输出信号D7H,及为二进制数11010111B,在其对应的8个红绿灯接口中,DG1为1,DR1为1,DG4为1,DR4为1,即左右两方向灯熄灭;DG2为1,DR2为0,DG3为1,DR3为0,即上下两方向灯亮红灯。

上下两灯保持红灯不变,左右两边的灯由绿灯变为熄灭,再由熄灭变为绿灯,以造成上下两灯闪烁的效果,这样重复四次后,8255输出信号96H,及为二进制数10010110B,在其对应的8个红绿灯接口中,DG1为0,DR1为1,DG4为0,DR4为1,即左右两方向灯亮绿灯;DG2为1,DR2为0,DG3为1,DR3为0,即上下两方向灯亮红灯。

调用延时子程序后,8255输出信号14H,及为二进制数00010100B,在其对应的8个红绿灯接口中,DG1为0,DR1为0,DG4为0,DR4为0,即左右两方向灯亮黄灯;DG2为1,DR2为0,DG3为1,DR3为0,即上下两方向灯亮红灯。

之后通过无条件指令JMP跳转到程序开始,重新开始输入信号。

7.程序流程图:

开始

段定义及端口初始化

端口输出69H

延时子程序

端口输出7DH

延时子程序

端口输出41H

延时子程序

端口输出96H

延时子程序

端口输出D7H

延时子程序

端口输出41H

重复前面两状态3次

重复前面两状态3次

结束

8.硬件电路原理图:

8255

PCo

PC1

PC2

PC3

PC4

PC5

PC6

PC7

74LS138

DG1

DG2

DG3

DG4

DR1

DR2

DR3

DR4

Yo

CS8255

9.硬件电路设计说明:

把实验箱中的8255的8个C口按我规定的顺序接到实验箱红绿灯模块的接口处。

实验中,8255的C口作为输出口,通过编写程序来控制C口输出的信号,信号从C口输出后以二进制数的形式被输出到实验箱的红绿灯模块的接口。

再以82558个C口所输出的高低电平来控制实验箱的红绿灯模块的灯的情况。

四、附加内容的分析:

1.设计思想:

设计中的主程序与题目二主程序相同,在其中加入了利用实验箱上的8个小灯的红绿灯倒计时系统。

将8255的B口作为8个小灯信号的输出口,当红绿灯某两方向灯进入绿灯闪烁后,进入8个小灯的倒计时系统,8个小灯将按以下顺序熄灭:

首先是最右侧HL0灯熄灭,再是最左侧HL7灯熄灭,接下来是灯HL1熄灭,再是灯HL6熄灭,再按HL2HL5HL3HL4的顺序熄灭。

当8个灯都熄灭后,刚绿灯闪烁的灯变为黄灯。

当绿灯再次进入闪烁时,再次进入倒计时系统。

2.实验箱上控制八个小灯的接口电路:

HL7

HL6

HL5

HL4

HL3

HL2

HL1

HL0

L7

L6

L5

L4

L3

L2

L0

L1

3.程序源代码:

DSEGSEGMENT

DSEGENDS

SSEGSEGMENTSSEG

SSEGENDS

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG,ES:

DATA,SS:

SSEG

BEGIN:

MOVAL,80H

MOVDX,203H

OUTDX,AL

MOVDX,202H

OVF:

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,07DH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY2

MOVAL,041H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,0D7H

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY2

MOVAL,014H

OUTDX,AL

CALLDELAY

JMPOVF

DELAYPROCNEAR

MOVBX,1CAH

CNT1:

MOVCX,0DFH

CNT2:

LOOPCNT2

DECBX

JNZCNT1

RET

DELAYENDP

DELAY2PROCNEAR

OUTDX,AL

MOVDX,201H

MOVAL,00H

OUTDX,AL

CALLDELAY

MOVAL,01H

OUTDX,AL

CALLDELAY

MOVAL,081H

OUTDX,AL

CALLDELAY

MOVAL,083H

OUTDX,AL

CALLDELAY

MOVAL,0C3H

OUTDX,AL

CALLDELAY

MOVAL,0C7H

OUTDX,AL

CALLDELAY

MOVAL,0E7H

OUTDX,AL

CALLDELAY

MOVAL,0EFH

OUTDX,AL

CALLDELAY

MOVAL,0FFH

OUTDX,AL

CALLDELAY

MOVDX,202H

RET

DELAY2ENDP

CSEGENDS

ENDBEGIN

4.程序结果分析:

将实验箱上的红绿灯模块和八个小灯倒计时模块按要求接入8255的B口和C口,再将实验箱与电脑连接,打开电脑编程软件,将所编译的程序打入其中,完成后将程序捎入实验箱中,程序开始后,8255

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

当前位置:首页 > 考试认证 > 其它考试

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

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