最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx

上传人:b****3 文档编号:16596550 上传时间:2022-11-24 格式:DOCX 页数:22 大小:157.47KB
下载 相关 举报
最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx_第1页
第1页 / 共22页
最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx_第2页
第2页 / 共22页
最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx_第3页
第3页 / 共22页
最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx_第4页
第4页 / 共22页
最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx

《最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

最新微机原理课程设计之存储器扩展分析与设计Word文件下载.docx

在扩展的ROM中存入有9个不同的信息,编号0到8,每个信息包括40个字字符。

从键盘接收0到8之间的一个编号,然后在屏幕上显示出相应的编号的信息内容,按“q”键退出。

3.撰写课程设计说明书。

内容包括:

摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:

设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

时间安排:

2012年12月30日-----12月31日查阅资料及方案设计

2013年01月01日-----01月05日编程

2013年01月06日-----01月08日调试程序

2013年01月09日-----01月10日撰写课程设计报告

指导教师签名:

2013年1月11日

系主任(或责任教师)签名:

年月日

摘要

存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。

有了存储器,计算机才有记忆功能,才能保证正常工作。

按存储介质分可分为半导体存储器和磁表面存储器。

按存储器的读写功能分可分为只读存储器(ROM)和随机读写存储器(RAM)。

只读存储器ROM是一种对其内容只能读,不能写的存储器。

随着半导体技术的发展,只读存储器也根据不同需要设计出不同的种类。

其中电可擦除只读存储器(EEPROM)是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAM可读可改写的特性,又有非易失性存储器ROM在掉电后仍能保持所存数据的优点。

因此,EEPROM在单片机存储器扩展中可以作程序存储器,也可以用作数据存储器,基于EEPROM存储器的扩展设计有十分重要的意义。

建立一个信息检索系统,每个序号对应一个不同的信息。

通过键盘输入不同的指令序号,在电脑屏幕上会输出想要得到的信息。

当超出序号范围的时候,屏幕会显示错误。

程序还附加一个进一步查询的子程序。

在输出信息后,可以对该信息进行查寻,当输入信息与序号相对应的信息完全相同时,会在屏幕上显示NO字样,然后继续进行下一次的提示输入。

关键字:

存储器EEPROM信息检索

1设计意义及任务

1.1设计意义

《微机原理与接口技术》主要培养统筹运用课本所学的理论知识,掌握程序设计模块化基本理论和基本方法。

EEPROM(电可擦写可编程只读存储器)是用户可更改的只读存储器(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。

EEPROM在单片机存储器扩展中可以作程序存储器,也可以用作数据存储器。

建立一个信息检索系统,然后通过键盘输入不同的指令,输出想要得到的信息。

信息检索是为了满足用户的查询需求,本次课程设计是针对我们平时学习的理论知识的检验,在实践中考察我们的掌握能力,更好的存储器的一些问题。

1.2设计任务

(1)画出简要的硬件原理图,编写程序。

(2)完成以下任务:

1)设计一个EEPROM扩展电路,由两片2864扩展为16KB容量,并编程信息检索程序。

2)编程内容:

从键盘接收0到8之间的一个编号,然后在屏幕上显示出相应的编号的信息内容,按‘Q’或‘q’键退出。

2EEPROM扩展电路设计

2.1方案设计

8086通过控制138译码器来实现控制EEPROM扩展电路,即两片2864芯片。

通过D0

D7数据总线来传输数据,通过地址总线来实现读写的输入输出,同时数据可以先放在74LS373锁存器中存放来保护数据。

硬件原理图如图2-1所示。

图2-1硬件原理图

2.2芯片选择

EEPROM芯片在写入时能自动完成擦除,而且不需要专用的编程电源,可直接使用5V电源。

在芯片引脚设计上,2KB的EEPROM2816与相同容量的EPROM2716和静态RAM6116兼容,8KB的EEPROM2864A与相同容量的EPROM2764A和静态RAM6264兼容,这些特点给硬件电路设计和调试带来了方便。

常用的并行EEPROM芯片有2816/2816A、2817/2817A、2864A等,本次设计要形成16KB容量,若采用2816/2816A、2817/2817A,需用8块芯片,连接线麻烦,所以采用2864芯片扩展。

