川大微机保护实验报告 2

川大微机保护实验报告 2
川大微机保护实验报告 2

微机保护实验报告

学院:电气信息学院

姓名:雷锋

学号:

班级:

实验一微机线路相间方向距离保护实验

一、实验目的

1、掌握微机相间方向距离保护特性的检验方法。

2、掌握微机相间方向距离保护一、二、三段定值的检验方法。

3、掌握微机保护综合测试仪的使用方法。

4、熟悉微机型相间方向距离保护的构成方法。

二、实验项目

1、微机相间方向距离保护特性实验

2、微机相间方向距离保护一、二、三段定值实验

三、实验步骤

1、实验接线图如下图所示:

2、将接线图中的IA、IB、IC、IN分别接到保护屏端子排对应的15(I-7)、14(I-6)、13(I-5)、20(I-12)号端子;UA、UB、UC、UN分别接到保护屏端子排对应的1(I-15)、2(I-16)、3(I-17)、6(I-18)号端子;K1、K2分别接到保护屏端子排对应的60(I-60)、71(I-71)号端子;n1、n2分别接到保护屏端子排对应的76(220VL)和77(220VN)号端子。

3、微机相间方向距离保护特性的测试

第一步:连接好测试线(包括电压线、电流线及开关量信号线的连接,包括电压串联和电流并联),打开测试仪,进入距离保护测试主界面。(参见M2000使用手册)

第二步:设置测试方式及各种参数。

将测试方式设置成自动搜索方式,

时间参数设置:包括故障前时间、最长故障时间、间隔时间。

固定值:用户可以设置固定电压或电流及其大小。

间隔时间:是每一个脉冲后的停顿时间,在该时间内没有电压电流输出;若不希望在测试过程中有电压失压的情况,可将间隔时间设为 0 。

开关量输出:用户可以定义在故障发生时的开关量输出。

跳闸开关量:每个开关量输入通道以图形方式显示该通道的设定状态,设定状态包括:不选、断开、闭合三种。您可以用鼠标点击相应开关的图形的中心即可切换开关状态。在开关图形的右边有两个单选框分别为:与或,这是所有设定的开关量应满足的动作逻辑关系,与为所有设定的开关状态必须同时满足,或为设定的所有开关中某一个满足条件即可。

故障:设置故障类型。设置成相间故障类型(如两相短路或三相短路)。

固定值:用户可以设置固定电压或电流及其大小。

扫描半径:相对于扫描原点的扫描圆半径。

精度:有相对精度和绝对精度。当两点的Z值差小于绝对值或相对值中大者时,则停止在这两点间的搜索。

时间阶梯:每一段之间的最小时间差,小于这个值,就认为在一段内。

K:零序补偿系数的计算公式,前面是实部,后面是虚部。

角度设置:相对于扫描原点的扫描角度的设置。

扫描原点:扫描辐射线的中心点,此点必须位于封闭边界内,否则无法扫描出边界。

初始时间:整个测试开始前的予故障时间,与故障前时间概念不同,只是针对特殊的继电器,用户可以不管。

第三步:开始试验

点击主窗体上的开始按钮开始测试。用户可在状态界面的Z平面页下,看到整个试验过程。第四步:补充点

如用户测试完后,需要补充几个点,可选择单触发的方式。

4、微机相间方向距离保护一、二、三段定值的测试。方法如下:

第一步:连接好测试线(包括电压线、电流线及开关量信号线的连接,包括电压串联和电流并联),打开测试仪,进入距离保护定检;

第二步:设置“定值/测试点”,将保护定值输入界面上对应框内,选择测试点,设置固定电流还是固定电压及其值;

说明:定值是指阻抗值(包括电阻电抗),阻抗角为短路阻抗的阻抗角,测试点为输出阻抗为所设置阻抗定值的倍数;固定电流指在各段测试中故障状态电流不会变化而只有电压变化(即在0.95和1.05时电流都为5A,而电压由阻抗与电流通过公式计算确定),固定电压与此相反,电压不变电流变。

第三步:设置参数。选择故障类型,实验方法,设置零序补偿系数,故障前时间、最长故障时间、和闸角,确定故障后是否失压,选择开关量及动作方式;

说明:故障前时间一定大于能启动保护时间。

第四步:开始测试。点击测试按钮或者点键盘的F5键。测试自动完成;

第五步:保存测试结果。

说明:本测试可以一次做几段保护的各种故障,在选择测试点时选中多项(需要的)就行;但是如果需要故障后不失压(保护不提示“PT断线”)就应该选择故障后不失压;这样就可以一次完成测试。

5、记录实验数据、动作特性边界图。

6、实验结束后应将屏内的所有接线恢复完好,并清理现场,且试验结果均应符合要求。

7、将实验所测得的数据、动作特性图进行分析,并写出实验报告。

实验结果

实验结果分析:故障类型为相间短路,由上面实验结果截图可知,本次试验所测试的是A-B 两相短路。其距离保护的整定值1段R=1.00 X=4.00 2段R=1.00 X=6.00 3段R=0.999 X=8.00 保护整定时间1段0.100s 2段0.600s 3段1.100s(注意这里所整定的值是在所查距离保护定植的基础上加上0.1s左右,是为了避免未动作,但是微机保护的时间已到,使得测量的数据错误,甚至得不到想要的数据)

距离保护是一种欠量型的保护,当测量值>整定值时,保护不动作,相反当测量值<整定值时,保护动作。同样我们可以得到保护动作的实际定值1段4.123欧姆2段6.083欧姆3段8.062欧姆。

