ImageVerifierCode 换一换
格式:DOCX , 页数:67 ,大小:1.20MB ,
资源ID:3846496      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3846496.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理实验教程.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理实验教程.docx

1、微机原理实验教程微机原理实验教程 计算机系统教研室微机原理课程组南通大学计算机科学与技术学院2010年3月前 言本实验教程是电子工业出版社已出版的微机原理与接口技术(第2版)教材的配套教材,主要面向高等院校“微机原理”、“汇编语言程序设计”、“接口与通信”的课程教学。这三门课程都是实践性很强的课程,只有通过实践才有可能掌握程序设计技术以及微机接口的原理与应用并达到较高的水平。本实验教程是根据我院三门课程的多年教学经验,结合我院学生的实际情况,在突出应用编程和实际应用的基础上编写的。我院微机原理实验室采用武汉恒科电子教学仪器有限公司生产的“超想微机原理与接口实验系统(超想3000TC)”。该系统

2、采用超大规模定制芯片的通用仿真器,USB通讯模式,具有硬件自动检测功能、万用硬件扩展功能。随实验仪提供的系统仿真开发软件界面功能丰富,使用者可以在此环境下完成汇编程序的编辑、汇编、链接、调试工作。本实验教程可使学生对实验仪都有所了解,更好地完成教学大纲规定的实验。此外,我院“微机原理”、“汇编语言程序设计”、“接口与通信”课程每学期开设班级为16个班左右,且每个班级都配有相应的课程设计,加上教学内容繁多以及课上学时有限,不可能在课堂上详细介绍实验仪的原理及使用,学生可通过实验教程来弥补。本实验教程涵盖微机原理实验仪的原理介绍及使用说明;每个实验既注重基本原理的应用,又注重学生灵活应用所学知识和

3、设计能力的培养,综合性较强;交通信号灯的设计与实现是集整个课程所学知识灵活应用地具体体现,对测试学生基本理论掌握程度,特别是设计能力的培养是十分有益的。本实验可作为课程设计的内容之一;实验所需的软件环境、实验操作的步骤和方法以及调试工具在附录中都作了详细阐述,同时实验中常用的DOS和BIOS功能调用及使用方法也作了说明,为学生的预习和自学提供了帮助。书中如有错误和不当之处,欢迎读者批评指正。 编者2009年3月目 录第一部分 汇编程序设计 1第1章 汇编程序设计初步 11.1 实验目的与要求 1一、实验目的 1二、实验要求 11.2 实验方法(汇编工具的使用) 2一、用编辑程序建立asm文件

4、2二、用汇编程序对源文件汇编产生目标文件obj 2三、用连接程序link产生执行文件exe 3四、运行程序 4五、程序调试及结果查看 4第2章 程序的基本结构实验 62.1 循环程序设计 6实验1 用表格形式显示字符 6实验2 查找匹配字符串 62.2 分支程序设计 9实验1 分类统计字符个数 9实验2 显示英文月份 92.3 子程序设计 11第二部分 I/O接口实验 12第3章 微机原理与接口实验仪简介 12第4章 硬件安装与硬件实验操作步骤 14第5章 I/O接口实验 16实验1 简单I/O接口实验 16实验2 8255可编程并行接口实验 18实验3 8253定时器实验 21实验4 模/数

5、转换实验 22附 录 23附录1 常用DOS命令 23附录2 DEBUG主要命令 25附录3 汇编程序出错信息 28附录4 常用字符ASCII码值 32附录5 80888086指令系统 33附录6 IBM PCAT中断功能表 36附录7 常用DOS功能调用(INT 21H) 37附录8 BIOS功能调用 40第一部分 汇编程序设计第1章 汇编程序设计初步1.1 实验目的与要求一、实验目的学习程序设计的基本方法和技能,进一步加深对微机接口芯片原理及工作过程的理解,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。为后继课程打下坚实的基础。二、实验要求1. 上机前要做好充分的准备,包括程序框图、