2816、2817、2864的读出数据时间均为250ns,写入时间为10ms。

2864引脚图如图2-2所示。

图2-22864引脚图

计算芯片数量:

2864芯片容量是64/8=8,即8KB。

,所以需用两片2864芯片。

2.3连线说明

数据线:

2864的8位数据线直接与8086的数据线相连。

地址线:

根据选择的芯片进行地址分配,由于选择芯片分别是8KB,这样片内寻址需要的地址线是13根,因使用138译码器来片选,所以8086上的地址线

作为片内寻址与8KB的ROM的

地址连接。

通过一片74LS138译码器来控制片选。

控制低8位的2864

(1)的

控制高8位的2864

(2)的

,138译码器的输入端连接到8086的地址线的高位

,地址分配表如表2-1所示。

所以2864

(1)的地址范围为0000H至1FFFH,2864

(2)的地址范围为2000H至3FFFH,两片加起来一共是16KB。

为了防止CPU在读取数据时,数据发生变化,在硬件电路上采用了74LS373锁存器。

控制线:

中的两根地址线如

分别控制两片2864的读写端。

地址分配表如表2-1所示。

表2-1地址分配表

C

B

A

0000

1111

2.4硬件电路图

存储器扩展硬件电路图如图2-3所示。

图2-3存储器扩展硬件电路图

3程序设计

3.1设计思路

在存储器的数据段里分配10个小数据段,每个小数据段分配40个字符,0-8这9个信息存储信息内容,另外一个输出错误信息,Q或q退出。

取MSG0的首地址作为整个信息段的首地址,根据输入的信号的不同,用序号乘40再加到首地址上找到相应序号的信息内容。

步骤为:

(1)开始,等待信息输入;

(2)输入序号,判断是否为Q。

若是转(7),否则转(3);

(3)判断是否满足要求的序号范围。

满足转(4),否则转(6);

(4)根据输入的序号,计算出相关信息的物理地址;

(5)输出结果,跳转到

(2);

(6)输出错误信息提示,转

(2);

(7)结束,退出程序。

3.2程序框图

3.2.1主程序流程图

主程序流程图如图3-1所示。

3.2.2输入程序流程图

输入程序流程图如图3-2所示。

程序中需使用DOS调用程序来显示一串字符串:

MOVAH,9

INT21H

3.2.3输出程序流程图

输出程序流程图如图3-3所示。

图3-1主程序流程图

图3-2输入程序流程图

图3-3输出程序流程图

从键盘输入序号,并运用DOS命令将所得结果显示在屏幕上,随后返回输入序号提示语句。

3.3设计程序一

根据题目,尝试编写了一个简单程序。

为与最后的程序作比较,将此程序列出,如下:

DATASEGMENT

n0db'

0000000000000000000000000000000000000000'

n1db'

1111111111111111111111111111111111111111'

n2db'

2222222222222222222222222222222222222222'

n3db'

3333333333333333333333333333333333333333'

n4db'

4444444444444444444444444444444444444444'

n5db'

5555555555555555555555555555555555555555'

n6db'

6666666666666666666666666666666666666666'

n7db'

777'

n8db'

888'

ErrmsgDB'

No!

Input0-8!

Qorq,Exit$'

;

输出错误信息

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA;

段属性说明

START:

MOVAX,DATA;

初始化DS

MOVDS,AX

LOP:

MOVAH,01H;

输入一个数字

INT21H

CMPAL,'

Q'

判断是否输入字符与Q相等,相等跳到EXIT退出

JZEXIT

q'

判断是否输入字符与q相等,相等跳到EXIT退出

0'

输入不在0-8范围则退出

JBERR;

小于0跳转

8'

JAERR;

大于8跳转

SUBAL,30H;

计算字符串的地址

MOVDH,28H;

28H=40

MULDH

MOVBX,AX;

数据放入BX

CALLDISP

JMPLOP;

输出错误信息后,继续输入序号

ERR:

MOVDL,0DH;

输出提示错误语句

MOVAH,02

MOVDX,OFFSETErrmsg

MOVAH,9

INT21H

MOVDL,0DH;

回车和换行

返回LOP继续输入序号

EXIT:

MOVAH,4CH;