对于1段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的90%时,测量值<整定值,保护动作。且动作时间为0.0565s 动作时间小于保护整定时间(这里不是95%而是90%的原因是,整定和实际的是有误差的,我们需要找到最大的可以使保护动作的测量值,在实验的过程中,我们得到当为95%时,保护并未动作,说明这时的测量值是大于保护的整定值的。其作用是为修正整定值提供实验基础,使保护的灵敏度更高)

对于2段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的95%时,测量值<整定值,保护动作。且动作时间为0.504s 动作时间小于保护整定时间。

对于3段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的95%时,测量值<整定值,保护动作。且动作时间为1.0315s 动作时间小于保

护整定时间。

结合上述分析,此次实验是满足要求的。

实验结果分析:故障类型为相间短路,由上面实验结果截图可知,本次试验所测试的是A-B-C 三相短路。其距离保护的整定值1段R=1.00 X=4.00 2段R=1.00 X=6.00 3段R=0.999 X=8.00 保护整定时间1段0.100s 2段0.600s 3段1.100s(和上面是一样的注意这里所整定的值是在所查距离保护定植的基础上加上0.1s左右,是为了避免未动作,但是微机保护的时间已到,使得测量的数据错误,甚至得不到想要的数据)

距离保护是一种欠量型的保护,当测量值>整定值时,保护不动作,相反当测量值<整定值时,保护动作。同样我们可以得到保护动作的实际定值1段4.123欧姆2段6.083欧姆3段8.062欧姆。

对于1段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的92%时,测量值<整定值,保护动作。且动作时间为0.07s 动作时间小于保护整定时间(这里不是95%而是92%,理由同上。)

对于2段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的95%时,测量值<整定值,保护动作。且动作时间为0.504s 动作时间小于保护整定时间。

对于3段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为

的定值的95%时,测量值<整定值,保护动作。且动作时间为1.003s 动作时间小于保护整定时间。

结合上述分析,此次实验是满足要求的。

实验二微机接地方向距离保护特性实验

一、实验目的

1、掌握微机接地方向距离保护特性的检验方法。

2、掌握微机接地方向距离保护一、二、三段定值的检验方法。

3、掌握微机保护综合测试仪的使用方法。

4、熟悉微机型接地方向距离保护的构成方法。

二、实验项目

1、微机接地方向距离保护特性实验

2、微机接地方向距离保护一、二、三段定值实验

三、实验步骤

1、实验接线图如下图所示:

2、将接线图中的IA、IB、IC、IN分别接到保护屏端子排对应的15(I-7)、14(I-6)、13(I-5)、20(I-12)号端子;UA、UB、UC、UN分别接到保护屏端子排对应的1(I-15)、2(I-16)、3(I-17)、6(I-18)号端子;K1、K2分别接到保护屏端子排对应的60(I-60)、71(I-71)号端子;n1、n2分别接到保护屏端子排对应的76(220VL)和77(220VN)号端子。

3、微机接地方向距离保护特性的测试

第一步:连接好测试线(包括电压线、电流线及开关量信号线的连接,包括电压串联和电流并联),打开测试仪,进入距离保护测试主界面。(参见M2000使用手册)

第二步:设置测试方式及各种参数。

将测试方式设置成自动搜索方式,

时间参数设置:包括故障前时间、最长故障时间、间隔时间。

固定值:用户可以设置固定电压或电流及其大小。

间隔时间:是每一个脉冲后的停顿时间,在该时间内没有电压电流输出;若不希望在测试过程中有电压失压的情况,可将间隔时间设为 0 。

开关量输出:用户可以定义在故障发生时的开关量输出。

跳闸开关量:每个开关量输入通道以图形方式显示该通道的设定状态,设定状态包括:不选、断开、闭合三种。您可以用鼠标点击相应开关的图形的中心即可切换开关状态。在开关图形的右边有两个单选框分别为:与或,这是所有设定的开关量应满足的动作逻辑关系,与为所有设定的开关状态必须同时满足,或为设定的所有开关中某一个满足条件即可。

故障:设置故障类型。设置成接地故障类型(如单相接地或两相接地)

固定值:用户可以设置固定电压或电流及其大小。

扫描半径:相对于扫描原点的扫描圆半径。

精度:有相对精度和绝对精度。当两点的Z值差小于绝对值或相对值中大者时,则停止在这两点间的搜索。

时间阶梯:每一段之间的最小时间差,小于这个值,就认为在一段内。

K:零序补偿系数的计算公式,前面是实部,后面是虚部。

角度设置:相对于扫描原点的扫描角度的设置。

扫描原点:扫描辐射线的中心点,此点必须位于封闭边界内,否则无法扫描出边界。

初始时间:整个测试开始前的予故障时间,与故障前时间概念不同,只是针对特殊的继电器,用户可以不管。

第三步:开始试验

点击主窗体上的开始按钮开始测试。用户可在状态界面的Z平面页下,看到整个试验过程。第四步:补充点

如用户测试完后,需要补充几个点,可选择单触发的方式。

4、微机接地方向距离保护一、二、三段定值的测试。方法如下:

第一步:连接好测试线(包括电压线、电流线及开关量信号线的连接,包括电压串联和电流并联),打开测试仪,进入距离保护定检;(参见M2000使用手册)

第二步:设置“定值/测试点”,将保护定值输入界面上对应框内,选择测试点,设置固定电流还是固定电压及其值;

