当前位置:文档之家› 微机原理与接口技术实验指导书1_[1]...

微机原理与接口技术实验指导书1_[1]...

微机原理与接口技术实验指导书1_[1]...
微机原理与接口技术实验指导书1_[1]...

微机原理与接口技术实验指导书

编者:王亭岭

华北水利水电学院

电气学院自动化教研室

二零一二年三月

目录

实验一标志寄存器应用 (1)

实验二指令寻址方式练习 (4)

实验三分支结构程序设计 (6)

实验四循环结构程序设计 (7)

实验五子程序结构程序设计 (8)

实验六DOS系统功能调用程序设计 (10)

实验七BIOS中断调用程序设计 (12)

实验八定时器中断程序设计 (14)

实验一标志寄存器应用

一、实验目的与要求

1.掌握汇编程序的编译过程;

2.掌握8086的标志寄存器的特点。

二、实验内容

微型计算机(80x86系列)。

四、实验参考程序

DATA SEGMENT

A DW 123

B DW 456

SUM DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE , DS:DATA START: MOV AX , DATA

MOV DS , AX

MOV AX , A

SUB AX , B

MOV SUM , AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

五、实验步骤

步骤一、用鼠标单击开始菜单,单击运行。如下图所示:

步骤二、在运行窗口中键入cmd,回车进入命令提示符。如下图所示:

步骤三、在命令提示符中编译汇编源程序并连接*.obj文件。如下图所示:1.C:\>D: 回车

2.D:\ >CD MASM 回车

3.D:\MASM>MASM SY1.ASM 回车

4.D:\MASM>LINK SY1.OBJ 回车

步骤四、在命令提示行中运行并调试汇编程序。如下图所示:1.D:\MASM>SY1.EXE 回车

2.D:\MASM>DEBUG SY1.EXE 回车

六、实验结论

1.程序运行后变量SUM的值是多少?

2.程序运行前后标志寄存器的各标志位有何变化?

3.分析实验结果及所遇到的问题,并说明解决的方法。

实验二指令寻址方式练习

一、实验目的与要求

1.掌握汇编语言调试工具(DEBUG)的基本使用方法;

2.掌握8086的寻址方式。

二、实验内容

练习识别8086相关指令的寻址方式。

三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

DSEG SEGMENT

ARRAY DB 11,56,78,8,76,90,96,33,21,06

COUNT DW $ - ARRAY

RELUST DB ?

DSEG ENDS

SSEG SEGMENT PARA STACK 'STACK'

SDAT DB 50 DUP (?)

TOP EQU LENGTH SDAT

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG , DS:DSEG , SS:SSEG START: MOV AX , DSEG

MOV DS , AX

MOV AX , SSEG

MOV SS , AX

MOV AX ,TOP

MOV SP , AX

MOV BX , OFFSET ARRAY

MOV CX , COUNT

DEC CX

MOV AL , [BX]

AGAIN: INC BX

CMP AL , [BX]

JAE NEXT

MOV AL , [BX]

NEXT: DEC CX

JNZ AGAIN

MOV RELUST, AL

MOV AH, 4CH

INT 21H

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY2.ASM

2.D:\MASM>LINK SY2.OBJ

3.D:\MASM>SY2.EXE

4.D:\MASM>DEBUG SY2.EXE

六、实验结论

1.指出参考程序中带下划线的指令中源操作数的寻址方式?

2.程序运行后AL中的值是多少?

3.分析实验结果及所遇到的问题,并说明解决的方法。

一、实验目的与要求

学习并掌握汇编语言分支结构程序设计的方法。

二、实验内容

比较两个无符号数的大小,把大数存入MAX单元。三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

DSEG SEGMENT

NUMBER DB 60H,66H

MAX DB ?

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START: MOV AX,DSEG

MOV DS,AX

MOV AL,NUMBER

CMP AL,NUMBER+1

JNC BRANCH

MOV AL,NUMBER+1

BRANCH: MOV MAX,AL

MOV AH,4CH

INT 21H

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY3.ASM

2.D:\MASM>LINK SY3.OBJ

3.D:\MASM>SY3.EXE

4.D:\MASM>DEBUG SY3.EXE

六、实验结论

1.说明指令JNC的功能?

2.程序运行后变量MAX的值是多少?

3.分析实验结果及所遇到的问题,并说明解决的方法。

一、实验目的与要求

学习并掌握汇编语言循环结构程序设计的方法。

二、实验内容

统计字符串STRING中空格的个数。源程序见实验参考程序。

三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

DSEG SEGMENT

STRING DB 'Where there is a will,there is a way. $'

RESULT DW ?

DSEG ENDS

CSEG SEGMENT

ASSUME DS:DSEG,CS:CSEG

START: MOV AX,DSEG

MOV DS,AX

MOV BX,OFFSET STRING

MOV DX,0

NEXT: MOV AL,[BX]

CMP AL,'$'

JZ FIN

CMP AL,20H

JNZ CONT

INC DX

CONT: INC BX

JMP NEXT

FIN: MOV RESULT,DX

MOV AH,4CH

INT 21H

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY4.ASM

2.D:\MASM>LINK SY4.OBJ

3.D:\MASM>SY4.EXE

4.D:\MASM>DEBUG SY4.EXE

六、实验结论

1.指出参考程序中循环体执行的次数?

2.程序运行后变量RESULT的值是多少?

3.分析实验结果及所遇到的问题,并说明解决的方法。

一、实验目的与要求

学习并掌握汇编语言子程序结构程序设计的方法。

二、实验内容

利用堆栈,采用递归子程序的方法,编程实现求N!。掌握汇编语言子程序结构程序设计的方法。

三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

图5-1 求阶乘示意图

DSEG SEGMENT

N DW 5 ;此变量要送人AX中,应定义为字类型RLT DW ? ;存放运算后的结果

DSEG ENDS

SSEG SEGMENT STACK ‘STACK’;声明组合类型后,系统自动为SS及SP DW 100 DUP (?) ;分配值

SSEG ENDS

CSEG SEGMENT

ASSUME CS :CSEG,DS:DSEG,SS:SSEG

START:MOV AX,DSEG

MOV DS,AX

MOV AX,N

CALL REC ;调用求阶乘递归子程序

BRK:MOV RLT,AX ;运算后的结果送人RLT中

MOV AH,4CH

INT 21H

REC PROC NEAR

PUSH DX ;递归调用时DX(5、4、3、2)依次压入堆栈