返回DOS

INT21

DISPPROCNEAR

回车换行

MOVDL,0AH;

多字符输入

MOVCX,28H;

28H=40控制循环次数即输出的信息字符个数

LOP1:

MOVDL,[BX];

循环输出字符串

MOVAH,02H

INCBX;

BX打印字符

LOOPLOP1

MOVDL,0DH

MOVDL,0AH

INT21H

RET

DISPENDP

CODEENDS

ENDSTART;

源程序结束

调试结果如图3-4所示。

图3-4调试结果

出现的问题有:

问题1:

开始输入序号时,只能显示在屏幕的第一个空间。

问题2:

在输出没有写满40个字符的字符串时,输出是乱码。

问题3:

按Q或q退出时,还会显示一串数字再退出。

3.4设计程序二

在程序一调试的基础上,检查程序发现一些问题,在输入不是Q或q或0至8的数字时,没有写输出显示字符的程序;

输入是应该是字符串,因为有回车。

在此基础上,继续改善设计的程序,设计出程序二,即最终程序。

输入一个序号,首先判断是否是Q或q。

如果是,则直接跳出,结束程序。

如果不是,就在已设定好的信息库中检索相应信息,并将信息显示在屏幕上,紧接着跳入下一次序号输入界面。

如果没有相应的序号所对应的信息,即超出序号范围会自动报错,并跳到下一次序号输入界面。

主体部分程序如下:

BEGIN:

CALLCRLF;

LEADX,MSG;

输出提示语句Pleaseinputanumber:

MOVAH,09H

INT21H

MOVAH,1;

输入序号

CMPAL,'

判断为‘Q’退出

JEEXIT

CMPAL,'

判断为‘q’退出

JEEXIT

SUBAL,'

小于0跳转ERROR

JBERROR

CMPAL,8;

大于9跳转ERROR

JAERROR

MOVBX,OFFSETMSG0;

取第一个字符串的首地址

MULFORTY

ADDBX,AX;

找到相应字符串的地址

CALLDISPLAY;

调用DISPLAY子程序

定义ERROR程序:

提示错误,重新要求输入序号,再次检测。

ERROR:

CALLCRLF;

LEADX,ERRMSG;

提示错误语句

MOVAH,09H

INT21H

CALLCRLF

JMPBEGIN;

返回BEGIN程序

定义显示信息程序:

将字符信息一个个输出。

DISPLAYPROCNEAR

LEADX,MSG9;

提示语Themessageis:

MOVCX,40;

设置循环次数

DISP1:

MOVDL,[BX];

输出字符串

MOVAH,2

INCBX

LOOPDISP1

CALLCRLF

JMPBEGIN

RET;

返回程序

DISPLAYENDP

完整程序见附录一。

3.5调试过程

3.5.1调试过程

调试过程主要由编辑、汇编、链接和执行等几个步骤组成。

当编辑好汇编语言源程序后,将其保存为.ASM文件。

再调用汇编程序对源程序进行翻译,生成.OBJ的目标文件。

在汇编过程中,源程序有错误则不能生成目标文件,经过多次修改最终生成无错误目标文件。

之后,调用链接程序(LINK)将用户目标程序和库文件进行链接、定位,生成.EXE可执行文件。

如果刚开始可执行程序运行之后没有得到预想的结果,又要重新检查源程序的算法错误,重新编辑、汇编、链接和执行,最终得到预期的结果。

3.5.2结果记录

经过多次调试、修改、测试结果,最后基本符合要求。

调试最终结果如图3-5所示。

完整的调试见附录二。

图3-5调试最终结果

3.5.3调试过程中遇到的问题

(1)问题1:

程序运行后无法生成.obj文件。

首先,由于软件缺陷,要先运行一遍软件自带的程序之后,运行自己编写的程序,才能运行。

另外,在程序有错误时,当错误被改正之后,即能正常生成.obj文件。

(2)问题2:

检查程序发现一些问题,在输入不是Q或0至8的数字时,没有写输出显示字符的程序;

输入是应该是字符串而不是字,因为需要有回车。

(3)问题3:

选择序号后,屏幕上出现错误附加信息。