说明:定值是指阻抗值(包括电阻电抗),阻抗角为短路阻抗的阻抗角,测试点为输出阻抗为所设置阻抗定值的倍数;固定电流指在各段测试中故障状态电流不会变化而只有电压变化(即在0.95和1.05时电流都为5A,而电压由阻抗与电流通过公式计算确定),固定电压与

此相反,电压不变电流变。

第三步:设置参数。选择故障类型,实验方法,设置零序补偿系数,故障前时间、最长故障时间、和闸角,确定故障后是否失压,选择开关量及动作方式;

说明:故障前时间一定大于能启动保护时间。

第四步:开始测试。点击测试按钮或者点键盘的F5键。测试自动完成;

第五步:保存测试结果。

说明:本测试可以一次做几段保护的各种故障,在选择测试点时选中多项(需要的)就行;但是如果需要故障后不失压(保护不提示“PT断线”)就应该选择故障后不失压;这样就可以一次完成测试。

5、记录实验数据、动作特性边界图。

6、实验结束后应将屏内的所有接线恢复完好,并清理现场,且试验结果均应符合要求。

7、将实验所测得的数据、动作特性图进行分析,并写出实验报告。

实验结果

实验结果分析:这是阻抗继电器的特性分析表

放大实验数据,我们可以知道此次实验是在A-B两相短路的情况下进行的,这里的阻抗值的表示已经不是上个实验所用的笛卡尔坐标,而是用的极坐标表示的。我们可以从表上知道动作阻抗(注意,动作阻抗和整定阻抗不是同一个概念,只有全阻抗继电器动作阻抗的幅值与整定阻抗的幅值相等,其他一般都不相等)的幅值和相角。还可以得到动作时间,以及电压电流。上述实验的步长为15°。

实验结果分析:故障类型为单项接地短路,由上面实验结果截图可知,本次试验所测试的是

A相接地短路。其距离保护的整定值1段R=1.00 X=2.00 2段R=1.00 X=5.00 3段R=0.999 X=8.00 保护整定时间1段0.100s 2段0.600s 3段1.100s(和上面是一样的注意这里所整定的值是在所查距离保护定植的基础上加上0.1s左右,是为了避免未动作,但是微机保护的时间已到,使得测量的数据错误,甚至得不到想要的数据)

距离保护是一种欠量型的保护,当测量值>整定值时,保护不动作,相反当测量值<整定值时,保护动作。同样我们可以得到保护动作的实际定值1段2.236欧姆2段5.099欧姆3段8.062欧姆。

对于1段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的92%时,测量值<整定值,保护动作。且动作时间为0.055s 动作时间小于保护整定时间(这里不是95%而是90%的原因是,整定和实际的是有误差的,我们需要找到最大的可以使保护动作的测量值,在实验的过程中,我们得到当为95%时,保护并未动作,说明这时的测量值是大于保护的整定值的。其作用是为修正整定值提供实验基础,使保护的灵敏度更高)

对于2段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的95%时,测量值<整定值,保护动作。且动作时间为0.5515s 动作时间小于保护整定时间。

对于3段当测量阻抗为定值的105% .显然测量值>整定值,保护未动作。当测量值为的定值的95%时,测量值<整定值,保护动作。且动作时间为1.004s 动作时间小于保护整定时间。

结合上述分析,此次实验是满足要求的。

实验结果分析:

这是阻抗继电器的动作特性图。为测量的方便和软件编程的简单,我们通过固定电流值,改变电压值来测得阻抗值的大小(这里需要注意的是固定的电流值大小要合适,不然产生溢出,而导致得不到正确的实验结果和分析,这里取了一个合适的经念值,其大小为3A).步长为15°,在Z平面绘制动作特性图。而找出动作阻抗的理论是采用了二分法的算法。

二分法,又称分半法,是一种方程式根的近似值求法。对于区间[a,b]上连续不断且f(a) ·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫做二分法(bisection)。二分法在计算机算法中试一种十分常见的算法。

二分法基本思路:

一般地,对于函数f(x),如果存在实数c,当x=c时,若f(c)=0,那么把x=c叫做函数f(x)的零点。解方程即要求f(x)的所有零点。

假定f(x)在区间(x,y)上连续

先找到a、b属于区间(x,y),使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],

现在假设f(a)<0,f(b)>0,a

①如果f[(a+b)/2]=0,该点就是零点,

如果f[(a+b)/2]<0,则在区间((a+b)/2,b)内有零点,(a+b)/2>=a,从①开始继续使用

②中点函数值判断。

如果f[(a+b)/2]>0,则在区间(a,(a+b)/2)内有零点,(a+b)/2<=b,从①开始继续使用中点函数值判断。

这样就可以不断接近零点。

通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近

函数的零点,以求得零点的近似值,这种方法叫做二分法。

从以上可以看出,每次运算后,区间长度减少一半,是线形收敛。另外,二分法不能计算复根和重根。

实验总结和心得体会:

本次试验通过老师耐心的讲解,以及自己的操作,不仅提高了我对于继电保护理论知识的更深层次的认识,也培养了自己的动手能力,更重要的是,让我对微机保护仪的使用有了基本认识,学会如何把理论知识运用于实践中。掌握了一些基本的操作。使自己清醒的认识到微机保护对于现代电力系统的重要性。总的来说,这次试验使我受益匪浅~~~谢谢老师精彩的讲解以及指导!

东南大学微机第四次实验报告

东南大学 《微机实验及课程设计》 实验报告 实验四双列点阵发光二极管显示实验 姓名:董元学号:22011207 专业:测控技术与仪器实验室:计算机硬件技术实验时间:2013年05月15 日报告时间:2013年05月18日评定成绩:审阅教师:

一. 实验目的与内容(概述) 实验目的: 1)进一步掌握TPC实验装置的基本原理和组成结构; 2)了解双色点阵LED显示器的基本原理 3)掌握PC机控制双色点阵LED显示程序的设计方法 实验内容: 4-1、在双色点阵发光二极管上显示一个黄色或红色的“年”字。 4-2、在双色点阵发光二极管上显示你的姓的汉字或拼音的第一个字母。要求该字符红色和黄色相间。 要求: 1、正确设置退出条件:可以按任意键退出,或者显示一定的次数退出 2、注意尽量清晰地显示字符,消除重影问题 4-3、利用双色点阵发光二极管任意设计一款霓虹灯动态图案,要求二极管阵列可以间或发两种颜色的光,并能看清动态变换的效果。 二. 基本实验原理(或基本原理) 点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件,双色点阵LED是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。当微机输出的控制信号使得点阵中有些LED 发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。车站广场由微机控制的点阵LED大屏幕广告宣传牌随处可见。 实验仪上设有一个共阳极8×8点阵的红黄两色LED显示器,其点阵结构如图所示。该点阵对外引出24条线,其中8条行线,8条红色列线,8条黄色列线。若使某一种颜色、某一个LED发光,只要将与其相连的行线加高电平,列线加低电平即可。 1、硬件连接: (1)行代码、红色列代码、黄色列代码各用一片74LS273锁存。 (2)行代码输出的数据通过行驱动器7407加至点阵的8条行线上, (3)红和黄列代码的输出数据通过驱动器DS75452反相后分别加至红和黄的列线上。 (4)行锁存器片选信号为CS1,红色列锁存器片选信号为CS2,黄色列锁存器片选信号为CS3。 2、流程图:

东南大学信息学院微机实验报告九

实验九 一、实验目的 1.熟悉系统功能调用INT 21H的有关功能 2.编写时钟程序 二、实验任务 1.执行时钟程序时,屏幕上显示提示符“:”,由键盘输入当前时、分、秒值,即XX:XX:XX,随即显示时间并不停地计时。 2.当有键盘按下时,立即停止计时,返回DOS。 三、源程序 DATA SEGMENT BUFFER DB 11 DB ? DB 10 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA OUTCLK: MOV AX,DATA MOV DS,AX MOV DL,':' MOV AH,2 INT 21H MOV DX,OFFSET BUFFER MOV AH,0AH ;输入字符串 INT 21H MOV BX,OFFSET BUFFER+2 MOV AL,[BX] ; 时针,ASCII码转非压缩BCD CMP AL, 03AH JAE ERROR1 CMP AL, 02FH JBE ERROR1 AND AL,0FH MOV [BX],AL INC BX MOV AL,[BX] AND AL,0FH MOV [BX],AL INC BX INC BX MOV AL,[BX] ; 分针

AND AL,0FH MOV [BX],AL INC BX MOV AL,[BX] AND AL,0FH MOV [BX],AL INC BX INC BX MOV AL,[BX] ;秒针 AND AL,0FH MOV [BX],AL INC BX MOV AL,[BX] AND AL,0FH MOV [BX],AL MOV BX,OFFSET BUFFER+2 CALL TOBCD ; 时针,两位非压缩BCD转换成两位压缩BCD MOV CH, AL ADD BX,3 CALL TOBCD MOV DH, AL ; 分针,两位非压缩BCD转换成两位压缩BCD MOV DH,AL ADD BX,3 CALL TOBCD ; 秒针,两位非压缩BCD转换成两位压缩BCD MOV DL,AL CMP CH, 24H JAE ERROR CMP DH, 60H JA ERROR CMP DL, 60H JA ERROR ERROR1: MOV AH,4CH INT 21H AGAIN: CALL DELAY MOV AL,DL ; 秒针加1 ADD AL,1 DAA MOV DL,AL CMP AL,60H JA ERROR JNE DISPY

【微机实验报告(含思考题)河畔下的哈】实验4

电子科技大学 实验报告 学号学生姓名: 课程名称: 任课老师: 实验项目名称

实验四基于ARM的嵌入式Linux开发环境建立 【实验目的】 1. 掌握嵌入式Linux开发环境的基本流程。 2. 熟悉Linux操作系统 3. 熟悉嵌入式开发平台 【实验内容】 在PC机虚拟机下的Linux系统中建立基于ARM的嵌入式Linux开发环境。 1.学会网口的配置 2.Minicom端口的使用 【预备知识】 1.了解ARM9处理器结构 2.了解Linux系统结构 3. 了解ARM开发板使用常识 【实验设备和工具】 硬件:PC 机Pentium100 以上,ARM嵌入式开发平台 软件:PC机Linux操作系统+MINICOM +AMRLINUX开发环境 【实验原理】 1.交叉编译器 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。 交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。比如,我们在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU 的主频大概在100MHz到500MHz之间。这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的CPU运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

微机实验报告(1)

《微机实验》报告 实验名称 KeilC的使用与汇编语言上机操作 指导教师刘小英 专业班级中法1201 姓名肖洋学号 U3 联系电话 一、任务要求 1.掌握KeilC环境的使用 1)字节拆分、合并:调试程序,观察相关寄存器和单元的内容。 2)数据块填充:调试程序,观察相关寄存器和单元的内容。 2. 编写两个十六位数的加法程序。 有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八 位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。 二、设计思路 1.字节拆分、合并程序:利用汇编语言中的 XCHD 和 SWAP 两个语句来实现将八位二进制 数拆分为两个四位二进制数并分别存储于不同的存储空间的功能,BCD 码与 30H 相或(加 上 30H)得到 ASCII 码。将两个 ASCII 码和 0FH 相与(高四位清零)得到 BCD 码,利 用 SWAP 语句将高位数放至高四位,将高位数和低位数相或可实现字节的合并。 2.数据块填充程序:将 R0 用作计数器,DPTR 用作片外数据指针,A 作为原始数据来源, 依顺序在片外的存储单元内容填充数据。利用循环语句来减少程序长度,并控制填充单 元个数为片外 100H 个。(通过 R0 的进位控制) 3.两个十六位数加法程序:把第一个十六位无符号数的地八位和高八位分别存于 20H 和 21H 中,把第二个十六位无符号数的地八位和高八位分别存于 30H 和 31H 中,对 20H 和 30H 中的两个低八位进行 ADD 加法操作,结果存于 R4 中;然后对 21H 和 31H 中的两 个高八位进行 ADDC 带进位的加法操作,结果存于 R3 中.然后将累加器 A 清零,并和#00H

四川大学微机原理实验报告..

微机原理实验报告 学院: 专业班级: 姓名 学号

实验一汇编语言编程基础 1.3汇编语言程序上机操作和调试训练 一.功能说明 运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。 运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。 运用LINK.EXE文件进行连接,形成*.EXE文件。 仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。 运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。 再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。 二.程序流程图 设置被除数、商的地址指针 设置单位除法次数计数器 取被除数一位作十进制调整 作字节除法、存商 N 被除数各位已除完? Y 显示运算结果 结束 三.程序代码 修改后的程序代码如下: DATA SEGMENT A D B 9,6,8,7,5 B DB 5 C DB 5 DUP (0) N EQU 5 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX

MOV ES,AX CLD LEA SI,A LEA DI,C MOV CX,N MOV AH,0 LP1: LODSB AAD DIV B STOSB LOOP LP1 MOV CX,N LEA DI,C LP2: MOV DL,[DI] ADD DL,30H MOV AH,2 INT 21H INC DI LOOP LP2 MOV AH,4CH INT 21H CODE ENDS END START 四.实验感想和收获 通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用DEBUG调试程序,收获很大。 在这次试验中我也遇到了一些困难。在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。我这才想起来我的操作系统是64位的,和该软件版本不兼容。不过我并没有放弃,经过我的摸索之后,我发现用DOSBOX这个程序可以解决我的电脑运行不了该程序的问题。在解决了第一个难题后,我开始着手改正试验1.3中的语法错误和逻辑错误,但是无论我怎么修改却始终都无法通过编译,并且基本上每句话都有编译错误。根据我多年编程的经验来看,这应该是中文输入法在搞鬼,之后我耐心地把程序重新输了一遍,果然通过了编译,并且之后的连接也进行的很顺利。在用DEBUG调试时发现得出的结果也很正确。 尽管这次的实验内容非常简单,仅仅是教会我们一些基本的操作,但我却明显感觉到了汇编语言和C语言等高级语言所不同的地方。越是底层,基础的东西就越不人性化,用C语言一行代码就能实验的功能在汇编语言中可能要花上数十行。看来汇编语言的学习不是几周就能速成的,必须要有长年累月的积淀才能掌握。

微机原理实验报告E02

【E02】OLED液晶显示实验实验报告 院系:电子科学与技术学院 专业:微电子科学与工程 实验者姓名:万子昂 学号: 35320172200223 实验时间: 2020 年 5 月 11 日 实验报告完成时间:2020 年 5 月 11 日 指导老师意见:

一、实验目的: 1、进一步熟悉MSP432微控制器GPIO引脚的使用 2、学会OLED显示屏与微控制器的接口方法和使用方法 二、实验内容要求: 1、创建工程项目,添加项目文件,配置项目环境等; 2、在OLED屏上显示姓名和学号(字模软件转换汉字) 3、在同一行上显示一段包括中文、英文、数字的内容 三、实验注意事项 1、短路问题:导线、示波器探头、金属笔帽等(断电操作) 2、接插件暴力拔插:顺着接插方向 四、代码: OLED_ShowCHinese(0,0,0); OLED_ShowCHinese(16*1-1,0,1); OLED_ShowCHinese(16*2-1,0,2); OLED_ShowString(0,4,"35320172200223"); {0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00}, {0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},/*"开",0*/ {0x00,0x00,0x18,0x16,0x10,0xD0,0xB8,0x97,0x90,0x90,0x90,0x92,0x94,0x10,0x00,0x00}, {0x00,0x20,0x10,0x8C,0x83,0x80,0x41,0x46,0x28,0x10,0x28,0x44,0x43,0x80,0x80,0x00},/*"发",1*/ {0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFC,0x24,0xE4,0x24,0x22,0x23,0xE2,0x00,0x00}, {0x04,0x03,0x00,0xFF,0x00,0x83,0x60,0x1F,0x80,0x41,0x26,0x18,0x26,0x41,0x80,0x00},/*"板",2*/ OLED_ShowString(0,0,"MSP432"); OLED_ShowCHinese(50,0,0); OLED_ShowCHinese(50+16*1-1,0,1); OLED_ShowCHinese(50+16*2-1,0,2); 五、实验结果:

东南大学微机实验报告一

微机实验报告 实验一指令与汇编语言基础 姓名:学号: 专业:测控技术与仪器实验室: 时间:2013年04月23号报告时间:2013年04 月23号评定成绩:审阅教师:

一、实验目的 1)了解命令行操作基本方式和基本命令,掌握PC环境下命令行方式的特点; 2)掌握汇编语言程序指令编辑、宏汇编、连接、运行基本概念;3)熟练掌握动态调试程序TD的常用命令和窗口功能,学会用TD调试程序,修改环境; 4)学会利用DEBUG或TD检查认识指令功能的正确方法。 二、实验内容 (一)必做实验 1-1、要求计算两个多字节十六进制数之差: 3B74AC60F8-20D59E36C1=? 式中被减数和减数为5个字节,存放在DATA1和DATA2的内存区,低位在前,高位在后。试编写减法的程序段,要求相减的结果存放在首址为DATA3的内存区。 1-2、以BUFFER为首地址的内存区存放了10个十六位带符号数,编写程序比较它们的大小,找出其中最小的带符号数,存入MIN和MIN+1单元。 三实验源程序和流程图 1、十六进制相减 A、实验要求: 计算两个多字节十六进制数之差:

3B74AC60F8-20D59E36C1=? 式中被减数和减数为5个字节,存放在DATA1和DATA2的内存区,低位在前,高位在后。试编写减法的程序段,要求相减的结果存放在首址为DATA3的内存区。 B、实验源代码和流程图 DATA SEGMENT DATA1 DB 0F8H,60H,0ACH,74H,3BH DATA2 DB 0C1H,36H,9EH,0D5H,20H DATA3 DB 5 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,5 MOV DI,0 CLD LOOPER: MOV AL,DATA1[DI] SBB AL,DATA2[DI] MOV DATA3[DI],AL INC DI DEC CX JNZ LOOPER MOV AH,4CH INT 21H CODE ENDS END START C、实验过程及实验结果

微机实验二实验报告

广东技术师范学院实验报告 学院:自动化专业: 电气工程及其自 动化(低压电力智 能控制) 班级: 11低 电 成绩: 姓名:曹睿学号:2011104743018 组别:组员: 实验地点:教学楼703 实验日期:2012.04.11 指导教师签名:实验二项目名称:输入输出程序的编制 一、实验目的与要求 了解DOS的中断调用,实现数据的输入与输出,熟悉高级汇编调试工具Visualmasm的使用。 二、实验类型 验证型实验 三、实验原理及说明 利用DOS中断调用中的1号,2号和9号调用功能实现数据的输入与输出,同时通过本程序的调试了解汇编软件的使用。 1号调用:键盘输入字符 入口参数:无 出口参数:输入字符的ASCII码在AL寄存器中。 2号调用:显示器输出 入口参数:要输出的字符的ASCII码放在DL寄存器中 出口参数:无 9号调用:显示器输出字符串 入口参数:DS:DX中存放输出字符串缓冲区的首地址,字符串要求用字符”$”结束。 出口参数:无 四、实验主要仪器设备和材料 预习情况操作情况考勤情况数据处理情况

序号名称主要用途 1 电脑调试程序 五、实验内容和步骤 1、写一段程序,输出一个字符串“Visualmasm!” 步骤:在记事本里输入以下程序,把文件命名为zp1.asm: DATA SEGMENT STRING DB'Visualmasm!$' DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA START:MOV AX,DATA MOV DS, AX MOV ES, AX MOV AH,09H LEA DX,STRING INT 21H MOV AH,4CH INT 21H CODE ENDS END START 打开命令提示符,生成zp1.obj文件,接着生成zp1.exe文件,输入td zp1.exe,就可以在TD里查看输入的程序。点击数据区,右键点击GOTO,输入5B72:0000,可以看到Visualmasm的ASCII码,56 69 73 75 61 6C 6D 61。 2、写一段程序。从键盘读入一个小写字母,然后把它转换成大写字母并输出。 步骤::在记事本里输入以下程序,把文件命名为zp2.asm DSEG SEGMENT STRING DB'a' DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV AH,01

微机原理实验报告

微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1

四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL

微机原理实验报告

大学 科技学院 实 验 报 告 课程名称:微机原理实验

实验一数据转换实验 一、实验目的 (1)初步掌握在PC机上建立、汇编、链接和运行8086/88汇编语言程序的过程。 (2)通过对两个验证性试验的阅读、调试、掌握不同进制数及编码相互转换的程序设计方法。 (3)完成程序设计题,加深对数码转换的理解,了解简单程序设计方法。 二、实验内容 1.十六进制数转换为ASCII码 设二字节十六进制数存放于其实地址为3500H的内存单元中,把他们转换成ASCII码后,再分别存入起始地址为350A的四个内存单元中。从书上ASCII码表中可知十六进制数加30H即可得到0H~9H的ASCII码,而要得到AH~FH 的ASCII码,则需再加7H。 请根据所给流程图理清思路,总结出对应的若干要点。将流程图与参考程序相互。根据分析的结果将运行时内存的变化列写出来。 学习并使用MASM或WAVE仿真软件分析程序运行过程中相关寄存器及相应内存的变化情况来验证自己的猜想,以巩固命令的学习,提高编程能力。

图1-1-1