MOV DX, AX

CMP AX,1

JZ EXIT

DEC AX

CALL REC ;递归调用

AMD:MUL DX ;A X * DX→DX AX

EXIT:POP DX

RET

REC ENDP

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY5.ASM

2.D:\MASM>LINK SY5.OBJ

3.D:\MASM>SY5.EXE

4.D:\MASM>DEBUG SY5.EXE

六、实验结论

1.说明利用堆栈实现参数传递的好处?

2.程序运行后变量SUM的值是多少?

3.分析实验结果及所遇到的问题,并说明解决的方法。

实验六DOS系统功能调用程序设计

一、实验目的与要求

1.掌握DOS系统功能调用的方法;

2.正确使用功能调用中相关的入口参数和出口参数。

二、实验内容

接收键盘输入并在屏幕上显示。如果是“ESC”键,则退出程序(参考程序1);输出MESS中的字符串。按“ESC”键退出程序(参考程序2)。运行可执行文件并加以调试。分析运行结果。

三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

1.实验参考程序1:

CSEG SEGMENT

ASSUME CS:CSEG

START: MOV AH , 1

START1: INT 21H

CMP AL , 1BH

JZ OVER

JMP START1

OVER: MOV AH , 4CH

INT 21H

CSEG ENDS

END START

2.实验参考程序2:

DSEG SEGMENT

MESS DB 'HuaBeiShuiYuan!$' ;显示信息

DSEG ENDS

CSEG SEGMENT

ASSUME CS: CSEG, DS:DSEG

START: MOV AX, DSEG

MOV DS, AX

LEA DX, MESS

MOV AH, 9

INT 21H

MOV AH , 07H ;功能号为07H的功能是键盘输入无回显INPUT: INT 21H

CMP AL , 1BH ;“ESC”键的ASCII是1BH

JZ EXIT ;按“ESC”键退出程序

JMP INPUT

EXIT: MOV AH , 4CH

INT 21H

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY6.ASM

2.D:\MASM>LINK SY6.OBJ

3.D:\MASM>SY6.EXE

4.D:\MASM>DEBUG SY6.EXE

六、实验结论

1.说明参考程序所完成的功能?

2.什么是DOS系统功能调用?

3.分析实验结果及所遇到的问题,并说明解决的方法。

实验七BIOS中断调用程序设计

一、实验目的与要求

1.掌握BIOS中断调用的方法;

2.正确使用功能调用中相关的入口参数和出口参数。

二、实验内容

采用BIOS功能调用在屏幕上用多种属性显示字符串。运行可执行文件并加以调试。分析运行结果。

三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

ROW=5 ;常量定义,显示信息的行号

COLUM=10 ;显示信息的列号

ESCKEY=1BH ;ESC键的ASCII码值

DSEG SEGMENT

MESS DB 'HuaBeiShuiYuan!' ;显示信息

MESS_LEN = $ - OFFSET MESS ;显示信息的长度

COLORB DB 07H,01H,0FH,70H,74H ;颜色属性

COLORE LABEL BYTE

DSEG ENDS

CSEG SEGMENT

ASSUME CS: CSEG, DS:DSEG, ES:DSEG

START: MOV DI, OFFSET COLORB-1 ;颜色指针初值

NEXTC: MOV AX, DSEG

MOV DS, AX ;设置数据段段值

MOV ES, AX ; ES指向数据段

INC DI ;调整颜色指针

CMP DI, OFFSET COLORE ;是否超过指定的颜色

JNZ NEXTE ;没有超过则跳转

MOV DI, OFFSET COLORB ;超过则重新指定为第一种颜色NEXTE: MOV BL, [DI] ;取颜色

MOV SI, OFFSET MESS ;取显示信息指针

MOV CX, MESS_LEN ;取显示信息长度

MOV DH, ROW ;设置显示开始行号

MOV DL, COLUM ;设置显示开始列号

CALL ECHO ;调用显示子程序

MOV AH, 0 ; 0号功能为从键盘读字符

INT 16H ;执行INT 16H的0号功能

CMP AL, ESCKEY ;是否为“ESC”键

JNZ NEXTC ;不是,继续循环

MOV AH, 4CH ;结束程序,返回DOS

INT 21H

;子程序入口参数包括:DS:SI = 字符串首地址

; CX = 字符串长度,BL = 属性,DH = 显示开始行号,DL=显示开始列号ECHO PROC NEAR

JCXZ ECHO2 ;如果字符串长度为0,则结束

MOV BH, 0

MOV AH, 2 ;设置光标位置

INT 10H

MOV AL, 20H ;用指定属性写一空格

MOV AH, 9

INT 10H

MOV AH, 0EH

ECHO1: MOV AL, [SI]

INC SI

INT 10H ;逐个显示字符

CALL DELAY ;调用延时子程序

LOOP ECHO1

ECHO2: RET

ECHO ENDP

DELAY PROC NEAR ;延时子程序

PUSH BX

PUSH CX

MOV BX, 500

W AIT0: MOV CX, 0FFFFH

W AIT1: LOOP WAIT1

DEC BX

JNZ W AIT0

POP CX

POP BX

RET

DELAY ENDP

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY7.ASM

2.D:\MASM>LINK SY7.OBJ

3.D:\MASM>SY7.EXE

4.D:\MASM>DEBUG SY7.EXE

六、实验结论

1.说明参考程序所完成的功能?

2.什么是BIOS中断调用?

3.分析实验结果及所遇到的问题,并说明解决的方法。

实验八定时器中断程序设计

一、实验目的与要求

1.掌握中断的基本概念;

2.会将定时器中断子程序的入口地址写入中断向量表中;

3.理解简单的多任务操作。

二、实验内容

将自编的显示系统时间的中断服务子程序驻留在内存中,通过定时器中断(向量号为1CH)定时调用中断服务子程序来显示系统时间,同时可以在命令提示符下运行并调试其他程序,实现多任务操作。运行可执行文件并加以调试。分析运行结果。

三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

CODE SEGMENT

ASSUME CS:CODE, DS:CODE

START: JMP GOSET

OLDCUR DW ?

OLD1C DW 2 DUP(?)

NEWINT1C: PUSHF

CALL DWORD PTR CS:OLD1C ;OLD1C中为1CH的中断向量

PUSH AX

PUSH BX

PUSH CX

PUSH DX

XOR BH, BH ;BH清零

MOV AH, 3 ;INT 10H的3号功能为读光标位置,

INT 10H ;BH=页号,返回参数DH/DL=行/列

MOV CS:OLDCUR, DX ;光标位置保存在OLDCUR单元中

MOV AH, 2 ;INT 10H的2号功能为置光标位置,BH=页号

XOR BH, BH ;清零,表明为0页

MOV DX, 0146H ; DH/DL=行/列,设置显示的时间在1行/70列

INT 10H

MOV AH, 2 ;INT 1AH的2号功能为读电池供电时钟时间

INT 1AH ;出口参数:CH:CL:DH=时:分:秒

PUSH DX

PUSH CX

POP BX ;CX压入堆栈的值弹出给BX

PUSH BX

CALL SHOWBYTE ;此处调用为显示小时

CALL SHOWCOLON ;显示':'

POP BX

XCHG BH, BL ;BL中为分钟值

CALL SHOWBYTE ;此处调用为显示分钟

CALL SHOWCOLON ;显示':'

POP BX ;DX压入堆栈的值弹出给BX

CALL SHOWBYTE ;BL中为秒值

MOV DX, CS:OLDCUR ;恢复保存在OLDCUR单元中的光标位置

MOV AH, 2

XOR BH, BH

INT 10H

POP DX

POP CX

POP BX

POP AX

IRET ;中断返回指令

SHOWBYTE PROC NEAR ;将BX中的值转换为ASCII码后显示在屏幕上PUSH BX

MOV CL, 4

MOV AL, BH ;BH中的值可以是当前时:分:秒

SHR AL, CL

ADD AL, 30H ;计算ASCII码

CALL SHOW ;在光标位置显示字符和属性

CALL CURMOVE ;子程序的功能为读当前光标并后移

POP BX

MOV AL, BH

AND AL, 0FH

ADD AL, 30H

CALL SHOW

CALL CURMOVE

RET

SHOWBYTE ENDP

SHOWCOLON PROC NEAR ;显示':'

MOV AL,':'

CALL SHOW

CALL CURMOVE

RET

SHOWCOLON ENDP

CURMOVE PROC NEAR ;读当前光标并后移

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV AH, 3 ;INT 10H的3号功能为读光标位置

MOV BH, 0

INT 10H

INC DL ;列增1,光标后移

MOV AH, 2 ;INT 10H的2号功能为置光标位置

INT 10H

POP DX

POP CX

POP BX

POP AX

RET

CURMOVE ENDP

SHOW PROC NEAR ;子程序的功能为在光标位置显示字符和属性PUSH AX

PUSH BX

PUSH CX

MOV AH, 09H ;INT 10H的9号功能为在光标位置显示字符和属性

MOV BX, 1FH ; 1FH为属性值, 显示的字符为白底蓝字

MOV CX, 1 ; BH=显示页,AL/BL=字符/属性,CX=字符重复次数

INT 10H

POP CX

POP BX

POP AX

RET

SHOW ENDP

GOSET: PUSH CS

POP DS ;DS指向代码段

MOV AX, 351CH ;取中断向量,AH=35H的功能为获取中断向量,

INT 21H ;入口:AL=中断类型号,出口:ES:BX=中断向量

MOV OLD1C, BX ;中断向量(CS:IP)保存在OLD1C单元中

MOV BX, ES

MOV OLD1C+2, BX ;中断向量的高16位

MOV DX, OFFSET NEWINT1C ;NEWINT1C为中断程序的入口地址

MOV AX, 251CH ; AH=25H的功能为设置中断向量

INT 21H ; 出口参数DS:DX=中断向量

MOV DX, OFFSET GOSET

SUB DX, OFFSET START ;计算代码段相对偏移量

MOV AX, 3100H ;AH=31H的功能为程序终止并驻留

INT 21H ;AL=返回码,DX=驻留区大小CODE ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY8.ASM

2.D:\MASM>LINK SY8.OBJ

3.D:\MASM>SY8.EXE

4.D:\MASM>DEBUG SY8.EXE

六、实验结论

1.说明参考程序所完成的功能?

2.什么是中断向量表?

3.分析实验结果及所遇到的问题,并说明解决的方法。

微机接口技术实验指导书

《微机接口技术》实验指导书 主编李建波 主审黄忠宇、苏显 广东机电职业技术学院 计算机与信息工程系

前言 本实验指导书适用于机电一体化专业,实验时间10学时,5次上机时间。 主要学习内容为80X86语言实验环境配置、汇编源语言格式、输出字符、循环结构、子程序调用,以及加减乘除等指令操作。 学习结束后,要求学生能够独立编写出综合加减乘除等指令,以及循环结构、子程序调用等程序控制程序。

目录 实验项目一熟悉微机实验环境 (4) 实验项目二掌握中断方式显示数字或字符 (6) 实验项目三掌握汇编语言的寻址方式 (8) 实验项目四掌握循环指令的用法 (10) 实验项目五掌握子程序的用法 (12)

实验报告一熟悉微机实验环境 1、实验目的 1、熟悉微机实验环境安装 2、熟悉微机实验环境配置 3、通过练习加法,熟悉程序格式 4、单步运行程序,通过观察窗口观察指令对寄存器中数据的影响 2、实验步骤 1)软件安装 (拷贝三个文件夹) 复制:桌面| 网上邻居\ Techer\ c盘\ wave、comp86和in8088三个文件夹拷贝:将三个文件夹到自己计算机上C:盘根目录下 在资源管理器下可以看到:C:\wave,C:\comp86,C:\in8088三个文件夹2)通过资源管理器,进入汇编环境 C:\wave\Bin\wave.exe ,双击wave.exe 3)打开文件我的电脑 \ c: \ wave \ bin \ wave.exe环境配置(如下图) 选中菜单栏中“仿真器”——“仿真器设置”选项(如下图) a、选中“语言”一栏,编译器路径中填写: C:\COMP86\(如下图) b、选中“仿真器”一栏, 选择仿真器—————G6W(如下图) 选择仿真头—————8088/8086实验(如下图) 选择CPU —————8088/8086(如下图) 使用软件模拟器:打√表示软件实验,硬件实验则无√ 4)新建文件 a、选中菜单栏\文件\新建文件,建立空白文件 b、编辑文件,输入以下代码

微机原理实验指导书

微机原理及应用实验指导书 南京理工大学机械工程学院 2011年10月10日

实验1 基本操作实验 1. 实验目的 (1) 掌握TD-PITC 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 (2) 掌握使用运算类指令编程及调试方法; (3) 掌握运算类指令对各状态标志位的影响及其测试方法; (4) 学习使用软件监视变量的方法。 2. 实验设备 PC机一台,TD-PITC 实验装置一套。 3. 实验内容及步骤 通过对样例程序的操作,学会在TD-PITC境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会: ●如何设置断点; ●如何单步运行程序; ●如何连续运行程序; ●怎样查看寄存器的内容; ●怎样修改寄存器的内容; ●怎样查看存储器的内容; ●怎样修改存储器的内容。 3.1 实验内容1――――BCD码转换为二进制数 实验内容: 将四个二位十进制数的BCD 码存放于3500H 起始的内存单元中,将转换的二进制数存入3510H 起始的内存单元中,自行绘制流程图并编写程序。 参考实验程序清单如下: SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: XOR AX, AX MOV CX, 0004H MOV SI, 3500H MOV DI, 3510H A1: MOV AL, [SI] ADD AL, AL MOV BL, AL

ADD AL, AL ADD AL, AL ADD AL, BL INC SI ADD AL, [SI] MOV [DI], AL INC SI INC DI LOOP A1 A2: JMP A2 CODE ENDS END START 实验步骤: 1)运行Wmd86 软件,进入Wmd86 集成开发环境。 2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,我们选择汇编语言。 图1-1 语言环境选择界面 3)语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-2所示。默认文件名为Wmd861。 图1-2 新建文件界面 4)编写实验程序,如图1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

微机原理与接口技术实验汇总

实验要求 1、带预习报告上机 根据实验要求,作好充分预习,设计实验硬件原理及接线图(必须标出相关的管脚号,以备硬件连线及测试),画出程序流程图,写出源程序清单,规划好调试步骤,上机时带预习报告。注意:无预习报告者不得做实验。 2、认真实验,经教师检查后,方可离开 注意掌握软、硬件调试方法,提高分析问题、解决问题的能力。对所编写的程序必须十分清楚,作到知其然,亦知其所以然,硬件电路原理清楚,熟练应用常规的仪器(如万用表、示波器等)检查测试硬件电路。指导教师还会根据实验要求,提出问题。3、按时提交实验报告 实验结束后,在预习报告的基础上,完成实验报告,并于下次实验时交给指导教师。 实验报告格式 实验* ***** ***** ***** 一、实验目的 二、实验内容 三、硬件原理及接线图 四、程序流程图 五、程序清单 六、实验步骤 七、实验结果及现象分析 八、收获及建议 测13实验安排: 地点:综合实验楼0701 实验周次星期小节 一 6 五1,2 二8 五1,2 三10 五1,2 四12 五1,2 五14 五1,2

实验一汇编语言程序的调试 一、实验目的 1、掌握8086汇编程序的编辑、编译、连接及运行过程。 2、掌握使用HQFC软件调试程序的方法。 二、实验内容:编制程序并调试 1、上机调试P45 项目1程序。 要求:1)写出调试步骤 2)记下代码段数据。 3)记下数据段数据 4)用单步调试法调试,记下每句程序目的操作数执行结果。观察每句程序 执行过程中CS、 IP、 FLAGS寄存器的变化。 2、上机调试P54 项目2程序,用单步调试法指出每句程序的调试结果。 要求:1)记下代码段数据。 2)记下数据段数据 3)记下程序执行前附加段数据、程序执行后附加段数据。 3)用单步调试法调试,记下lop句之前每句程序目的操作数执行结果。 观察其它句程序的执行结果,观察每句程序执行过程中CS、 IP、 FLAGS寄存器的 变化。 三、调试步骤 1、编辑源程序,形成****.ASM文件(可用HQFC软件或XP系统下的记事本编辑源程序) (注:在E:盘上建立一个你自己的文件夹,保存你自己的文件) 2、编译,形成****.OBJ文件(可用HQFC软件的编译功能) 3、链接,形成****.EXE文件(可用HQFC软件的构建功能) 4、运行(或调试)(可用HQFC软件的重构运行功能或开始调试) 四、调试步骤参考 1、编译(编译) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择编译选项则程序对当前ASM源文件进行编译,编译调试窗口中输出汇编的结果,若程序汇编有错,则详细报告错误信息。双击输出错误,集成开发环境会自动将错误所在行代码显示。 2、构建(汇编+链接) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接选项则程序对当前ASM源文件进行汇编与链接,编译调试窗口中输出汇编与链接的结果,若程序汇编或链接有错,则详细报告错误信息。双击输出错误,集成开发环境会自动将错误所在行代码显示。 3、重构运行(汇编+链接+执行) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接+执行选项则程序对当前ASM源文件执行,程序自动运行。

微机原理与接口技术实验指导_4_循环程序设计实验

2.4 循环程序设计实验 2.4.1 实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 2.4.2 实验预习要求 1、复习比较指令、条件转移指令和循环指令。 2、复习循环程序的结构、循环控制方法等知识。 3、读懂“2.4.3 实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。 4、根据“2.4.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。 5、从“2.4.4 实验习题”中任选一道题目,编写源程序,以便上机调试。 2.4.3 实验内容 计算1+2+……n=?,其中n通过键盘输入。要求在屏幕上提供如下信息: Please input a number(1 627): ;出现此信息后通过键盘输入一个小于628的无符号整数 1+2+…..n=sum;其中n为用户输入的数,sum为所求的累加和 程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32位二进制数所能表示 的范围)。 1、编程指导 (1)键盘输入的十进 制数如368在计 算机中是以 33H,36H,38H 形式存放的,如 何将它们转换为 一个二进制数 101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换为二进制数的程序清单如下: DA TA SEGMENT INF1 DB "Please input a number (0-65535):$" IBUF DB 7,0,6 DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS: CODE, DS:DA TA START: MOV AX, DA TA MOV DS, AX MOV DX, OFFSET INF1 MOV AH, 09H INT 21H MOV DX, OFFSET IBUF ;键入一个十进制数(<65535) MOV AH, 0AH INT 21H MOV CL, IBUF+1 ;十进制数的位数送CX MOV CH, 0

微机原理实验指导书

微型计算机原理与应用实验指导书 上海大学通信学院

2010 年4 月 PC微机原理实验一 一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能。 要求:在PC机上完成下列程序的调试运行,并写出运行结果。二、1.DEBUG的基本操作:(详细内容请参阅教材“程序的调试,P173”和“附录F 调试程序DEUBG的使用,P499”) (1)从WINDOWS进入DOS之后,输入命令启动DEBUG: C:>DEBUG 回车 (2)输入R命令,查看和记录CPU各个寄存器的内容: -R回车 看到什么 (3)输入A命令,汇编下面的字符“WINDOWS”显示程序: -A100 ;从偏移地址是0100H处开始写指令 MOV AH,2 MOV DL, 57 ;57H 是“W ”的ASCII码 INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能 ;这3句合起来的功能是:显示DL中的字符 MOV DL, 49 INT 2 1 MOV DL, 4E INT 21 MOV DL, 44 INT 2 1 MOV DL, 4F INT 2 1 MOV DL, 57 INT 2 1 MOV DL, 53 INT 2 1 INT 3 ;功能是产生一个断点,不要省略 (4)输入U 命令反汇编上面的程序: -U 100 问:这里100代表什么 (5)输入G命令连续运行上面的程序,记录运行结果:

-G=100 ,57,53依次分别改为574F4E57 (6)输入E命令把上面程序中的数据,49,,44,,45:,,45,4C43,4F4D,-E 103 回车(以下同) -E 107 10B-E -E 10F 113-E 117-E 11B-E (7)输入D命令查看程序机器码的存放情况: -D 100 11E ;看从100开始到11E的机器码 (8)输入G命令再连续运行程序,并记录运行结果: -G=100 (9)依次输入下面的T命令(单步执行)和G命令(设置断点并启动运行),记录各 命令的运行结果: -T=100 回车 -G=100 106 回车 -G=100 10A 回车 -G=100 10E 回车 -G=100 11E 回车 注意: 下面第2—第8段程序是7个实用的小程序,若不小心打错指令,可以这样修改: 例如:CS:0100 B300 MOV BL,0 0102 53 PUSH BX 0103 B220 LP1: MOV DL,20 要修改“PUSH BX”,因为这条指令的IP是0102,所以按以下操作: -A 0102 回车,然后把正确的指令打入,“-A ”是汇编指令。 如果要查看0100以后的指令及相应的机器代码,可以 -U 0100 回车,能够看到CS:0100开始的指令及相应的机器代码。“-U ”是反汇编 若发现有误用,用“-A XXXX 回车”,重打这条指令即可 2.编制一个能在CRT上连续显示A,B,C,D······Z大写英文字符的源程序,并在源程序下汇编调试机运行。

微机原理及应用实验(题目)

微机原理及应用实验 实验一开发环境的使用 一、实验目的 掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。二、实验内容 在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的 30H~7FH 单元清零。 三、实验设备 PC机一台。 四、实验步骤 用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。五、实验思考 1.如果需把30H-7FH 的内容改为55H,如何修改程序? 2.如何把128B的用户RAM全部清零? 六、程序清单 文件名称:CLEAR.ASM ORG 0000H CLEAR: MOV R0,#30H ;30H 送R0寄存器 MOV R6,#50H ;50H 送R6寄存器(用作计数器) CLR1: MOV A,#00H ;00 送累加器A MOV @R0,A ;00 送到30H-7FH 单元 INC R0 ;R0 加1 DJNZ R6,CLR1 ;不到50H个字节,继续 WAIT: LJMP WAIT END 实验二数据传送 一、实验目的 掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。 二、实验内容 1.编制一段程序,要求程序中包含7中不同寻址方式。 2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。 3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。 4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。 三、实验设备 PC机一台。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

微机原理与接口技术实验指导书13机械、13机械师

《微机原理与接口技术》实验指导书 喻菲菲编 班级:_______ 学号:_______ 姓名:_______ 广东技术师范学院机电学院

目录 MASM611安装指南 ................................................................................. 错误!未定义书签。实验一:汇编语言上机环境及基本操作................................................. 错误!未定义书签。实验二:输入输出程序的编制 ................................................................ 错误!未定义书签。实验三:分支结构程序设计 .................................................................... 错误!未定义书签。实验四:循环结构程序设计 .................................................................... 错误!未定义书签。

课程类型:学科专业基础课课程代码:09401309 课程总学时: 51 实验课程性质:非独立设课课程实验学时: 6 综合性、设计性实验项目数: 3 个 6 学时适用专业:机械设计制 造及其自动化 开课时间:二年级第二学期开课单位:机电学院 撰写人:喻菲菲审定人:周莉 MASM611安装指南 (以下适用于XP系统,win7可以按照,但是无法连接link,不兼容) 双击文件夹MASM611full下的安装文件setup.exe,出现下面的界面 按ENTER回车键继续 按向下的箭头键选中第二项按默认方式安装,按ENTER回车键继续 按向下的箭头键选中第二项安装在D盘,按ENTER回车键继续 按向下的箭头键选中第二项Install for DOS/Windows & NT,按ENTER回车键继续 按向下的箭头键选中第二项MS-DOS/Microsoft Windows,按ENTER回车键继续 选中默认项无变化,按ENTER回车键继续 已安装成功,按ENTER回车键继续 按ENTER回车键继续 按ENTER回车键继续 按ENTER回车键继续 按ENTER回车键继续 按向下的箭头键选中最后一项退出安装,按ENTER回车键 点击开始菜单中的运行,键入cmd,点确定,进入DOS界面。 输入cd\ 返回到根目录,输入D: 进入D盘 输入cd masm611进入D:\masm611文件夹,再输入cd bin进入D:\masm611\bin文件夹 输入edit 01.asm进入程序编辑界面 实验一:汇编语言上机环境及基本操作 一、实验目的及要求 1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互 之间的关系。

微机原理及应用实验

实验报告1 实验项目名称:I/O地址译码;简单并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握I/O地址译码电路的工作原理,简单并行接口的工作原理及使用方法。 二、预备知识: 输入、输出接口的基本概念,接口芯片的(端口)地址分配原则,了解译码器工作原理及相应逻辑表达式,熟悉所用集成电路的引线位置及各引线用途;74LS245、74LS373的特性及作用。 三、实验内容245输入373输出 使用Protues仿真软件制作如下电路图,使用EMU8086编译软件编译源程序,生成可执行文件(nn . exe),在Protues仿真软件中加载程序并运行,分析结果。 编程实现:读8个开关的状态,根据输入信号控制8个发光二极管的亮灭。 图1-1 245输入373输出 四、程序清单

五、实验结果 六、结果分析 七、思考题: 1、如果用74LS373作输入接口,是否可行?说明原因;用74LS245作输出接口,是否可行?说明原因。

实验报告2 实验项目名称:可编程定时器/计数器;可编程并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握8253的基本工作原理和编程应用方法。掌握8255的工作原理及使用方法。 二、预备知识: 8253的结构、引脚、控制字,工作方式及各种方式的初始化编程及应用。 8255的内部结构、引脚、编程控制字,工作方式0、1、2的区别,各种方式的初始化编程及应用。 三、实验内容: ⑴8253输出方波 利用8253的通道0和通道1,设计产生频率为1Hz的方波。设通道0的输入时钟频率为2MHz,8253的端口地址为40H,42H,44H,46H。通道0的输入时钟周期0.5μs,其最大定时时间为:0.5μs×65536 = 32.768ms,要产生频率为1Hz(周期= 1s)的方波,利用;一个通道无法实现。可用多个通道级连的方法,将通道0的输出OUT0作通道1的输入时钟信号。设通道0工作在方式2(频率发生器),输出脉冲周期= 10 ms,则通道0的计数值为20000(16位二进制)。周期为4 ms的脉冲作通道1的输入时钟,要求输出端OUT1输出方波且周期为1s,则通道1工作在方式3(方波发生器),计数值为100(8位;二进制)。硬件连接如图2-1。

微机原理与接口技术李珍香版十个实验程序说课讲解

微机原理与接口技术李珍香版十个实验程 序

实验一 1.实验目的:掌握汇编语言源程序的结构。 2.实验内容:显示一串字符串“hellow world! 班级,学号”。3.实验代码: DATA SEGMENT MS DB ' Hello,World!$' NS DB ' 151044A,151044106$' DATA ENDS STACK SEGMENT STACK DW 50 DUP(?) STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE:CODE,SS:STACK START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MS MOV AH,9 INT 21H MOV AX,DATA MOV DS,AX

MOV DX,OFFSET NS MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 4.实验结果:

实验二 1.实验目的:熟悉汇编语言源程序的编辑、汇编、连接、调试 过程 2.实验内容:两个8位16进制数相加(生日+当天日期) 3.实验代码: DATA SEGMENT SR DD 19970925H RQ DD 20171111H DATA ENDS STACK SEGMENT STACK DB 50 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AX,WORD PTR SR ADD AX,WORD PTR RQ

微机原理与接口技术综合性实验指导书

微机原理与接口技术实验 电子发声系统设计 【实验目的】 (1). 掌握8254接口电路的连接方法,懂得分频数据对发生频率的影响。 (2). 掌握应用汇编语言控制8254使扬声器发声的程序设计的方法步骤。【实验仪器】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 连接电子发声电路,根据实验提供的音乐频率表和时间表,编程控制8254,使其输出并驱动扬声器发出相应的乐曲。编程演奏《友谊地久天长》。 (1) 确认实验系统与PC机的连线已接通。 (2) 设计连接实验电路。 (3)运用PIT端口资源工具(CHECK程序),查看I/O片选端口始地址。 (4)编程并编译、链接。 运行程序,听扬声器发音是否正确。 【程序的数据处理】 DATA SEGMENT FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表 DW 495,495,624,742,833,833,833,742,624 DW 624,495,556,495,556,624,495,416,416,371 DW 495,833,742,624,624,495,556,495,556,833 DW 742,624,624,742,833,990,742,624,624,495 DW 556,495,556,624,495,416,416,371,495,0 TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表 DB 6, 2, 4, 4, 12, 1, 3, 6, 2 DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 6, 2, 4, 4, 12 DATA ENDS 【上机实验报告】 ⒈上机实验所用的设备(型号或规格),实验环境条件。 ⒉简述实验原理,说明操作过程,及数据要求,给出程序的音频及延时输入数据值。 ⒊你设计的电路图是什么。

80x86微机原理与接口技术实验指导书

80x86微机原理与接口技术 实验指导书 长安大学信息工程学院电子信息与通信工程实验室

第1章 80X86 微机原理及其程序设计实验 本章主要介绍汇编语言程序设计,通过实验来学习80X86 的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。 1.1 系统认识实验 1.1.1 实验目的 掌握TD-PITE 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 1.1.2 实验设备 PC机一台,TD-PITE 实验装置一套。 1.1.3 实验内容 编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。 1.1.4 实验步骤 1. 运行Wmd86 软件,进入Wmd86 集成开发环境。 2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1-1所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,我们选择汇编语言。 图1-1-1 语言环境选择界面 3. 语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-1-2所示。默认文件名为Wmd861。 图1-1-2 新建文件界面 4. 编写实验程序,如图1-1-3所示,并保存,此时系统会提示输入新的文件名,输完后

点击保存。 图1-1-3 程序编辑界面 5. 点击,编译文件,若程序编译无误,则输出如图1-1-4所示的输出信息,然后再点击进行链接,链接无误输出如图1-1-5所示的输出信息。 图1-1-4 编译输出信息界面图1-1-5 链接输出信息界面 6. 连接PC与实验系统的通讯电缆,打开实验系统电源。 7. 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。可以通过端口列表中的“端口测试”来检查通讯是否正常。点击下载程序。为编译、链 接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的背景。如图1-1-6所示。

微机原理及应用实验报告81487

实 验 报 告 课 程 名 称 实 验 名 称 实 验 日 期 学 生 专 业 学 生 学 号 学 生 姓 名 教 师 姓 名 成 绩 南京理工大学机械工程学院 微机原理及应用 实验1 DEBUG 操作实验 实验2 汇编程序设计实验 实验3 8253定时/计数器实验 实验4 8255 并行接口实验 年 月 日 至 年 月 日

实验一DEBUG命令及其操作 一、实验目的 1.熟练掌握debug的常用命令,学会用debug来调试程序。 2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。 3.掌握各种寻址方法以及简单指令的执行过程。 二、实验要求 1.实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分析等。 2.本实验要求在PC机上进行。 3.本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序。三、实验内容 ●实验内容1:学习用DEBUG调试工具进行源程序的输入、汇编、调试和执行。 实验报告要求: 1.写出运行结果; 2.小结debug常用命令及使用体会 答:1.原文已给出(略) 2.a 汇编 d显示内存单元内容 e修改单元内存内容 g执行命令 t单步(或多步)调试 n指定文件路径文件名(含扩展名) u反汇编 r查看寄存器值及修改 l加载程序 w写盘命令 体会:提升学习热情和动手能力有助于理解代码执行过程 ●实验内容2 设AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。 实验报告要求: 1.写出完成上述功能的程序段; 2.单步执行,并记录寄存器AX, BX及堆栈指针SP的值 答: A100 Mov ax,3000 ;ax:3000 bx:0000 sp:ffee Mov bx,5000 ;ax:3000 bx:5000 sp:ffee Push ax ;ax:3000 bx:5000 sp:ffec

微机原理与接口技术实验指导书1_[1]...

微机原理与接口技术实验指导书 编者:王亭岭 华北水利水电学院 电气学院自动化教研室 二零一二年三月

目录 实验一标志寄存器应用 (1) 实验二指令寻址方式练习 (4) 实验三分支结构程序设计 (6) 实验四循环结构程序设计 (7) 实验五子程序结构程序设计 (8) 实验六DOS系统功能调用程序设计 (10) 实验七BIOS中断调用程序设计 (12) 实验八定时器中断程序设计 (14)

实验一标志寄存器应用 一、实验目的与要求 1.掌握汇编程序的编译过程; 2.掌握8086的标志寄存器的特点。 二、实验内容 微型计算机(80x86系列)。 四、实验参考程序 DATA SEGMENT A DW 123 B DW 456 SUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS:DATA START: MOV AX , DATA MOV DS , AX MOV AX , A SUB AX , B MOV SUM , AX MOV AH,4CH INT 21H CODE ENDS END START 五、实验步骤 步骤一、用鼠标单击开始菜单,单击运行。如下图所示:

步骤二、在运行窗口中键入cmd,回车进入命令提示符。如下图所示: 步骤三、在命令提示符中编译汇编源程序并连接*.obj文件。如下图所示:1.C:\>D: 回车 2.D:\ >CD MASM 回车 3.D:\MASM>MASM SY1.ASM 回车 4.D:\MASM>LINK SY1.OBJ 回车

步骤四、在命令提示行中运行并调试汇编程序。如下图所示:1.D:\MASM>SY1.EXE 回车 2.D:\MASM>DEBUG SY1.EXE 回车 六、实验结论 1.程序运行后变量SUM的值是多少? 2.程序运行前后标志寄存器的各标志位有何变化? 3.分析实验结果及所遇到的问题,并说明解决的方法。

微型计算机原理及应用实验指导

微型计算机原理及应用实验指导

实验一数据查找实验 一、实验目的 熟悉汇编语言编程。 二、实验内容 在7000H-700FH中查出有几个字节是零,统计“00”的个数再显示在数码管上。 三、实验程序框图 四、实验步骤 (1)在7000H-700FH单元中放入随机数,其中几个单元中输入零。 (2)用连续方式从起始地址0160H开始运行程序(输

入0160后按EXEC键)。 (3)观察显示器上的内容,应显示内容为“00”的单元的个数。 五、思考 修改程序,查找其它内容。 实验程序 1 ORG 0160H 2 FIND: MOV SP,#60H ;设栈指针 3 MOV R0,#10H ;查找16个字节 4 MOV R1,#00H 5 MOV DPTR,#7000H 6 FIND1: MOVX A,@DPTR 7 CJNE A,#00H,FIND2 ;取出的内容与00H相等吗? 8 INC R1 ;计数值加1,指针加1 9 FIND2: INC DPTR 10 DJNZ R0,FIND1 ;未完继续 11 MOV A,R1 12 MOV R0,#79H ;个数送显

示缓冲区 13 ANL A,#0FH 14 MOV @R0,A 15 INC R0 16 MOV A,R1 17 SWAP A 18 ANL A,#0FH 19 MOV @R0,A 20 INC R0 21 MOV A,#10H 22 MOV R4,#04H 23 FIND3: MOV @R0,A 24 INC R0 25 DJNZ R4,FIND3 26 FIND4: LCALL DISP ;循环调显示程序 27 SJMP FIND4 28 DISP: SETB 0D4H ;显示子程序 29 MOV R1,#7EH 30 MOV R2,#20H 31 MOV R3,#00H 32 DISP1: MOV DPTR,#0FF21H 33 MOV A,R2

微机原理实验指导书

微机原理实验指导书汕头大学机电系摘录

实验一P1口实验及延时子程序设计 1.实验目的 利用单片机的P1口作为I/O口进行实验验证,掌握利用P1口作为输入口和输出口的编程方法,理解并掌握延时子程序的设计方法。 2.实验设备及器件 IBM PC机一台 DP-51PRO单片机综合仿真实验仪一台 3.实验内容 (1)编写一段程序,用P1口作为控制端口,使D1区的LED轮流点亮。 (2)编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED 亮,不按时LED灭)。 图 1 4.实验要求 学会使用单片机的P1口作I/O口。如果时间充裕,也可以考虑利用P3口作I/O口来做该实验。 5.实验步骤 ①用导线把A2区的J61接口与D1区的J52接口相连。原理如图1所示。 ②先编写一个延时程序。 ③将LED轮流点亮的程序编写完整并调试运行。 ④使用导线把A2区J61接口的P1.0~P1.6与D1区J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区J53的KEY1相连。原理如图3.2(b)所示。 ⑤编写P1.7控制LED的程序,并调试运行(按下K1看是否全亮)。 ⑥A2区J61接口P1.7与D1区J54的SW1相连,然后再运行程序,拨动开关SW1查看结果。

6.实验预习要求 阅读附录内容,理解实验的硬件结构。可以先把程序编好,然后在Keil C51环境下进行软件仿真。 7.实验参考程序 程序1: ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000H LJMP M ain ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main: MOV A,#0FFH CLR C MainLoop: CALL Delay RLC A MOV P1,A ;把A的值输出到P1口 SJMP MainLoop Delay: MOV R7, #0 ;延时 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop RET ; END 程序2: ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000H LJMP Main ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main:JB P1.7,SETLED ;按键没有按下时,跳转到SETLED CLRLED: CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP Main SETLED: SETB P1.0 SETB P1.1

微机接口(8086)基本实验指导书

目录 实验须知 (2) 实验一系统介绍 (3) 一.系统特点 (3) 二、8086系统概述 (3) 三、系统电源 (5) 四、硬件介绍 (5) 实验二简单I/O口扩展实验 (9) 实验三存储器读写实验 (11) 实验四I/O口扩展和存储器扩展设计实验 (14) 实验五8255并行口实验 (17) 实验六8253定时器/计数器接口实验 (19) 实验七LCD显示实验 (22)

实验须知 一、预习要求 1.实验前认真阅读实验教程中有关内容,明确实验目的和实验任务。 2.每次实验前应有预习报告,未预习者不允许参加实验。 预习报告中:对软件实验,要求画出程序流程图,编好上机程序;对硬件实验,要求画出实验线路图,拟定实验步骤,画出程序流程图,编好上机程序。 二、实验要求 1.实验是学习“汇编语言程序设计”和“微机原理与接口技术”这两门课程的重要环节,实验课请勿迟到,缺席。 2.爱护设备,保持清洁,不随意更换设备。 3.认真完成实验任务,实验结果经教师检查,教师对实验内容提问,对完成者做记录。 4.做硬件实验时,注意断电操作,即所有的接线、改线及拆线操作均应在不带电的状态下进行,严禁带电操作,并注意防止导线堵塞插孔。 5.发生事故,应立即切断电源,并马上向教师报告,检查原因,吸取教训。 6.实验完毕,请整理实验设备,再离开实验室。 三、报告要求 每次实验后,应递交一份实验报告,报告中应包括下列内容: 1.实验名称、实验人姓名、学号、班级、所用的设备号。 2.实验目的、任务。 3.各任务程序流程图、程序清单(应加适量注释)。 4.硬件实验应画出各任务的完整电路图,包括PC总线与实验用到芯片间全部电路。 5.记录和分析实验结果。 6.据实验目的认真做小结。

2013微机原理实验指导书

微机原理实验报指导书 实验一数据传送实验 1.实验名称实验一数据传送实验 2.实验目的 1、掌握微型计算机汇编软件调试汇编源程序的基本操作; 2、熟悉传送指令、简单运算类指令来编写汇编语言源程序; 3、掌握调试过程及实验结果分析; 3.实验仪器 微型计算机一台 4.实验原理或内容 1.数据段从3500H单元开始建立0---15共16个数据区,程序中见此段存入 数据00H,01H,02H---0AH---0FH,运行之,检查并记录结果。 2.将内存3500H开始的共10个单元内容传送到3600H单元开始的数据区中,运行之,记录结果。 5.实验步骤 1.启动Masm for Windows 集成实验环境2009.6。显示如下: 2.输入源程序 在模板处将程序完成,其中模板中段名可以自己修改定义,没有涉及的段可省略不写。 输入汇编语言源程序后,保存程序(规定扩展名为.asm)

3.汇编 编译/汇编成目标文件,单击运行菜单下“编译成目标文件(obj)”,等待系统汇编,若有错误,修改再编译,直至无错误为止。

4.连接 生成可执行文件。单击运行菜单下“生成可执行文件(exe)”,等待系统对汇编生成的.obj文件进行连接,生成相应的可执行文件。若有错误,修改错误重复3和4操作,直至无错误为止。

5.在DEBUG调试环境下进行程序的调试 1、反汇编。u回车 -u0000回车 2、单步运行。-T=0000回车 -T回车 3、连续运行。G=起始偏移地址结束偏移地址 4、内存单元内容显示。-Dds:3500回车 5、内存单元内容的修改。-EDS:3500回车.键入修改后内容再空格 完成后回车 6、查看修改寄存器。-R回车 -R跟寄存器名,显示寄存器内容:后可跟修改内容 -R IP 可查看修改IP值 7、退出debuf。Q命令 6.数据与结果 将运行结果记录于此处

微机原理及应用 上机实验报告2 数据传送

课程名称:_________微机原理及应用___________指导老师:_____钟崴_______成绩:__________________ 实验名称:_________数据传送___________实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填)二、实验内容和原理(必填) 三、主要仪器设备(必填)四、操作方法和实验步骤 五、实验数据记录和处理六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求(必填) 掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。 二、实验内容和原理(必填) 1.编制一段程序,要求程序中包含7中不同寻址方式。 2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。 3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H中。 4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。 三、主要仪器设备(必填) PC机一台。 四、操作方法和实验步骤 逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。 五、程序清单 1. ORG 0000H CLEAR MOV R0,#30H ;间接寻址 MOV A,#40H ;立即寻址 MOV @R0,A ;间接寻址 MOV A,30H ;直接寻址 MOV DPTR,#0100H ;间接寻址 MOV A,#36H MOVX @DPTR,A MOV R0,#50H ;立即寻址 MOV A,#10 MOVC A,@A+DPTR ;变址寻址 END

微机原理与接口技术实验报告

微机原理与接口技术课程设计报告题目:继电器控制实验设计 学院电子与信息工程学院 专业通信工程年级 10级 学生姓名 xx 学号 _ xxxxxxxx 指导教师 xx 完成时间 2012/11/9 二O一二年十一月

目录 摘要 (3) 一.实验目的 (4) 二.实验原理 (4) 1 实验基本原理 (4) 2.1继电器结构原理图 (5) 2.2继电器工作原理 (5) 3.1 8255A组成 (6) 3.2 8255A结构框图 (7) 3.3 8255A工作方式 (7) 三.实验内容 (11) 四.程序设计 (12) 4.1程序流程图 (12) 4.2程序代码 (12) 五.实验小结........................................................ 错误!未定义书签。 六.参考文献 ......................................................... 错误!未定义书签。

摘要 现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全。继电器便能完成这一桥梁作用。 本课程设计主要采用了控制继电器和8255A芯片来完成。电路的控制端为高电平时,继电器工作常开触点吸合,连触点的LED灯被点亮。当控制端为低电平时,继电器不工作。执行时,对应的LED将随继电器的开关而亮灭。 关键词:控制继电器 8255A芯片

一.实验目的 1、进一步熟悉汇编语言的设计编写 2、掌握继电器控制的基本原理 3、掌握继电器控制编程方法 4、掌握8255芯片的应用 二.实验原理 1、利用8255A PA0输出高低电平,控制继电器的开合,以实现对外部装置的控制。 硬件线路原理图接线如下: 2、继电器 在现代工业中,人员和电子电路安全保障一直是首要考虑的问题,尤其在一些高危恶劣环境下,如高温高压等,如何在保障操作人员和电子电路安全的前提下对电路进行良好地控制便成为了工业进步不可回避的问题。一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全,符合这种需求的元件便是继电器。 控制继电器是一种自动电子控制器件,它适用于远距离接通和分断交、直流小容量控制电路, 它具有控制系统和被控制系统,通常应用于自动控制电路中,

相关主题
文本预览
相关文档 最新文档