微机原理实验报告.docx

上传人:b****7 文档编号:9460421 上传时间:2023-02-04 格式:DOCX 页数:46 大小:410.79KB
下载 相关 举报
微机原理实验报告.docx_第1页
第1页 / 共46页
微机原理实验报告.docx_第2页
第2页 / 共46页
微机原理实验报告.docx_第3页
第3页 / 共46页
微机原理实验报告.docx_第4页
第4页 / 共46页
微机原理实验报告.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

微机原理实验报告.docx

《微机原理实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告.docx(46页珍藏版)》请在冰豆网上搜索。

微机原理实验报告.docx

微机原理实验报告

 

大连理工大学

 

本科实验报告

 

课程名称:

计算机原理课程设计

学院(系):

电气工程学院

专业:

电气工程及其自动化

班级:

学号:

学生姓名:

 

2010年12月30日

大连理工大学实验报告

实验时间:

年月日星期四时间:

13:

00~15:

05

实验室(房间号):

实验台号码:

班级:

姓名:

指导教师签字:

成绩:

实验一运算类程序设计编程训练

一、实验目的和要求

1、掌握运算类指令编程及调试方法。

2、掌握运算类指令对各标志位的影响及控制条件转移的使用。

二、实验内容

用减奇数法开平方。

三、实验算法

N个连续自然数中的奇数和等于

,要做S的开平方运算,那么就可以从S数中逐次减去自然数中的奇数1,3,5,7……,直到结果为0,然后统计自然奇数的个数,它就是S数的平方根。

四、实验流程图

 

五、程序清单

DATASEGMENT

SUMDB49

NUMDB0

DATAENDS

STASEGMENT