DATAS SEGMENT ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 MOV CX,0004H;根据转换个数设定循环次数 ;(两字节十六进制数如6B2C对应有四个用十六进制表示的ASCII码表示,即四个字节) MOV DI,3500H;指向该两字节十六进制数起始地址,此时在调试窗口修改内存字节 MOV DX,[DI];将地址3500H中的内容(6B2C)给DX A1: MOV AX,DX;第一次时DX=6B2C, ;因为想顺序取C、2、6、B,所以需要一个中间变量AND AX,000FH;取低四位,第一次取到C, CMP AL,0AH;判断AL属于0~9,还是A~F JB A2;如果是0~9,则跳转到A2 ADD AL,07H;若属于A~F,再加上07H后也是再加上30H即得到转换。 A2: ADD AL,30H;0~9的ASCII码对应的十六进制比其 ;本身(注意:亦是十六进制)大30H MOV [DI+0AH],AL;将转码后的C,即43H给350A INC DI;将DI指向下一字节,用于存储转码后的值,第一次自增后要存‘2’ PUSH CX;功能是接下来要用到CX作为一个中间变量, ;而刚才已经使用并且接下来还会用到CX的值, ;也可以不用CX,用其他不用的寄存器或者直接立即数形式的。 MOV CL,04H;若直接用立即数,可能不稳定,(原因不详)用一个中间变量。

【微机实验】2018东南大学微型计算机原理及应用实验二

实验二基本算术和逻辑运算 学院:信息科学与工程学院姓名:周信元学号:04016523 实验日期:2018.4.4 一、实验目的 1.熟悉算术和逻辑运算指令的功能。 2.进一步了解标志寄存器各标志位的意义和指令执行对它的影响。 二、实验任务 1.采用单步执行方式执行下列各程序段,检查各标志位的情况。 程序段1 MOV AX, 10101H ;AX=1010H MOV SI, 2000H ;SI=2000H ADD AL, 30H ;AX=1040H ADD AX, SI ;AX=3040H MOV BX, 03FFH ;BX=03FFH ADD AX, BX ;AX=343FH MOV[0020],1000H ;DS:[0020]=1000H ADD 0020, AX ;DS:[0020]=443FH 程序段2: MOV AX, OA0AOIH ;AX=A0A0H ADO AX, OFFFFH ;AX=A09FH MOV CX, OFFOOH ;CX=FF00H ADD AX, CX ;AX=9F9FH SUB AX, AX ;AX=0000H INC AX ;AX=0001H OR CX, OOFFH ;CX=FFFFH AND CX, OFOFH ;CX=0F0FH M0V[0010],CX ;DS:[0010]=OFOFH 程序段3: MOV BL, 25H ;BX=0025H MO[0010],04H ;DS:[0010]=04H MOV AL, [0010] ;AX=0004H MUL BL ;AX=0094H 程序段4: MOV BL, 04H ;BX=0004H MOV WORD PTR L0010], 0080H;DS:[0010]=0080H MOV AX, [0010] ;AX=0080H DIV BL ;AX=0020H 程序段5:

微机接口实验二(实验报告)

实验二 循环和分支程序设计 学号 201316122 姓名 黄成楠 专业 通信工程 成绩 【实验目的】 (1) 熟悉上机实验流程、调试及查看实验结果。 (2) 熟悉汇编语言编程环境,DOS 调用应用; (3) 编写循环和分支程序,并调试; 【实验内容及步骤】 1、 实验要求: 从键盘输入一系列字符, 以回车符结束,编程统计其中数字字符的个数(不超过100个) 提示: 程序首先调用DOS 功能的1号功能,从键盘输入字符。为得到字符串,可以采用循环结构,连续输入。在输入的过程中通过判断是否是回车来结束输入。其中回车的ASII 码(0DH )。数字的0的ASII 码(30H )9的(39H ) 流程图: Next1函数: Next 函数:

Exit函数: 2、实验内容: DSEG SEGMENT DATA1 DB 100 DUP(?) DATA2 DB 'please input:','$' DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG START: MOV AX, DSEG MOV DS, AX MOV BX,0 LEA DX,DATA2 MOV AH,09H INT 21H NEXT2: MOV AH,1 INT 21H CMP AL,0DH JE EXIT CMP AL,30H JAE NEXT3 JMP NEXT2 NEXT3: CMP AL,39H JBE NEXT4 JMP NEXT2 NEXT4: INC BX JMP NEXT2 EXIT: MOV AX,BX MOV CL,10 DIV CL

微机原理 实验报告

微机原理与接口技术 实验指导书 班级 学号099074 姓名 安徽工业大学计算机学院

实验一存贮器读写实验 一、实验内容 对指定地址区间的RAM(4000H~4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~5FFH中。 二、实验步骤 l、将实验系统与PC机连接; 2、在PC机上启功DJ-8086k软件,实验系统进入联机状态; 3、在DJ-8086k软件环境下编辑、调试程序,将程序调试、编译通过; 4、运行程序。 5、稍后按RST键退出,用存贮器读方法检查4000H~43FFH中的内容和5000~53FFH中的内容应都是55AA。 三、实验程序清单 CODE SEGMENT ; ASSUME CS:CODE PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 1850h START: JMP START0 BUF DB ,,,,, data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1 h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200H RAMW1: MOV DS:[BX],AX ADD BX,0002H LOOP RAMW1 MOV AX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX

微机原理及应用实验报告

微机原理及其应用上机实验报告 实验一 程序调试实验(顺序结构程序设计) 一、实验目的: 1.学习及掌握汇编语言源程序的基本结构,明确程序中各段的功能和相互之间的关系。 2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 3、熟悉和掌握DEBUG 常用命令的使用 二、实验要求: 1、上机前,要认真阅读前言和课本相关章节 2、上机前,画好流程图,编写好程序 3、上机时,注意出现的错误,记录下出错信息,翻译之 4、完成好实验报告 三、实验内容: 在内存TAB 开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤ X ≤ 15),求X 的平方值,并把结果存放在Y 单元中。 (2).分析 X 平方的值是tab 为首地址且x 的值为有效地址中的值。 data segment x db 8 y db data ends stack segment para'stack' db 100 dup(0) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax xor ax,ax

mov al,x lea si,tab add si,ax mov al,[si] mov y,al mov ah,4ch int 21h code ends end start (3).程序调试: 4.心得体会 了解了顺序结构,掌握了程序的运行,调试。 实验二分支程序设计 一、实验目的: 熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。掌握分支程序设计、编写、调试和运行的方法。 二、实验要求: 1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。 2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。 二、实验内容

微机原理实验报告材料

微型计算机原理及单片机 实验报告 班级: 学号: :

实验一 汇编语言程序设计 1 分支程序设计实验 1.1.1 实验目的 1. 掌握分支程序的结构。 2. 掌握分支程序的设计、调试方法。 1.1.2 实验设备 PC 机一台,TD-PITE 实验装置一套。 1.1.3 实验容 设计一数据块间的搬移程序。设计思想:程序要求把存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图1.1所示。 源数据块 目的数据块0H FFFFFH 源数据 块目的数据块0H FFFFFH 源数据 块 目的数据块0H FFFFFH (a ) (b ) (c ) 图1.1 源数据块与目的数据块在存储中的位置情况 对于两个数据块分离的情况,如图1.1(a ),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。但是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论: 当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图1.14(b )所示。 当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图1.14(c )所示。 实验程序流程图如图1.5所示。 1.1.4 实验程序如下 SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START:

MOV CX, 0010H图1.5 程序流程图 MOV SI, 6000H Array MOV DI, 7000H CMP SI, DI JA A2 ADD SI, CX ADD DI, CX DEC SI DEC DI A1: MOV AL, [SI] MOV [DI], AL DEC SI DEC DI DEC CX JNE A1 JMP A3 A2: MOV AL, [SI] MOV [DI], AL INC SI INC DI DEC CX JNE A2 A3: JMP A3 CODE ENDS END START 1.1.5 实验步骤 1. 按流程图编写实验程序,经编译、无误后装入系统。 2. 用E命令在以SI为起始地址的单元中填入16个数。 3. 运行程序,待程序运行停止。 4. 通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。 5. 通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程 序的功能。

东南大学 数电实验报告 组合逻辑电路

1 2014 10

4 1. SSI MSI 0 3 2. 74HC 0 3 3. “ 3 4. 3 5. Multisim B 1. SSI 0 0 0 0 0 3 2. MSI 0 0 0 0 = MSI 5 3.3 2 MSI 2 1 2 1 2 2A i 3 2B i3 2C i-13 2 2D i 3 2C i 2 A i B i C i-1 D i C i 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 3

D i = A i B——i C——i-1 + A——i B——i C i-1 + A i B i C i-1 + A——i B i C——i-1 = ∑m(1, 2, 4, 7) C i = A——i C i-1 + B i C i-1 + A——i B i = ∑m(1, 2, 3, 7) 4 5

6 3 02 LED0 0 0 0 8 0 0 LED E

=10 =0 2 A i B i C i-1 D i C i D i C i 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 Z 2 A 3.3 2 MSI 1. 1 2 2 A i B i C i-1 D i C i 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 2

微机原理实验二实验报告

实验2. 分支程序设计 一、实验目的 ⒈掌握条件跳转指令的使用方法。 ⒉学会分支结构程序的编程方法。 ⒊利用DEBUG调试程序查看F标志寄存器值并分析条件跳转指令的跳转和F标志寄存器值间的关系。 二、实验要求 ⒈编写程序并上机调试,记录运行结果。 ⒉用DEBUG调试程序调试所编程序,查看并记录每条指令内存单元地址及执行结果(包括F标志寄存各位值。) ⒊注意观察并记录每条指令执行后CS和IP寄存器值变化情况,以加深对分支程序的概念的理解。 三、实验内容 ⒈编写程序并调试运行。要求:从键盘上接收一个按键,如果按键是小写字母,则显示输出L;是大写字母,则显示输出U;如果是数字,则显示输出N;都不是,则显示输出*。 源程序代码: CODES SEGMENT ASSUME CS:CODES START: MOV AH ,01H INT 21H CMP AL,'0' JB GO1 CMP AL,'9' JNG GO2 CMP AL,'A' JB GO1 CMP AL,'Z' JNG GO3 CMP AL,'a' JB GO1 CMP AL,'z' JNG GO4 GO1: MOV DL,'*' JMP NEXT GO2: MOV DL,'N' JMP NEXT

GO3: MOV DL,'U' JMP NEXT GO4: MOV DL,'L' JMP NEXT NEXT:MOV AH,2 INT 21H MOV AH,4CH INT 21H CODES ENDS END START 运行程序截图:(这里使用了DOS模拟集成平台) 图1 数字显示 图2小写字母显示 图3 大写字母显示 四、实验总结 本次实验掌握了条件跳转指令的使用方法。学会分支结构程序的编程方法。同时,刚开始由于未注意到分支分界处的细节问题而引发错误,更加深了对于编写分支程序要注意分界点的认识。 所犯错误还有把数字‘0’打成了字母‘o’。

相关文档
最新文档