6、源程序清单、调试步骤、测试方法、对运行结果的分析等。2. 上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法及实验仪器。在程序的调试过程中,有意识地学习及掌握debug程序的各种操作命令,以便掌握程序的调试方法及技巧。为了更好地进行上机管理,要求用硬盘储存程序,并建立和使用子目录,以避免文件被别人删除。有关目录及文件操作的DOS命令见附录1。此外,为了便于统一管理硬盘中的文件,要求实验者按以下形式命名实验文件:字母学号.asm其中字母取az中的一个字母,按实验顺序从a至z排列。如学号为850431学生的第二个实验程序所

7、对应的文件名应为b850431.asm。3程序调试完后,须由实验指导教师在机器上检查运行结果。每个实验完成后,应写出实验报告。实验报告的要求如下:1 设计说明:用来说明设计的内容、硬件原理图。它包括:程序名、功能、原理及算法说明、程序及数据结构、主要符号名的说明等。2 调试说明:便于学生总结经验提高编程及调试能力。它包括:调试情况,如上机时遇到的问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会等。 3 程序框图。4 程序清单。1.2 实验方法(汇编工具的使用)一、用编辑程序建立asm文件用文字处理软件编辑源程序。常用编辑软件有:E

8、DIT.EXE、记事本、WORD等。无论采用何种编辑工具,生成的文件必须是纯文本文件,且文件扩展名为asm。下列程序完成两个字节数相加,并将和存于SUM变量中。用编辑软件建立以abc.asm为文件名的源程序文件。 DATA SEGMENT BUF DB 47H,6AH SUM DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,BUF ADD AL,BUF+1 MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS END START二、用汇编程序对源

9、文件汇编产生目标文件obj当源程序建立以后,用汇编程序masm对abc.asm源程序文件进行汇编,操作步骤如下:(以下划线部分为用户键盘输入,“”代表回车,未划线部分为屏幕显示,小字部分为说明)。C:MASM masm abc Microsoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Crop 1981-1985,1987,All rights reservedObject filename abc.obj 输入目标文件名,若采用括号 中的名字,按Source listingNUL.LST 若需要列表文件,输入文件名,按

10、;如果不需要,直接按Cross-referenceNUL.CRF 若需要交叉索引文件,输入文件名;如不需要,直接按 49758 + 451602 Bytes symbol space free0 Warning Errors0 Severe Errors回答上述问题后,汇编程序就对源程序进行汇编。若汇编中发现源程序有语法错误,则列出错误语句所在行、错误代码及错误性质说明。错误分警告错误(Warning Errors)和严重错误(Severe Errors)。警告错误指汇编程序认为的一般性错误;严重错误指汇编程序认为无法进行正确汇编的错误,给出其错误个数,错误性质。这时,就要对错误进行分析,找出

11、问题和原因,然后再调用编辑程序对源程序进行修改。修改后重新汇编,直到无错误为止。除了用上述方法分步回答问题外,还可以用命令行的形式按顺序对相应提示予以回答,其格式是:masm 源文件名,目标文件名,列表文件名,交叉引用文件名;其中文件名都不必给出扩展名,汇编程序会按照缺省情况使用或产生。若只想对部分提示给出回答,则在相应位置用逗号隔开,若不想对剩余部分作答,则用分号结束。例如以下命令经汇编后在当前目录下产生abc.obj文件,不产生lst文件和crf文件。C:MASM masm abc; 三、用连接程序link产生执行文件exeC:MASM link abc Microsoft (R) 808

12、6 Object Linker Version 5.00Copyright (C) Microsoft Crop 1981-1985,1987,All rights reservedRun File abc.exe 输入可执行文件名,若采用括号 中的名字,按List FileNUL.MAP 若需要映象文件,输入文件名,按;如果不需要,按LibrariesNUL.LIB 若需要库文件,输入文件名,按;如果不需要库文件,按Warning: no stack segment上述给出的警告信息,表示用户程序没有定义堆栈段。该警告不影响可执行程序的生成和正常运行,因为运行时会自动使用系统提供的缺省堆栈。

13、回答上述问题后,连接程序开始连接,若连接过程中有错,则显示错误信息。此时,按错误提示,修改源程序,然后,回到第二步。直至汇编无错误,连接无错误(错误No Stack Segment 除外),在当前目录下产生可执行文件(exe),进入第四步。同样也可以用命令行的形式按顺序对相应提示予以回答,其格式是:link 目标文件名,可执行文件名,内存映象文件名,库文件名;其中不必给出扩展名,连接程序会按照缺省情况使用。若只想对部分提示给出回答,则在相应位置用逗号隔开,若不想对剩余部分作答,则用分号结束。例如以下命令行对abc.obj文件连接后在当前目录下产生abc.exe文件,其余文件均不需要。C:MAS