STACKDB256DUP(?

STAENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STA,DS:

DATA

MAINPROCFAR

PUSHDS

SUBAX,AX

PUSHAX;标准程序退出

MOVAX,DATA

MOVDS,AX

MOVAL,SUM;存放总数

MOVBL,1;存放总奇数的和

MOVCL,0;存放相减的结果

LOOP1:

INCCL

SUBAL,BL

JZOUT1;相等则跳出循环

INCBL;否则继续循环

INCBL

JMPLOOP1;循环

OUT1:

MOVNUM,CL;结果存放

MOVAL,CL;结果输出入口

CALLPUTC;调用输出函数

RET

MAINENDP

PUTCPROC

CBW;字节转换为字

MOVDL,10

DIVDL

MOVDH,AH;D保存个位上的数

ADDAL,30H;转换为ASCLL码

MOVAH,02H

MOVDL,AL

INT21H;显示十位数

MOVAL,DH

ADDAL,30H

MOVAH,02H

MOVDL,AL

INT21H;显示个位数

MOVAH,02H

MOVDL,'';显示空格

INT21H

RET

PUTCENDP

CODEENDS

ENDMAIN

六、实验结果与分析

运行程序,达到了设计要求,下图为程序运行结果:

程序运行结果

七、实验体会和建议

通过本次实验,掌握了汇编程序的上机调试过程,并学会了一些运算类指令的实用方法,对循环类程序的设计有了了解。

八、主要仪器设备

计算机DOS操作系统。

 

大连理工大学实验报告

实验时间:

年月日星期四时间:

13:

00~15:

05

实验室(房间号):

综420实验台号码:

19班级:

电气0801姓名:

刘伟民

指导教师签字:

成绩:

实验二排序程序设计编程训练

二、实验目的和要求

3、利用分支,循环,子程序调用等基本程序结构实现排序程序。

4、掌握综合程序的设计,编制及调试方法。

八、实验内容

在数据区中存放一组数,数据个数就是数据缓存区的长度,用气泡法,对该数据区中的数据按递增关系排序。

九、实验算法

1、从最后一二数开始,依次把相邻的恋歌数进行比较,即第N个数与第N-1个数比较,第N-1个数与第N-2个数比较……若第N-1个数大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。

此时,N个数中的最小数将被排在N个数的最前列。

2、对剩下的N-1个数重读第一步,找到N-1个数中的最小数。

3、重复第二步,直到N个数全部排好序为止。

十、程序清单

DATASEGMENT

BUFFERDB31h,35h,37h,39h,33h,32h,34h,30h,38h,36h

COUNTEQU($-BUFFER)

DATAENDS

SS_SEGSEGMENTSTACK

DB256DUP(?

SS_SEGENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

SS_SEG

MAINPROCFAR

MOVAX,DATA

MOVDS,AX

MOVSI,COUNT

SORT1:

MOVDI,1

MOVCX,DI

LEABX,BUFFER

CIRCLE:

MOVAL,[BX]

INCBX

CMPAL,[BX]

JLENEXT

XCHGAL,[BX]

MOV[BX-1],AL

MOVDI,CX

NEXT:

INCCX

CMPCX,SI

JLCIRCLE

DECSI

CMPDI,1

JNESORT1

MOVCX,COUNT

LEABX,BUFFER

DIS:

MOVAH,02H

MOVDL,[BX]

INT21H

INCBX

LOOPDIS

MOVAH,4CH

INT21H

MAINENDP

CODEENDS

ENDMAIN

十一、实验结果与分析

运行程序,达到了设计要求,下图为程序运行结果:

程序运行结果

十二、实验体会和建议

通过本次实验,掌握了分支,循环,子程序调用等基本程序的基本应用,并学会气泡法这一排序算法。

八、主要仪器设备

计算机DOS操作系统。

 

大连理工大学实验报告

实验时间:

年月日星期四时间:

13:

00~15:

05

实验室(房间号):

综420实验台号码:

19班级:

电气0801姓名:

刘伟民

指导教师签字:

成绩:

实验三DOS功能调用编程训练

三、实验目的和要求

5、熟悉汇编语言程序的使用。

6、掌握十进制的运算、设计显示程序运行结果的格式。

7、熟练掌握DOS功能调用。

十三、实验内容

编写程序,求30个同学成绩的平均分数,将结果显示在屏幕上。

显示格式要求如下:

第一行显示:

THE20SCORESARE:

以分号分隔的30个同学的分数。

第二行显示:

AVERAGESCOREIS=求得的平均分数。

十四、实验算法

1、将求出的二进制表示的平均分数,转换成十进制表示。

2、显示字符串信息用DOS功能调用INT21H,功能号为09H。

3、显示平均数结果时,用DOS功能调用INT21H,功能号为02H。

十五、实验流程图

 

 

十六、程序清单

datasegment

bufferdb98,83,88,94,90,84,77,84,93,88,89,95,84,93,98,86,86,87,98,96

sumdw0000h

string0db'THE20SCORESARE:

$'

string1db'AVERAGESCOREIS=$'

countequ20

dataends

stasegmentstack

db100dup(?

staends

codesegment

assumecs:

code,ss:

sta,ds:

data

mainprocfar

movax,data

movds,ax

movbx,offsetbuffer

movcx,count

callputs0

circle:

moval,[bx]

callput_dec;显示[bx]

moval,[bx]

movah,00h;先将AH清零

adcsum,ax;带进位加法,结果放在sum中

incbx

loopcircle

callputs1

movax,sum

movbl,count

divbl

callput_dec

movax,4c00h

int21h

mainendp

put_decproc

cbw

movdl,10

divdl;al中存商,ah中存余数

movdh,ah;余数转移到dh,

addal,30h;ASCⅡ转换

movah,02h

movdl,al

int21h

moval,dh

addal,30h

movah,02h

movdl,al

int21h

movah,02h

movdl,';'

int21h

ret

put_decendp

puts0proc

movah,02h

movdl,10;换行

int21h

movah,02h

movdl,13;回车

int21h

movah,09h

leadx,string0

int21h

ret

puts0endp

puts1proc

movah,02h

movdl,10;换行

int21h

movah,02h

movdl,13;回车

int21h

movah,09h

leadx,string1

int21h

ret

puts1endp

codeends

endmain

十七、实验结果与分析

运行程序,达到了设计要求,下图为程序运行结果:

十八、实验体会和建议

通过本次实验,熟悉汇编语言程序的使用,常用的DOS功能调用方法。

八、主要仪器设备

计算机DOS操作系统。

 

大连理工大学实验报告

实验时间:

年月日星期四时间:

13:

00~15:

05

实验室(房间号):

综420实验台号码:

19班级:

电气0801姓名:

刘伟民

指导教师签字:

成绩:

实验四8255并行接口实验

一、实验目的和要求

1、学习利用并行接口芯片8255构成并行接口电路的基本方法。

2、熟悉掌握并行接口芯片8255的基本性能及在实际应用中的硬件连接、初始化编程方法。

二、实验内容

编写程序,使8255的PB口位输出口,PA口将K0~K7作为一个字节读入,再从PB口输出这一反码字节。

三、实验电路图

8255并行接口实验电路图

四、程序清单

汇编程序代码如下:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,21BH

MOVAL,90H

OUTDX,AL

BG:

MOVDX,218H

INAL,DX

MOVDX,219H

OUTDX,AL

JMPBG

CODEENDS

ENDSTART

五、实验结果与分析

改变PA口输入的数据,PB口输出的数据随之变化。

六、实验体会和建议

第一接口实验,掌握了并行接口芯片8255的基本性能及在实际应用中的硬件连接、初始化编程方法。

七、主要仪器设备

SAC-86S试验箱,计算机。

 

大连理工大学实验报告

实验时间:

年月日星期四时间:

13:

00~15:

05

实验室(房间号):

综420实验台号码:

19班级:

电气0801姓名:

刘伟民

指导教师签字:

成绩:

实验五8259中断实验

二、实验目的和要求

1.PC机的中断结构及8259中断控制器的初始化。

2.熟悉8259中断控制器的工作原理和硬件连线方法。

3.了解8259的应用和硬件编程方法。

4.了解8259中断屏蔽,以及优先级判别等特性。

八、实验内容

1.编写中断实验程序,主程序使8255的PB口为输出口,输入0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

2.编写中断实验程序,主程序使8255的PB口为输出口,输入0FFH,L0~L7指示灯全亮,IR0中断服务程序从PB口输出0FH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

IR1中断服务程序从PB口输出0F0H,L0~L3灭,L4~L7亮,并延时一段时间后返回主程序。

九、实验电路图

图5-18259(单片)中断实验电路图

图5-28259中断优先级实验电路图

十、程序清单

8259(单片)中断实验汇编程序代码如下:

INT0EQU220H

INT1EQU221H

INT10EQU228H

INT11EQU229H

STACKSEGMENT

STADB50DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

CLI

MOVAX,TOP

MOVSP,AX

PUSHDS

MOVAX,0000H;SETIRQ0

MOVDS,AX

MOVAX,OFFSETIRQ0

ADDAX,0000H

MOVSI,20H

MOV[SI],AX

MOVAX,CS

MOVSI,22H

MOV[SI],AX

POPDS

MOVAL,13H;ICW1

MOVDX,INT0

OUTDX,AL

MOVAL,8;ICW2

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVAL,9;ICW4

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVDX,INT1

MOVAL,0FEH;OCW1

OUTDX,AL

MOVCX,0FFFH

STI

MOVDX,21BH

MOVAL,90H

OUTDX,AL

DSP:

MOVAL,0FFH

MOVDX,219H

OUTDX,AL

JMPDSP

IRQ0:

STI

MOVCX,0FFFFH

LOOP$

MOVAL,0FH

MOVDX,219H

OUTDX,AL

MOVDX,INT0

MOVAL,20H

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVCX,0FFFFH

LOOP$

IRET

CODEENDS

ENDSTART

 

8259中断优先级实验汇编程序代码如下:

INT0EQU220H

INT1EQU221H

INT10EQU228H

INT11EQU229H

STACKSEGMENT

STADB50DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

CLI

MOVAX,TOP

MOVSP,AX

PUSHDS

MOVAX,0000H;SETIRQ0

MOVDS,AX

MOVAX,OFFSETIRQ0

ADDAX,0000H

MOVSI,20H

MOV[SI],AX

MOVAX,CS

MOVSI,22H

MOV[SI],AX

MOVAX,0000H;SETIRQ1

MOVDS,AX

MOVAX,OFFSETIRQ1

ADDAX,0000H

MOVSI,24H

MOV[SI],AX

MOVAX,CS

MOVSI,26H

MOV[SI],AX

POPDS

MOVAL,13H;ICW1

MOVDX,INT0

OUTDX,AL

MOVAL,8;ICW2

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVAL,9;ICW4

MOVDX,INT1

OUTDX,AL

MOVCX,0FFFH

LOOP$

MOVDX,INT1

MOVAL,0FCH;OCW1

OUTDX,AL

MOVCX,0FFFH

STI

MOVDX,21BH

MOVAL,90H

OUTDX,AL

DSP:

MOVAL,0FFH

MOVDX,219H

OUTDX,AL

JMPDSP

IRQ0:

STI

MOVCX,0FFFFH

LOOP$

MOVAL,0FH

MOVDX,219H

OUTDX,AL

MOVDX,INT0

MOVAL,20H

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVCX,0FFFFH

LOOP$

IRET

IRQ1:

STI

MOVCX,0FFFFH

LOOP$

MOVAL,0F0H

MOVDX,219H

OUTDX,AL

MOVDX,INT0

MOVAL,20H

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVCX,0FFFFH

LOOP$

IRET

CODEENDS

ENDSTART

十一、实验结果与分析

单片8259实验中,L0~L7指示灯全亮,按下单脉冲按钮,L0~L3亮,L4~L7灭,延时一段时间后仍全亮。

8259中断优先级实验中,L0~L7指示灯全亮;按下左单脉冲按钮(接IR0),L0~L3亮,L4~L7灭,延时一段时间后仍全亮;按下右单脉冲按钮(接IR0),L0~L3灭,L4~L7亮,延时一段时间后仍全亮;同时按下两个单脉冲按钮,L4~L7先灭亮,L0~L3后灭亮,延时一段时间后仍全亮。

十二、实验体会和建议

通过本次实验,掌握了8259的初始化方法,了解了8259的应用和硬件编程方法,

8259中断屏蔽,以及优先级判别等特性。

十三、主要仪器设备

SAC-86S试验箱,计算机。

大连理工大学实验报告

实验时间:

年月日星期四时间:

13:

00~15:

05

实验室(房间号):

综420实验台号码:

19班级:

电气0801姓名:

刘伟民

指导教师签字:

成绩:

实验六定时计数器实验

三、实验目的和要求

1.了解定时器8253的初始化及用法。

2.会用逻辑笔或示波器观察8253的工作状态。

十四、实验内容

编写程序,使8253的定时/计数器2工作在方式3下。

会看到逻辑笔红绿灯来回反复变化。

十五、实验电路图

8253实验电路图

十六、程序清单

汇编程序代码如下:

TIM_CTLEQU203H

TIMER0EQU200H

TIMER1EQU201H

TIMER2EQU202H

MODE23EQU0B6H

MODE13EQU76H

CODESEGMENT

ASSUMECS:

CODE

START:

TT:

CLI

MOVDX,TIM_CTL

MOVAL,MODE23

OUTDX,AL

MOVDX,TIMER2

MOVAL,0FFH

OUTDX,AL

MOVAL,0FFH

OUTDX,AL

WT:

JMPWT

CODEENDS

ENDSTART

十七、实验结果与分析

K0向8253输入高电平时,可以看到逻辑笔红绿交替变化。

K0为低电平时观察不到此现象。

十八、实验体会和建议

通过本次实验,掌握了8253的使用方法。

若要产生周期较长的方波,如10s,可以采用多个定时器级联的方法,即通过一个定时器对原始时钟信号进行分频,其输出作为另一定时器的时钟信号。

十九、主要仪器设备

SAC-86S试验箱,计算机。

大连理工大学实验报告

实验时间:

年月日星期四时间:

13:

00~15:

05

实验室(房间号):

综420实验台号码:

19班级:

电气0801姓名:

刘伟民

指导教师签字:

成绩:

实验七A/D转换接口实验

四、实验目的和要求

1.了解模/数转换的工作原理。

2.掌握0809的使用方法。

二十、实验内容

编写程序,用0809的IN0通道采集数据并在数码管上显示。

调节电位器W1,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。

二十一、实验电路图

0809实验电路图

二十二、程序清单

汇编程序代码如下:

B8279EQU212H

D8279EQU210H

LED0EQU00

LED1EQU38H

DATASEGMENT

LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,

DB6FH,77H,7CH,39H5EH,79H,71H

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVDX,B8279

MOVAL,0D0H

OUTDX,AL

MOVCX,0FFFFH

LOOP$

MOVDX,B8279

MOVAL,LED0

OUTDX,AL

MOVAL,LED1

OUTDX,AL

MOVDX,B8279

MOVAL,95H

OUTDX,AL

MOVDX,D8279

MOVAL,40H

OUTDX,AL

MOVDX,D8279

MOVAL,5EH

OUTDX,AL

MOVDX,D8279

MOVAL,77H

OUTDX,AL

TT:

MOVDX,230H

OUTDX,AL

MOVCX,0FFFFH

LOO

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

当前位置:首页 > 高等教育 > 法学

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

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