这是由于,设计的是40个字符空间,当某一条序号所对应的信息达不到四十个字符时,由于是顺序存储,计算机会自动用下一个序号所对应的信息填补上一条信息未满40个字符的空间,保证输出一定是40个字符。

于是,当调整每个信息的字符数均为40个字符时,即将空白写上空格符,将不会再出现错误的附加信息。

(4)问题4:

输入正确的序号后,会输出两个字符串。

这是由于在显示程序的问题,在显示程序块结束的地方加入返回BEGIN语句,程序可以运行处正确的结果。

结束语

通过本次课程设计让我学到了很多东西,受益匪浅。

虽然刚才拿到任务,不知从何下手,对编程也是一头雾水,但在通过看书和网上查阅了相关芯片资料,了解了一些设计原理,对硬件设计有了一定了想法,顺利用PROTUS软件画出硬件电路图,编写程序时,先简化了题目,从简单的开始写,再不断加入新的功能,逐渐完善所设计的程序。

通过运用微机原理专用汇编程序软件MF2KP,大大提高了我们的程序设计部分的效率,可见,这次课程设计,还锻炼了我们在短期内熟练掌握新软件,新知识的能力。

当然,通过这次课程设计,我还发现了自己的不少问题。

首先是理论知识掌握得不够牢固,常常忘记一些知识点,对设计的过程和效率有很大影响。

其次是动手能力还有待提高,虽然这次没有操纵实物,但在计算机上编程和发现问题解决问题的能力上有所欠缺。

设计过程中不仅要求我对知识的掌握能力,还要细心和耐心。

在几天的时间中,我感到自己的知识还是比较匮乏,所以平时还是需要多锻炼自己,加深对所学的知识的了解。

本次设计涉及到了书本的绝大部分内容,将课本中所学的知识一一串联起来,考验了自己的基础知识,也提升了学会串联知识的能力。

在今后的学习中我要锻炼自己独立分析问题,解决问题的能力,端正态度努力学习,不断的完善自己,充实自己。

参考文献

[1]彭虎.微机原理与接口技术(第三版).电子工业出版社.2011

[2]张小鸣.微机原理与接口技术(第一版).清华大学出版社.2009

[3]康华光.电子技术基础数字部分(第五版).高等教育出版社.2005

[4]李志明.计算机原理与汇编语言程序设计.中南大学出版社.2005

[5]潘名莲.微计算机原理.电子工业出版社.2004

附录一

MESSDB'

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

0DH,0AH

DB'

|Inputanumberbetween0and8|'

|PressQORqtoquit|'

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

0DH,0AH,'

$'

提示语句

FORTYDB40

MSG0DB'

Iamveryhappy'

MSG1DB'

TodayisMonday'

MSG2DB'

TodayisTuesday'

MSG3DB'

TodayisWesnesday'

MSG4DB'

TodayisThursday'

MSG5DB'

TodayisFriday'

MSG6DB'

TodayisSaturday'

MSG7DB'

TodayisSunday'

MSG8DB'

Todayisagoodday'

MSGDB'

Pleaseinputanumber:

MSG9DB'

Themessageis:

$'

MESS1DB'

no!

CRLF1DB0DH,0AH,'

ERRMSGDB'

error!

invaliedparameter!

!

'

错误信息

STACKSEGMENT

DB256DUP(0);

256字节堆栈空间

TOSLABELWORD

STACKENDS

MAINPROCFAR

DATA,SS:

STACK;

MOVAX,STACK;

初始化SS

MOVSS,AX

MOVSP,OFFSETTOS;

取TOS首地址

PUSHDS;

保存旧数据段

SUBAX,AX;

AX清零

PUSHAX;

保存在堆栈中

MOVAX,DATA;

MOVDS,AX

CALLSHOW;

调用子程序SHOW

小于0跳转error

大于9跳转error

CALLDISPLAY

提示错误语

输出字符串子程序

MOVDL,[BX]

INCBX

CALLCRLF

JMPBEGIN

DISPLAYENDP

CRLFPROCNAER;

定义CRLF子程序

MOVDX,OFFSETCRLF1

MOVAH,9H

INT21H

RET

CRLFENDP

SHOWPROCNEAR;

定义

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

当前位置:首页 > 初中教育 > 理化生

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

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