14、M link abc; 从6.0版以后,Microsoft公司把MASM和LINK的功能由一个ML.EXE程序完成,只需一个命令就可以把源程序汇编并连接生成.EXE文件。而不再需要分两步操作。ML.EXE常用格式为:ML /F1/Fm/Fr/c 源文件其中,源文件名的扩展名(.asm)不能省,中的F必须大写,l,m,r,c必须小写,各可选项含义如下:/F1:产生.lst列表文件,缺省时不产生。/Fm:产生.map内存映象文件,缺省时不产生。/Fr:产生.sbr交叉参考文件,缺省时不产生。/c:只产生,obj目标文件,不产生.exe可执行文件。缺省时只产生.exe文件。例:ML /Fl abc.

15、asm以上命令会对已存在的abc.asm文件汇编且连接,并在当前目录下生成一个列表文件abc.lst和一个可执行文件abc.exe.四、运行程序设连接生成的执行文件为abc.exe,运行程序只需在DOS提示符下键入文件名即可,如:C:MASM abc 若程序能够运行但不能得到预期结果,则需要静态或动态查错。静态查错即检查源程序,并对源程序进行修改,然后再汇编、连接、运行。如果静态检查无法发现错误,则需动态查错。五、程序调试及结果查看这里使用DEBUG程序进行调试,DEBUG是一种使用广泛的强有力的汇编语言程序或二进制文件的调试工具。设abc.asm经汇编及连接后,产生abc.exe文件,对它的

16、调试操作如下:1把程序装入内存,并显示程序清单C:MASMdebug abc.exe -此时,debug已将执行程序装入内存,可键入debug的有关命令调试程序。-U 用反汇编命令U列出程序清单13E3:0000 B8E213 MOV AX,13E213E3:0003 8ED8 MOV DS,AX13E3:0005 A00000 MOV AL,000013E3:0008 02060100 ADD AL,000113E3:000C A20200 MOV 0002,AL13E3:000F B44C MOV AH,4CH13E3:0011 CD21 INT 212查看数据段内容或查看寄存器内容-D

17、DS:0000 查看数据段内容13E2:0000 47 6A 00 00 00 00 00 00-00 00 00 00 00 00 00 00 Gj.可见0000、0001单元内容为数据段定义的内容,分别为47H、6AH。DEBUG状态下,缺省数制为十六进制数。-R 查看寄存器内容AX=13E2 BX=0000 CX=0023 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=13D2 ES=13D2 SS=13E2 CS=13E3 IP=0003 NV UP EI PL NZ NA PO NC若查看指定寄存器内容,在R命令后跟上寄存器名,例:-R AX 查

18、看寄存器AX的内容AX 13E2:若需修改AX的值,则键入新值;若无需更改,按回车。3连续运行程序,查看结果-G 或 -G =0 0013 运行程序,0为运行起始地址,0013为断点地址-D DS:0000 查看内存结果13E2:0000 47 6A B1 00 00 00 00 00 00 00 00 00 00 00 00 00 Gj.可见0002单元中内容已变为0000和0001两单元内容之和。4如果连续得不到正确结果,需分步跟踪运行-T=0000 0000这所需要运行指令的地址AX=13E2 BX=0000 CX=0023 DX=0000 SP=0000 BP=0000 SI=0000

19、 DI=0000DS=13D2 ES=13D2 SS=13E2 CS=13E3 IP=0003 NV UP EI PL NZ NA PO NC13E3:0003 8ED8 MOV DS,AX显示单步执行后寄存器和标志状态之后,停在下一条指令开始处。-T 顺序运行下一条指令5退出DEBUG-Q第2章 程序的基本结构实验2.1 循环程序设计实验1 用表格形式显示字符一、实验目的与要求1熟悉汇编语言运行、调试环境及方法。2掌握循环程序的设计方法。3掌握显示输出DOS功能调用的使用方法。4熟悉调试工具DEBUG,并运用DEBUG工具调试程序。二、实验内容按15行16列的表格形式显示ASCII码为10H

20、FFH的所有字符。每16个字符为一行,每行中的相邻两个字符之间用空白符(ASCII码为0)分隔。三、分析与提示1显示字符可使用DOS功能调用的2号功能,使用方法如下: MOV AH,02H MOV DL,需显示字符的ASCII码值 INT 21H本实验中可把BL寄存器初始化为10H,显示完当前字符后使其加1以取得下一个字符的ASCII码。若需显示的字符在BL寄存器中,则上述第二条指令为: MOV DL,BL2显示空白符时,用其ASCII码值0置入DL寄存器。每行结束时,用显示回车符(ASSII码值为0DH)和换行符(ASSII码值为0AH)来结束本行并开始下一行。3本程序为两重循环,需设置两个

21、循环计数器,可用CL寄存器作为行计数器,初始值为15,CH寄存器作为列计数器,初始值为16。实验2 查找匹配字符串一、实验目的与要求1进一步熟悉汇编语言运行、调试环境及方法。2进一步掌握循环程序的设计方法。3掌握显示输出、键盘输入DOS功能调用的使用方法。二、实验内容程序接收用户键入的一个关键字以及一个句子,如果句子中不包含关键字则显示“No Match!”;如果句子中包含关键字则显示“Match”,且把该字在句子中的位置用十六进制数显示出来。要求程序的执行过程如下:Enter keyword:abcEnter sentence:We are studying abc.Match at loc

22、ation:11H of the sentence.Enter keyword:xyzEnter sentense:We are studying abcNo match!Enter keyword:C三、分析与提示程序可由三部分组成:1输入关键字和一个句子,分别存入相应的缓冲区中。可用DOS功能调用0AH,使用方法如下:字符缓冲区定义格式如下: maxlen db 32 actlen db ? string db 32 dup(?)缓冲区的第一个字节定义字符的最大个数;第二个字节为实际输入的字符个数,该数据由OAH功能根据用户实际输入自动计算并填入。在这两个字节后,存放输入的字符串,字符串以

23、回车(0DH)结束,但回车符不作实际输入字符的个数。输入字符串程序段如下: LEA DX,MAXLEN MOV AH,0AH INT 21H2在句子中查找关键字关键字和句子中相应字段的比较可使用串比较指令。为此必须定义附加段,但附加段和数据段可定义为同一段,以便于串指令的使用。这样,相应的寄存器就有明确的定义:SI寄存器为关键字的指针;DI寄存器为句子中正相比较的字段的指针;CX寄存器存放关键字的长度。整个句子和关键字的比较过程可以用一个循环结构来完成。循环次数为: 句子长度关键字长度1在计算循环次数时,如遇到句子长度小于关键字长度,则显示“No match!”。循环中还需用到BX寄存器,用来

24、保存句子中当前正在比较字段的首地址。BX、SI、DI寄存器的作用如图2.1所示:图2.1 在查找匹配字符串中使用的指针3输出信息可使用DOS功能调用的09H功能,09H功能为显示字符串,该字符串定义时必须以“$”结束。显示字符串程序段如下:LEA DX,字符串首地址MOV AH,09HINT 21H4将BX寄存器内的二进制数用十六进制数形式显示,需将BX的内容从左到右每四位为一组,采用循环移位的方法把所要显示的4位二进制数移到最右面。若4位所表示的二进制数在09之间,则加上30H转换为相应ASCII码;若4位所表示的二进制数在AF之间,则加上37H转换为相应ASCII码。最后调用DOS功能调用

25、的02H功能显示字符。2.2 分支程序设计实验1 分类统计字符个数一、实验目的与要求1掌握分支程序的设计方法。2掌握二进制转换为十进制的方法二、实验内容程序接收用户键入的一行字符(个数80,字符串以回车结束),按字母、数字及其它字符分类统计,并以十进制数形式显示统计结果。三、分析与提示1程序可使用DOS功能调用的0AH功能接收用户键入的字符,然后再逐个取出分类统计,大、小写字母均作为字母统计。2将统计结果以十进制数形式显示方法有两种,一是将统计结果除以10,商转换为ASCII码并显示,余数转换为ASCII码并显示(因字符总个数80);二是在统计过程中,某类字符个数加1后,用DAA指令调整为十进

