微型计算机原理及应用技术 实验与课程设计指导书
(适用于自动化数控专业)
目录
第一部分 软件实验部分
第一部分 软件实验....................................................................................................................... 3 DOS环境下软件实验 ................................................................................................................... 3 实验一 汇编与宏汇编程序 ......................................................................................................... 6 实验二 简单输出显示实验 ......................................................................................................... 7 实验三 利用DOS系统功能调用实现简单人机对话实验 ...................................................... 8 实验一 数据传送....................................................................................................................... 24 实验二 双字节BCD码(十进制数)加法.................................................................................. 26 实验三 四字节十六进制数转十进制数 ................................................................................... 29 第二部分 基础硬件实验 ............................................................................................................. 32 实验一 8255控制LED ............................................................................................................ 32 实验二 74HC138译码器实验 .................................................................................................. 34 第三部分 综合设计................................................................................................................... 35 设计一 8255控制交通灯设计 .................................................................................................. 35 设计二 ISD1110语音模块设计 ............................................................................................... 37 设计三 简易电子琴设计 ........................................................................................................... 39
第一部分 软件实验
通过对这些实验程序的编写、调试,熟悉8086/8088的指令系统功能,了解汇编语言程序设计过程,掌握汇编程序、程序设计方法以及如何使用实验系统提供的各种调试、分析手段来排除程序错误。
DOS环境下软件实验
汇编语言上机过程: 一、上机前的软件准备:
MS-DOS操作系统(如:masm5,MSDOS6.22 , MSDOS7.0 等)
文本编辑器 (如:http:// , TURBO.EXE , TC.EXE , C.EXE 等) 汇编程序 (如:MASM.EXE , ASM.EXE 等) 连接程序 (如:LINK.EXE 等) 调试程序 (如:DEBUG.EXE 等) 二、DOS的基本命令 1、进入DOS环境
在WINDOWS桌面从START→程序→附件→C:\命令提示符单击进入DOS界面,或者在START→运行,单击,在运行命令栏中输入COOMMAND(CMD),确定可进入DOS界面。
2、DOS下的基本命令
CD
含义:进入指定目录 格式:CD [路径] 举例:CD DOS
CD命令只能进入当前盘符中的目录,其中“CD\”为返回到根目录,“CD..”为返回到上一层目录。
DIR
含义:显示指定路径上所有文件或目录的信息 格式:DIR [盘符:][路径][文件名] [参数] 参数:
/W:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息; /P:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示; /A:显示具有特殊属性的文件;
/S:显示当前目录及其子目录下所有的文件。 举例:DIR /P
将分屏显示当前目录下文件。在当前屏最后有一个“Press any key to continue . . .”提示,表示按任意键继续。
EDIT
含义:简单的编辑软件,可以用它来编辑一些程序和批处理文件。 格式:EDIT [盘符][文件名] 举例:EDIT C:\Autoexec.bat 输入此命令后将打开编辑器。在编辑状态下输入文件内容后,按Alt+F键激活File菜单,按向下的箭头选择退出(Exit),提示是否要保存刚才输入的内容,如果要保存,只需输入Y或者直接回车即可
三、汇编程序建立过程
a.建立汇编源程序─通过───→b.编译为目标文件─ ↓┬─→d.连接为可执行文件 ↑
│ c.不通过,重新修改(语句错误)↓ ├──────────────────────┘ ↓
↑ f.不正确,用调试工具调试,重新修改(逻辑错误)↓ └────────────────────────────←e运行 ↓正确 g.完成
四、现在对(三)的每一个标有字母的过程(PROCEDURE)进行详细说明
PROCEDURE a:建立汇编源程序(即:建立 文件名.asm) 这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。将源程序代码录入计算机的方法很多,下面将介绍具体方法。
1、通过MS-DOS自带的EDIT.EXE文本编辑器进行输入,在DOS提示符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其中filename为你起的文件名,由1-8个字符组成),asm 是为汇编程序识别而必须加上去的,不可更改。存盘后在DOS下可用DOS命令DIR来查看,如果看到了所存的文件存在,就可以进行进程b。
2、如果你的系统中没有EDIT,也可用你所熟悉的文本编辑器进行录入、编辑,
PROCEDURE b:编译目标文件(即:编译为.obj .lst .crf文件) 这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。如果此时你的程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,你可根据提示去逐一修改。
现介绍具体过程:在DOS提示符下键入MASM filename回车 其中filename为你刚才在PROCEDURE a 中建立的文件名),这时汇编程序的输出文件可以有三个(分别:.obj .lst .crf),便会出现三次提问,在这可以一路回车即可。下面显示的信息是源程序中的错误个数,如果为0则表示顺利通过,就可进行进程c。但如果不为0就说明有错误,并指出错误出现的行,可依据这个提示去进行修改。但如果错误太多还未等看清就显示过去了,可用如下命令形将错误信息存于一个你指定的文件,再用文本编辑器去查看。 MASM filename >filen (filen为你起的一个没用过的文件名,用以存放出错信息)以后可查看filen来得到出错信息。
PROCEDURE c:编译不通过,重新修改(错误类型:源程序语句不合法)
在执行过PROCEDURE b后,如有出错信息时,就要我们自己按PROCEDURE c去做,而不能跳跃到PROCEDURE d去,如果强行执行PROCEDURE d将无任何有效结果。
首先要清楚,在PROCEDURE b中检测出的错误均为每一条语句的语法或用法错误,它并不能检测出程序的逻辑设计(语句按排位置)错误,所以就要记好出错的行号。在记录行号后,就应再次执行PROCEDURE a,这时和操作应是打开已编好的源程序(以EDIT为例:在DOS提示符下键入:EDIT filename.asm回车),依据行号进行修改并存盘,再次进行汇编,直至PROCEDURE b通过为止。便可继续向下执行PROCEDURE d。
实验一 汇编与宏汇编程序
实验目的 通过实验了解汇编就是把用汇编语言编写的源程序翻译(汇编)成机器语言的
目标程序。汇编程序可以使用小汇编程序(ASM)也可以用宏汇编程序(MASM),由于宏汇编程序不但可以代替ASM,而且可以汇编具有宏定义的汇编程序,因此我们在汇编程序时使用宏汇编程序(MASM)。
实验内容
执行宏汇编程序
编程提要
程序清单如下: data segment
string db " How are you ",9,"$" data ends code segment
assume cs:code,ds:data start:mov ax,data mov ds,ax lea dx,string mov ah,9 int 21h mov ah,4ch int 21h code ends end start 1.汇编过程
在DOS状态下,键入MASM则调入宏汇编程序,屏幕显示与操作如下: masm↙
Microsoft (R) Macro AssembLe Version 5.00
Copyright (C) Microsoft Corp 1981-1985,1987.All rights reserved. Source filename [.ASM]: ex2↙ Object filename [ex2.OBJ]: ex2↙ Source listing [NUL.LST]: ex2↙ Cross- reference [NUL.CRF]: ex2↙
50678+410090 Bytes symbol space free 0 Warning Errors 0 Severe Errors
2.在DOS状态下,键入LINK(或LINK EX2)则系统调入LINK程序,屏幕显示操作如下:C>LINK↙
IBM Personal Computer Linker
Version 2.00(C) Copyright IBM Corp 1981,1982,1983
Object Modules [.OBJ]: EX2↙ Run File [EX2.EXE]:EX2↙ List File[NUL.MAP]:EX2↙ Libraries[.LIB]: ↙
3.执行程序
当用连接程序LINK将目标程序(.OBJ)连接定位后,可产生可执行文件(.EXE),可以在DOS状态下执行该程序。 C>EX2↙
How are you !
也可以键入EX2.EXE↙ C>EX2.EXE↙ How are you !
实验报告(写出上机结果及现象)
实验二 简单输出显示实验
实验目的
1.熟练掌握上机环境,学会屏幕输出的方式 2.掌握各种寻址方法及简单指令的执行过程 3.熟悉8086汇编指令使用,会编写简单程序
实验内容
编写程序,将HELLO!以ASCΠ码形式存储到数据段以STRING为首地址的单元中,然后把它们以ASCΠ码形式显示在屏幕上连续输出。 编程提要
程序清单如下: data segment
string db " hello! ",6,"$" data ends code segment
assume cs:code,ds:data start:mov ax,data mov ds,ax lea bx,string mov cx,6 mov ah,2
lp:mov al, [Bx] xchg al,dl inc bx int 21h loop lp mov ah,4ch int 21h code ends end start 调试结果:
正确输入程序后,通过编辑并没有逻辑错误后,可以生成可执行程序,在DOS下运行此程序,最后可在屏幕上连续输出HELLO!共计6个字符。
实验报告(写出上机结果及现象)
实验三 利用DOS系统功能调用实现简单人机对话实验
实验目的
1.熟练掌握程序的基本语法及结构 2.掌握DOS的基本操作 3.练习简单的人机对话交流
实验内容
编写程序,要求在屏幕上显示提示信息:" WHAT is your name?",从键盘输入你的
名字后,屏幕上提示" N "或 " Y ",按" Y "键则结束程序运行,按" N "键则返回程序,继续显示提示信息,并如上循环下去。
编程提要
程序清单如下: data segment
mesg1 db 0dh, 0ah, 'What your name ?$' mesg2 db '? (Y/N) $' buf db 30 db ?
db 30 dup (?) data ends code segment
assume cs: code, ds: data beg: mov ax, data mov ds, ax again: mov ah,9
mov dx, offset mesg1 int 21h mov ah, 0ah
mov dx, offset buf int 21h
mov bl, buf+1 mov bh,0
mov si, offset buf+2 mov byte ptr[bx+si], '$' mov ah, 2 mov dl, 0ah int 21h mov ah, 9
mov dx, offset buf+2 int 21h mov ah, 9
mov dx, offset mesg2 int 21h mov ah, 1
int 21h cmp al, 'Y' jnz again mov ah, 4ch int 21h code ends end beg
实验报告(写出上机结果及现象)
星研集成环境软件下软件实验
如何使用星研集成环境软件
介绍如何使用星研集成环境软件: 使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256在I/O设备区,使用IOR、IOW读写;再将它传送回数据段的6000H~60FFH中。
数据传送程序(ASM)
星研集成环境软件推荐您使用项目为单位来管理您的程序。如果您做一个简单的实验,或只希望看一个中间结果,您可以不建立项目文件,系统需要的各种设置,来源于“缺省项目”。本节不使用项目文件。
本例子旨在通过建立一个具体的程序来介绍星研集成软件的使用方法以及它的强大的调试功能。使用户很快的上手,体验到我们软件功能的强大和方便。
本实例是将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FFH中;B4区的61C256在I/O设备区,使用IOR、IOW读写;再将它传送回数据段的6000H~60FFH中,程序是用汇编语言来编写。下面介绍相应的操作步骤:
首先运行星研集成软件。启动画面如图:
1、设置缺省项目
执行 [主菜单 » 辅助 » 缺省项目],出现一个对话框:
选择“STAR ES8688仿真模块”。 点击进入下一步:“选择语言”
您可以根据自己的需要以及程序的类型作相应的选择,本实例选择Borland公司的Turbo C(3.0)、TASM(5.0) (请确定在选择语言之前已经安装好相应的编译软件)。然后再点击进入下一步:“编译、连接控制项”
然后再点击进入下一步:“存贮器出借方式”
实验仪提供64K memory空间,memory model请选择tiny,缩写为mt;如果需要源程序级别调试,必须使用-v –y控制项,为了支持多文件编译、连接,必须使用-c控制项。
一般不必改变Turbo C的编译控制项。
如果需要源程序级别调试,必须使用/zi /l控制项。
一般不必改变Tasm的编译控制项。
如果需要源程序级别调试,必须使用/m /l /v控制项。
一般不必改变TLINK的连接控制项。
仿真模块EMU598提供64K仿真RAM,作程序段(CS)、数据段(DS)、附加段(ES)、堆栈段(SS)使用。 2、建立源文件
下面我们建立源文件,执行 [主菜单 » 文件 » 新建],(或者点击图标)打开窗口如下:
首先选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:*.asm文件,使用TASM来对它编译。本实例文件名为move.asm。窗口如下:
按“确定”即可。然后出现文件编辑窗口:
输入源程序,本实例的源程序如下: .MODEL TINY ;memory mode : tiny
.STACK 100 ;堆栈
.CODE ;开始程序段 START: MOV AX,@DATA MOV DS,AX MOV ES,AX NOP MOV CX,100H MOV SI,3000H MOV DX,2000H START1: MOV AL,[SI] OUT DX,AL INC SI INC DX LOOP START1 MOV DI,6000H MOV DX,2000H MOV CX,100H START2: IN DX,AL
MOV INC INC LOOP SJMP Move ENDP END
输入源程序,如下图:
[DI],AL DI DX START2 $
START
这样一个源文件就建立好了。 3.编译、连接文件
首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、EXE文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单 » 项目 » 编译、连接 ]或[主菜单 » 项目 » 重新编译、连接 ]”。(2)点击图标或来“编译、连接”或“重新编译连接”。
“编译连接”与“重新编译、连接”区别:“重新编译、连接”不管源文件是否修改、编译软件是否变化、编译控制项有无修改,对源文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、EXE文件)。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下:
若有错误则出现如下信息框:
有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。
这时用户可以作相应的修改,直到编译、连接文件通过。
4.调试
在进入调试状态以前,请正确设置通信口:执行[ 主菜单 » 辅助 » 通信 ],对话框如下: