电子科技大学中山学院学生实验报告
学院:
机电工程
专业 :
课程名称:
微机原理与应用实验
班级:
姓名:
学号:
组别:
实验名称:实验一 汇编语言程序的建立和运行
实验时间:
成
绩:
教师签名:
批改时间:
一、实验目的和任务
1. 熟悉伪指令和汇编运算符,掌握汇编语言程序的编写方法。
2. 学习汇编语言源程序的编辑、汇编、连接、调试及运行的全过程。
二、实验内容
熟悉伪指令和汇编运算符的检查性编程练习。
填写以下空白并上机检查答案是否正确。
;EXSE1.ASM DATA
SEGMENT
QA1 EQU 255
;QA1________ QA2=QA1 GT 3000
;QA2________ QA3=0FFFH
;QA3________ QA4 EQU QA3-255
;QA4________ QA5=88H SHR 2
;QA5________ ORG 1060H G1 DB 32,QA1
G2 DW 0FF6H
G3 DW 3 DUP(5)
G4 DW SEG G1
SA EQU LENGTH G3
;SA________ SB EQU SIZE G3
;SB________ SC=TYPE G3
;SC________ ORG 1200H F1=THIS WORD
F2 DB 11H,22H,33H,44H
;1200H: ___ ___ ___ ___ FF DD 12345H
;1204H: ___ ___ ___ ___ DATA
ENDS
CODE
SEGMENT
ASSUME
CS:CODE,DS:DATA START
PROC FAR
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DATA
MOV DS, AX
;DS________
MOV AL, BYTE PTR G2
;AL________
MOV BL, SB
;BL________
MOV AX, WORD PTR FF
;AX________
AND AX, 0FFH
;AX________
MOV BL, G1+1
;BL________
MOV BX, 255 AND 0FH
;BX________
MOV CL, HIGH QA4
;CL________
MOV AL, QA2
;AL________
MOV BL, QA5
;BL________
ADD AX, OFFSET F2
;AX________
MOV BX, F1
;BX________
RET START ENDP CODE ENDS END
START 三、实验过程和数据记录
1.汇编语言程序的上机过程如下:
2.将程序运行时对应的寄存器和内存单元的内容填在“实验内容”处。
四、发挥与提高 请将数据段中的 TAB 开始的 20 个单元置入 0FFH,编写完整程序并上机调试。
五 、实验小结
电子科技大学中山学院学生实验报告
学院:
机电工程
专业 :
课程名称:
微机原理与应用实验
班级:
姓名:
学号:
组别:
实验名称:实验二 显示程序实验
实验时间:
成
绩:
教师签名:
批改时间:
一、实验目的和任务
1. 掌握在 PC 机上以上十六位进制数形式显示数据的方法。
2. 掌握部分 DOS 功能调用的使用方法。
3. 熟悉 Tubo Debugger 的使用方法。
二、实验内容
一般来说,有很多程序需要显示运行的状态和结果,有的还需要将数据区中的内容显示在屏幕上.本实验要求将指定数据区的数据以十六进制形式显示在屏幕上,并通过 DOS 功能调用完成一些提示信息的显示.实验中可使用 DOS 功能调用(INH21H). 1.显示单个字符 入口:AH=02H 调用参数:DL=输出字符 2.显示字符串 入口:AH=09H 调用参数:DS:DX=串地止$为结束字符 3.盘输入并回显 入口:AH=01H 返回参数:AL=输出字符 4.返回 DOS 系统 入口:AH=4CH 调用参数:AL=返回码 END STAR
看懂以下程序并验证结果:
DATA
SEGMENT
MES
DB
‘SHOW A AS HEX:’, 0AH,0DH,’$’ SD
DB
‘A’ DATA
ENDS
CODE
SEGMENT
ASSUME
CS: CODE,DS: DATA START:
MOV AX,DATA
MOV DS,AX
;显示提示信息
MOV DX,OFFSET MES
MOV AH,09H
INT
21H
MOV SI,OFFSET SD
MOV AL,DS:[SI]
;取高 4 位
AND AL,0F0H
SHR AL,4
;是否是 A 以上的数
CMP AL,0AH
JB
C2
;调整 ASCII 码值
ADD AL,07H C2:
ADD AL,30H
;显示字符
MOV DL,AL
MOV AH,02H
INT
21H
MOV AL,DS:[SI]
;取低 4 位
AND AL,0FH
CMP AL,0AH
JB
C3
ADD AL,07H C3:
ADD AL,30H
;显示字符
MOV DL,AL
MOV AH,02H
INT
21H
;返回 DOS
MOV AX,4C00H INT
21H CODE
ENDS
END START
三、实验过程和数据记录
1.该程序使用到哪些 DOS 功能调用指令,并指出其实现的具体功能。
2.该程序得到以下运行结果:
3. 发挥与提高
四、实验小结
电子科技大学中山学院学生实验报告
学院:
机电工程
专业 :
课程名称:
微机原理与应 用实验
班级:
姓名:
学号:
组别:
实验名称:实验三汇编语言程序设计
实验时间:
成
绩:
教师签名:
批改时间:
一、实验目的和任务
掌握汇编语言程序的设计方法,熟悉汇编语言程序的上机步骤和调试方法。
二、实验内容
1.编写程序,用键盘输入一个数字,判断是奇数还是偶数,若是奇数显示“ODD”,若是偶数显示“PARITY”。
编程提示:
实验中可使用 DOS 功能调用(INT
21H). 显示单个字符
入口:AH=02H,
调用参数:DL=输出字符; 显示字符串
入口:AH=09H, 调用参数:DS:DX=串地止$为结束字符; 键盘输入并回显
入口:AH=01H
返回参数:AL=输出字符; 返回 DOS 系统
入口:AH=4CH
调用参数:AL=返回码。
2.编程计算下列函数的值:
1
(X>0)
Y=
0
(X=0) -1
(X<0)
3.
在以 BUFFER 为首址的内存中存放了若干个带符号数,寻找出它们最大值放到存储单元 MAXVAL 中, 最小值放到存储单元 MINVAL 中。(选做)
三、实验过程和数据记录
完整的源程序如下:
四、实验小结
电子科技大学中山学院学生实验报告
学院:
机电工程
专业 :
课程名称:
微机原理与应用实验
班级:
姓名:
学号:
组别:
实验名称:实验四 可编程并行接口 8255(方式 0)
实验时间:
成
绩:
教师签名:
批改时间:
一、实验目的和任务
掌握8255方式0的工作原理及使用方法。
二、实验内容
1.实验电路如图4-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2. 编程从8255C口输入数据,再从A口输出。
图4-1
图4-2 编程提示:
1)8255控制寄存器端口地址28BH A口的地址288H C口的地址28AH 2)参考流程图(见图4-2)
三、实验过程和数据记录
1.源程序:
2.运行程序得到怎样的控制效果?
四、实验小结
电子科技大学中山学院学生实验报告
学院:
机电工程
专业 :
课程名称:
微机原理与应用实验
班级:
姓名:
学号:
组别:
实验名称:实验五 七段数码管
实验时间:
成
绩:
教师签名:
批改时间:
一、实验目的和任务
掌握数码管显示数字的原理。
二、实验内容
1. 静态显示:按图5-1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
2. 动态显示:按图5-2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0。编程在两个数码管上显示“56”。
3. 动态显示:使用图5-2的电路,编程在两个数码管上循环显示“00-99”。
图 5-1
图 5-2
编程提示:
1)实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
2)七段数码管的字型代码表如下表:
3)参考流程图(见图5-2)
图5-3 三、实验过程和数据记录
1.静态显示的程序和动态显示‘56’的程序:
2.运行程序得到怎样的控制效果?
四、实验小结
电子科技大学中山学院学生实验报告
学院:
机电工程
专业 :
课程名称:
微机原理与应用实验
班级:
姓名:
学号:
组别:
实验名称:实验六 可编程定时器/计数器 ( (8253)
)
实验时间:
成
绩:
教师签名:
批改时间:
一、实验目的和任务
掌握8253的基本工作原理和编程方法。
二、实验内容
1. 按图6-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
图 6-1
2. 按图6-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
图6-2
编程提示:
1、8253控制寄存器地址283H 计数器0地址280H 计数器1地址281H CLK0连接时钟1MHZ 2、参考流程图(见图6-3、6-4):
图6-3
图6-4
三、实验过程和数据记录
1.源程序:
2.运行程序得到怎样的控制效果?
四、实验小结
电子科技大学中山学院学生实验报告
学院:
机电工程
专业 :
课程名称:
微机原理与应用实验
班级:
姓名:
学号:
组别:
实验名称:实验七 串行通讯(8250)
实验时间:
成
绩:
教师签名:
批改时间:
一、实验目的和任务
1.了解串行通讯的基本原理。
2.掌握串行接口芯片8250的工作原理和编程方法。
二、实验内容
1.将串行接口的TXD和RXD连在一起。
2.编程:从键盘输入一个字符,将其ASCII码加1 后发送出去,再接收回来在屏幕上显示,实现自发自收。
要求数据传输速率为1200波特,通信格式为7位/字符,一个停止位、奇校验,数据发送和接收均采用查询方式;程序为循环结构,只要按下键,就显示。
编程提示:
参考流程图如下:
三、实验过程和数据记录
1.源程序:
2.运行程序得到怎样的控制效果?
四、实验小结