26、制数,然后将统计结果从左到右每四位为一组,转换为ASCII码并显示。3程序的执行过程如下:Please input string:a6bc&*23gLetter:04Digit:03Other:02实验2 显示英文月份一、实验目的与要求1进一步掌握分支程序的设计方法。2掌握汇编语言中查找表格的方法。二、实验内容程序接收用户键入的月份数,在终端上显示该月的英文缩写名。三、分析与提示1根据要求,需建立一个英文缩写的月份表,该月份表可定义如下:MONTAB DBJAN,FEB,MAR,2根据用户输入的月份数可以计算出与其对应的表格地址,计算方法是: MONTAB(月份数1)33键入月份可用DOS功能

27、调用的0AH功能,但接收的月份数是ASCII码,必须转换为数字才能用上面公式。4程序的执行过程如下:month?5MAYmonth?9SEPmonth?2.3 子程序设计一、实验目的与要求1掌握子程序的设计方法。2掌握十六进制转换二进制、二进制转换为十进制的方法二、实验内容从键盘键入0FFFFH之间的十六进制数,并转换成十进制在屏幕上显示出来。三、分析与提示1采用子程序结构将据要求分成几个子程序实现。子程序HEXIBIN实现从键盘取得十六进制数并转换为二进制数;子程序BINIDEC实现把此二进制数转换为十进制数并显示;另外用CRLF子程序显示回车和换行。2假设接收的十六进制数为a1a2a3a4

28、,转换为二进制数的方法为: (016+a1)16+a2)16)+a3)16a4 可用BX存放部分和,初始化为0;每输入一位数,完成(BX)16+该位数3二进制数转换为十进制数的方法是用该二进制数除以10000,商转换为ASCII码并用DOS功能调用的02H功能显示;再将余数除以1000,以次类推。第二部分 I/O接口实验第3章 微机原理与接口实验仪简介 超想微机原理与接口实验系统(超想3000TC),如图1所示,是由武汉恒科电子教学仪器有限公司研制的产品,采用了超大规模定制芯片的通用仿真器,USB通讯模式,具有硬件自动检测功能、万用硬件扩展功能。主实验箱电路板为国标2.0mm,结构设计合理。图

29、1 超想-3000TC综合实验仪实验仪提供的主要资源,如图2所示,有模拟量、开关量、LED彩灯、LED点阵区、LED八段数码管区、脉冲源、AD/DA实验区、I/O口扩展实验、8155、8255、8279、8253、8251串行通讯、8237DMA、8259中断、键盘显示、红外线、语音功放区、压力传感区、直流/步进电机区、按键开关区、万用实验扩展区等。实验仪提供的万用扩展模块有CPLD/USB2.0扩展模块,可做CPLD、USB2.0扩展实验;IC卡、语音、温度扩展模块,可做IC卡、语音录放、数字温度实验。随实验仪提供的系统仿真开发软件界面功能丰富,使用者可以在此环境下完成汇编程序的编辑、汇编、

30、链接、调试工作。图2 超想-3000TC型实验仪结构分配图第4章 硬件安装与硬件实验操作步骤一、微机原理与接口工作模式选择做8086微机接口实验时,要将八段数码管右上角的三个小拨动开关同时拨向左边(即拨向88),将8279芯片左上方的小拨动开关拨向上边(即拨向88),将8279芯片右下方的红色拨动开关中,1、2、4拨向下边,3拨向上边。二、实验箱与计算机的连接实验箱与计算机用USB线直接相连即可。连接后,右键单击“我的电脑”,打开“属性”窗口,选择“硬件”标签,单击“设备管理器”,查看实验箱连接到哪一个串口,并记录备用。要求只能使用COM1至COM4;若是COM5或COM6,重新连接USB线。三、硬件实验操作步骤1、按上述要求安装好实验箱;2、根据不同的实验要求,设计好实验电路,用导线进行连线;3、打开实验箱电源;4、启动HK88TE调试软件;5、设置通讯口:在HK88TE软件下,单击“设置”菜单,选择“通讯口”,打开如图3的对话框。如在“设备管理器”中查看到实验箱连接到COM1,则在对话框中选择COM1;波特率选择9600,将延时因子调节到比较大的位置,点击“测

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

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