当前位置:文档之家› 合肥工业大学汇编语言程序设计实验报告

合肥工业大学汇编语言程序设计实验报告

合肥工业大学汇编语言程序设计实验报告
合肥工业大学汇编语言程序设计实验报告

合肥工业大学计算机与信息学院

实验报告

课程:汇编语言程序设计专业班级:

学号:

姓名:

实验一Debug程序的使用

一.实验目的

1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。

2、掌握8086/8088的寻址方式及多字节数据的处理方法。

二.实验内容

实验内容:

1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。

2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。

实验要求:

本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。

三.实验过程和程序

1、启动DOS操作系统

2、运行https://www.doczj.com/doc/f34880883.html,程序(若当前盘为C)

C:>DEBUG↙

– ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令)

3、用“A”命令编辑和汇编源程序

–A ↙

186E:0100 MOV AX,[0200]↙

186E:0103 MOV BX,[0202]↙

186E:0107 ADD AX,[0204]↙

186E:010B ADC BX,[0206]↙

186E:010F MOV [0208],AX↙

186E:0112 MOV [020A],BX↙

186E:0116 ↙

4、用“U”命令反汇编验证源程序

–U CS:0100↙

186E:0100 A10002 MOV AX,[0200]

186E:0103 8B1E0202 MOV BX,[0202]

186E:0107 03060402 ADD AX,[0204]

186E:010B 131E0602 ADC BX,[0206]

186E:010F A30802 MOV [0208],AX

186E:0112 891E0A02 MOV [020A],BX

186E:0116

注意:

1)检查源程序是否有错误,若有则返回到第3步用“A 地址”命令进行修改,直到程序无错误。

2)DEBUG约定在其命令或源程序中所涉及到的数据均被看作十六进制数,其后不用“H”说明。

3)在DEBUG下,源程序中不能使用“标号”、“变量”和一些伪指令。

4)在DEBUG下,大小写不敏感。

5、程序未执行前,用“R”命令观察,相关寄存器的内容。

–R↙

如:(AX)= 0000H,(BX)= 0000H,(SI)= 0000H,

(DI)= 0000H,(CS)= 13F5H,(IP)= 0100H。

6、在程序未执行前,用“D”命令观察DS:0200H,DS:0204H、DS:0208H 单元的内容

–D 200 20B ↙

7、用“G”命令运行源程序

–G =100 0116 ↙

8、再用“D”命令观察DS:0200H~DS:020BH字节单元中的内容

–D 200 20B↙

9、用“T”单步操作命令对源程序单步执行,观察AX、BX、CS、IP寄

器内容的变化,并与预计的结果相比较。

注意:D命令显示内存数据,注意观察多字节数据在内存中的存放方式。指令执行的时。

程序运行结果:(AX)= 1110H,(BX)= 1111H

DS:0208H四字节单元的内容:11111110H

四.实验结果(包括必要的截图)

五. 实验体会

通过这次实验的练习,我熟悉了在DEBUG 的环境下,汇编程序中的命令,并且学会调试运行汇编语言源程序,掌握8086/8088的寻址方式及多字节数据的处理方法。虽然自己动手实现了简单的计算的中间出现了很多错误,但是在查阅书本以及在老师和同学的帮助下完成了实验任务。

实验二汇编语言程序设计(顺序、循环)

一.实验目的

1、掌握顺序和循环程序结构和设计方法;

2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。

二.实验内容

1、X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:

①计算表达式值(V–(X*Y+Z-720))/X;

②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。

2、求一个班50名学生成绩的平均值(附加题:最大值和最小值,并将结果显示出来)

3、从键盘读入一个字符串,以Enter结束,字符串不超过50个字符,并打印该字符串(附加题:查找中间是否有‘asm’子串。如果有,输出‘Yes’;否则,输出‘No’)。

三.实验过程和程序

1)data segment

x dw 1

y dw 0

z dw 0

v dw 0

sum1 dw ?

sum2 dw ?

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

mov ax,x

imul y

mov cx,ax

mov bx,dx

mov ax,z

cwd

add cx,ax

adc bx,dx

sub cx,720

sbb bx,0

mov ax,v

cwd

sub ax,cx

sbb dx,bx

idiv x

mov sum1,ax

mov sum2,dx

mov ax,4c00h

int 21h

code ends

end start

2data segment

grade dw 98,98,96,95,94,93,87,86,85,97,86 data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

xor ax,ax

mov cx,11

mov bx,offset grade

loop1: add ax,[bx]

inc bx

inc bx

loop loop1

mov cx,11

idiv cx

mov bx,ax

mov ax,4c00h

int 21h

Code ends

end start

3)DATA SEGMENT

BUF DB 50, ?, 50 DUP(24H)

CHAR DB 0AH,0DH,"$"

DATA ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AH,10

LEA DX,BUF

INT 21H

LEA DX,CHAR

MOV AH,9

INT 21H

LEA DX,BUF+2

MOV AH,9

INT 21H

MOV AH,4CH

INT 21H

四.实验结果(包括必要的截图)

五.实验体会

通过这次实验的练习,我掌握了顺序和循环程序结构和设计方法,并且可以自己动手在debug下运用顺序和循环的程序结构自己设计汇编的代码,另外这节课我还学会了在在屏幕上输入和输出字符串,非常的有趣,顺便我又熟悉了一遍在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程,感觉收获颇丰。挺高了自己对于学习汇编的兴趣。

实验三汇编语言子程序设计(分支、子程序)

一.实验目的

1、掌握分支和子程序结构和设计方法;

2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。

3、通过汇编语言了解高级语言的参数传递等知识。

二.实验内容

1、1. BL中的只有一位为1。编写程序测试,并输出提示信息“The X Bit is 1”,要求:地址表和转移表。

2. 编写一个子程序计算z=f(x,y)=x*y+x-y(x,y,z有符号数内存数)。要求通过堆栈(寄存器、内存)传送所有参数。

3. 实践C Asm的转换过程。

三.实验过程和程序

1.

;实验三第一题

DATA SEGMENT

;定义提示信息msg,msgi分别代表第i字节出为1

msg1 db'the 1 bit is 1',0dh,0ah,'$'

msg2 db'the 2 bit is 1',0dh,0ah,'$'

msg3 db'the 3 bit is 1',0dh,0ah,'$'

msg4 db'the 4 bit is 1',0dh,0ah,'$'

msg5 db'the 5 bit is 1',0dh,0ah,'$'

msg6 db'the 6 bit is 1',0dh,0ah,'$'

msg7 db'the 7 bit is 1',0dh,0ah,'$'

msg8 db'the 8 bit is 1',0dh,0ah,'$'

DATA ENDS

STACKS SEGMENT

;未定义栈内容

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATA,SS:STACKS

START:

MOV AX,DATA

MOV DS,AX

;程序代码部分

xor bx,bx ;用异或将bx,dx部分清零

xor dx,dx

mov bl,08h ;将00001000b赋值给bl

mov cx,8 ;利用loop进行8次循环

Lp1: shr bl,1 ;将bl进行逻辑右移一次

jc next ;判断CF中数据是否为1,若是跳转到next处

add dx,3 ;dx加3

loop Lp1

next: mov ah,09h

lea si,table ;将转移表的地址传入到si中

add si,dx ;得到转移表的CF为1的地方

jmp si

table:

;同一个代码段内使用near跳转

jmp near ptr l1

jmp near ptr l2

jmp near ptr l3

jmp near ptr l4

jmp near ptr l5

jmp near ptr l6

jmp near ptr l7

jmp near ptr l8

;Li: 将msgi的地址传入到dx中,并跳转到done处

l1: lea dx,msg1

jmp done

l2: lea dx,msg2

jmp done

l3: lea dx,msg3

jmp done

l4: lea dx,msg4

jmp done

l5: lea dx,msg5

jmp done

l6: lea dx,msg6

jmp done

l7: lea dx,msg7

jmp done

l8: lea dx,msg8

jmp done

;返回汇编窗口

done: int 21h

MOV AH,4CH

INT 21H

;代码部分结束

CODES ENDS

END START

2.DATAS SEGMENT

x dw 6

y dw 8

DATAS ENDS

STACKS SEGMENT

;未定义栈部分

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS

MOV DS,AX

;主程序部分

mov ax,x ;分别将x,y压栈

push ax

mov ax,y

push ax

call f ;调用子程序f(x,y)

add sp,4

pop ax

pop ax ;子程序调用结束,弹栈

MOV AH,4CH

INT 21H

;子程序部分

f proc

push bp

mov bp,sp

push ax

push dx

push bx

mov bx,[bp+4] ;bx=y

mov ax,[bp+6] ;ax=x

imul bx ;x*y

add ax,[bp+6] ;x*y+x

adc dx,0

sub ax,[bp+4] ;x*y+x-y

sbb dx,0

pop bx

pop dx

pop ax

ret

f endp

CODES ENDS

END START

四.实验结果(包括必要的截图)

五.实验体会

通过这次实验的练习,我掌握分支和子程序结构和设计方法,特别是地址表和转移表的运用,已经可以熟练的运用转移表和地址表进行分支结构的设计,实验二又让我对子程序参数的调用有了深刻的体会,知道了在运用堆栈进行参数传递时需要注意的要点,另外这次实验又让我再一次熟悉一遍在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。

实验四汇编语言高级编程专题

一.实验目的

1、汇编语言宏程序设计;

2、掌握中断服务子程序的编写。

3、汇编语言与高级语言的混编。

二.实验内容

1、编写一个宏,求三个数的最小数,原型为:MIN3 x,y,z,min

2、挂接1CH中断,正计时60秒后退出。要求屏幕显示0-59的秒数。

3、VC++中编写内联汇编,将字节数组的每个元素高低四位互换。

char dbyte[] = {0x34,0x45,0x56,0x67,0xaf};

三.实验过程和程序

1;宏min3

min3 macro x,y,z

mov al,x

mov bl,y

mov cl,z

cmp al,bl ;比较al,bl

jae j1 ;bl

jmp j2 ;否则al

j1: cmp bl,cl ;比较bl,cl

jae j3 ;cl

jmp j5 ;否则bl

j2: cmp al,cl ;比较al,cl

jae j3 ;cl

jmp j4 ;否则al

j3: mov ah,02h ;min cl

mov dl,cl

or dl,30h

int 21h

jmp done

j4: mov ah,02h ;min al

mov dl,al

or dl,30h

int 21h

jmp done

j5: mov ah,02h ;min bl

mov dl,bl

or dl,30h

int 21h

jmp done

done: mov ah,4ch

int 21h

endm

DATAS SEGMENT

;未定义数据段数据

DATAS ENDS

STACKS SEGMENT

;未定义栈段数据

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS

MOV DS,AX

min3 2,1,6 ;找出2 1 6三数中最小数

MOV AH,4CH

INT 21H

CODES ENDS

END START

2.

DATA SEGMENT

OLDISR DW ?,?

TIMER DB 100

COUNTER DW 0

ISDONE DB 0

DATA ENDS

STACKS SEGMENT

;未定义

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATA,SS:STACKS

MOV AX,DATA

MOV DS,AX

xor ax,ax

MOV ES,AX

xor cx,cx

MOV AX, ES:[1ch*4]

MOV OLDISR[0],AX

MOV AX,ES:[1ch*4+2]

MOV OLDISR[2], AX

MOV WORD PTR ES:[1ch*4], OFFSET ISR MOV WORD PTR ES:[1ch*4+2],SEG ISR WAITHERE:

CMP ISDONE,1

JNZ WAITHERE

EXIT:

MOV AX,OLDISR[0]

MOV ES:[1ch*4],AX

MOV AX,OLDISR[2]

MOV ES:[1ch*4+2],AX

MOV AX,4C00H

INT 21H

ISR PROC FAR

PUSH DX

PUSH AX

MOV AX,DATA

MOV DS,AX

STI

INC TIMER

AGAIN:

mov ah,0bh

int 21h

or al,al

jz j2

MOV AH,8 ;不显示输入的字符

INT 21H

CMP AL, 'a'

JNE j2

MOV AH,2h

MOV DL,10

INT 21H

MOV COUNTER,0

j2: CMP TIMER, 1000/55

JB DONE

MOV TIMER,0

MOV AH,2

MOV DL,13

INT 21H

j3: MOV AX,COUNTER

MOV DL,10

DIV DL

MOV DH,AH

MOV DL,AL

MOV AH,2

ADD DL,30H

INT 21H

mov ah,2

mov dl,dh

ADD DL,30H

INT 21H

inc COUNTER

cmp COUNTER,60

JNE DONE

MOV ISDONE,1

DONE:

PUSHF

CALL DWORD PTR OLDISR

CLI

POP AX

POP DX

IRET ;中断返回

ISR ENDP

CODES ENDS

END START

3.

#include

using namespace std;

int main(){

char dbyte[]={0x34,0x45,0x56,0x67,0x67};

__asm{

mov esi,0

again:

mov cl,4

ror dbyte[esi],4

inc esi

cmp esi,5

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

铸造残余应力的测定实验报告

铸造残余应力的测定实验报告 1. 实验目的 (1) 了解铸造残余应力的产生原因。 (2) 了解用应力框测定铸造残余应力的方法。 (3) 了解退火对消除残余应力的效果。 2. 实验原理 2.1 铸造应力 铸件在凝固和冷却过程中由于各部分体积变化不一致导致彼此制约而引起的应力称为铸造应力。铸造应力可分为三种,即热应力、相变应力和收缩应力。铸造应力可能是暂时性的,当引起应力的原因消除以后,应力随之消失,称为临时应力;否则为残余应力。铸造应力对铸件质量有重要影响,如果铸造应力超过材料的屈服强度,铸件则产生变形;如果铸造应力超过材料的强度极限时,铸件则产生裂纹。残余应力还会降低铸件的使用性能,如失去精度、在使用过程中造成断裂或产生应力腐蚀等。 2.2 铸造应力的测定方法——应力框试验法 图1为测定铸造残余应力的框形铸件,由于I 杆和II 杆截面尺寸差别大,因而铸造后细杆I 中形成压应力,粗杆II 中形成拉应力。若在A-A 截面处将粗杆锯开,锯至一定程度时,由于截面变小,粗杆被拉断。受弹性拉长的粗杆长度较自由收缩条件下的长度缩短,其缩短量?L 和铸造残留应力成正比,其值可根据锯断前、后粗杆上小凸台的长度(L 0 ,L 1)差求出,即?L =L 1一L 0。铸造残留应力σ1和σ2的计算公式为: 细杆残留应力σ1=-E )21(2101F F L L L +-,粗杆残留应力σ2=-E ) 21(1 2 1F F L L L +- 图1应力框铸件图 式中: σ1,σ2——细杆、粗杆中的铸造应力(MPa ); L 0,L 1——锯断前、后小凸台的长度(mm );

F1,F 2——细杆、粗杆的横截面积(mm2); L——杆的长度,L=130mm; E——弹性模量,普通灰铸铁取9×104MPa,球墨铸铁取1.8×105MPa。 2.3减小及消除残余应力的方法 铸造应力导致铸件翘曲变形甚至开裂,特别是铸件中的残余应力,如不消除,将降低零件的加工精度,在使用中会继续变形,降低机械性能和使用性能。因此应设法减小和消除残余应力。 (1)减小铸造应力的措施和途径 ①选用弹性模量E和热膨胀系数α小的合金作为铸件材质。 ②减小铸件冷却过程中的温差: (a)在铸件厚实部位放置冷铁或蓄热系数大的型砂,加速厚实部分的冷却。 (b)对铸件厚实部分的铸型或砂芯实行强制冷却。 (c)在铸件壁薄处开内浇道,使铸件各部分温度趋于一致。 (d)提高浇注时铸型的温度。 (e)将铸件于红热状态开箱取出,尽快置于已加热到500~600℃的保温炉中,保持一定时间使铸件各部分温度趋于一致,然后随炉缓冷至200~250℃出炉。 ③改善铸型和砂芯的溃散性。 ④改进铸件结构,避免形成较大应力和应力集中。 (2)消除铸件中残余应力的方法 消除铸件中残余应力的方法有自然失效、人工时效和共振时效等方法。 ①自然失效 将有残余应力的铸件放置在露天场地,经半年乃至一年以上,让残余应力逐渐自然消退,这种方法称为自然时效。 ②人工时效 人工时效又称热时效或消除内应力退火。把铸件加热到合金的弹塑性状态的温度范围内,保持一定时间,使残余应力得以消除,然后缓慢冷却,以免重新产生残余应力。 ③共振时效 共振时效的原理是:在激振器的周期性外力即激振力作用下,与铸件发生共振,因而使铸件获得相当大的振动能量。在共振过程中交变应力与残余应力叠加,产生局部屈服,引起塑性变形,使铸件中的残余应力逐渐松弛甚至消失,达到稳定铸件尺寸的目的。 3.实验内容 本次实验测定应力框铸件(灰口铸铁)铸态及其退火热处理后的残余应力,测定步骤如下: (1)造型(3个应力框试样); (2)浇注(铁水温度为1330~1350℃); (3)用热分析装置测试一个铸型中应力框铸件厚、薄壁的冷却曲线。 (4)浇注后30min打箱,用钢丝刷刷去应力框铸件表面型砂; (5)将其中1个应力框放入热处理炉中,在550℃保温3小时后炉冷; (6)将上述2个应力框铸件的粗杆小凸台上成锐角相交的四个棱柱面锉平; (7)用卡尺测量小凸台长度L0; (8)在小凸台A-A截面处从1、2、3三面依次锯开粗杆(见图1),注意各锯口应在垂 直于杆轴线的同一平面内。

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 :安磊 班级:计科0901 学号: 0909090310 指导老师:宋虹

目录 课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12

课程设计容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统核,它仅仅包含了任务调度,任务管理,时间管理,存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时核,并在这个核之上提供最基本的系统服务,如信号量,,消息队列,存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

梁弯曲正应力测量实验报告

厦 门 海 洋 职 业 技 术 学 院 编号:XH03J W024-05/0 实训(验) 报告 班级: 姓名: 座号: 指导教师: 成绩: 课程名称: 实训(验): 梁弯曲正应力测量 年 月 日 一、 实训(验)目的: 1、掌握静态电阻应变仪的使用方法; 2、了解电测应力原理,掌握直流测量电桥的加减特性; 3、分析应变片组桥与梁受力变形的关系,加深对等强度梁概念的理解。 二、 实训(验)内容、记录和结果(含数据、图表、计算、结果分析等) 1、实验数据: (1) 梁的尺寸: 宽度b =9mm ;梁高h=30mm ;跨度l =600mm;AC 、BD:弯矩a=200m m。测点距轴z 距离: 21h y ==15mm;42h y ==7.5mm ;3y =0cm ;-=-=44h y 7.5mm;-=-=2 5h y 15mm;E=210Gpa 。 抗弯曲截面模量W Z =b h2/6 惯性矩J Z =bh 3 /12 (2) 应变)101(6-?ε记录:

(3) 取各测点ε?值并计算各点应力: 1ε?=16×10-6 ;2ε?=7×10-6 ;3ε?= 0 ;4ε?=8×10-6 ;5ε?=15×10 - 6 ; 1σ?=E 1ε?=3.36MPa;2σ?=E 2ε?=1.47MP a;3σ?=0 ; 4σ?=E 4ε?=1.68MPa;5σ?=E 5ε?=3.15MPa ; 根据ΔM W=ΔF ·a/2=5 N ·m 而得的理论值: 1σ?=ΔM W/W Z =3.70MPa;2σ?=ΔMWh/4(J Z)=1.85M Pa ;3σ?=0 ; 4σ?=ΔM W h/4(J Z )=1.85MPa;5σ?=ΔMW /W Z=3.70MPa; (4) 用两次实验中线形较好的一组数据,将平均值ε?换算成应力εσ?=E ,绘在坐标 方格纸上,同时绘出理论值的分布直线。

实验二 MATLAB程序设计 含实验报告

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因 c b a 、、的不同取值而定) ,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 的值,调用该函数后,

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

实验方法:应力与应变曲线的测定

真实应力-真实应变曲线的测定 一、实验目的 1、学会真实应力-真实应变曲线的实验测定和绘制 2、加深对真实应力-真实应变曲线的物理意义的认识 二、实验内容 真实应力-真实应变曲线反映了试样随塑性变形程度增加而流动应力不断上升,因而它又称为硬化曲线。主要与材料的化学成份、组织结构、变形温度、变形速度等因素有关。现在我们把一些影响因素固定下来,既定室温条件下拉伸退火的中碳钢材料标准试样,由拉力传感器行程仪及有关仪器记录下拉力-行程曲线。实测瞬间时载荷下试验的瞬间直径。特别注意缩颈开始的载荷及形成,缩颈后断面瞬时直径的测量,然后计算真实应力-真实应变曲线。 σ真=f(ε)=B·εn 三、试样器材及设备 1、60吨万能材料试验机 2、拉力传感器 3、位移传感器 4、Y6D-2动态应变仪 5、X-Y函数记录仪 6、游标卡尺、千分卡尺 7、中碳钢试样 四、推荐的原始数据记录表格 五、实验报告内容 除了通常的要求(目的,过程……)外,还要求以下内容: 1、硬化曲线的绘制 (1)从实测的P瞬、d瞬作出第一类硬化曲线(σ-ε) (2)由工程应力应变曲线换算出真实应力-真实应变曲线

(3) 求出材料常数B 值和n 值,根据B 值作出真实应力-真实应变近似理论硬化 曲线。 2、把真实应力-真实应变曲线与近似理论曲线比较,求出最大误差值。 3、实验体会 六、实验预习思考题 1、 什么是硬化曲线?硬化曲线有何用途? 2、 真实应力-真实应变曲线和工程应力应变曲线的相互换算。 3、 怎样测定硬化曲线?测量中的主要误差是什么?怎样尽量减少误差? 附:真实应力-真实应变曲线的计算机数据处理 一、 目的 初步掌握实验数据的线性回归方法,进一步熟悉计算机的操作和应用。 二、 内容 一般材料的真实应力-真实应变都是呈指数型,即σ=B εn 。如把方程的二边取对数: ln σ=lnB+nln ε, 令 y =ln σ;a =lnB ;x =ln ε 则上式可写成y =a+bx 成为一线性方程。在真实应力-真实应变曲线试验过程中,一般可得到许多σ和ε的数据,经换算后,既有许多的y 和x 值,在众多的数值中如何合理的确定a 和b 值使大多数实验数据都在线上,这可用最小二乘法来处理。 已知有测量点σ1,σ2……σk ,ε1,ε2……εk ,既有y 1y 2y 3……y k ,x 1x 2x 3……x k ,把这些数据代入回归后的线性方程y =a+bx 中去,必将产生误差△v 。 △v 1=a+bx 1-y 1 △v 2=a+bx 2-y 2 · · · △v k =a+bx k -y k 即 △V i =a+bx i -y i 我们回归得直线应满足 ∑△V ︱i 2 ,最小 △ V ︱i 2 =a 2+b 2 x ︱i 2+y ︱i 2 +2abx i -2ay i -2bx i y i

合肥工业大学信息隐藏实验报告 完整代码版.

计算机与信息学院 信息隐藏实验报告 专业班级 信息安全13-1班 学生姓名及学号 马骏 2013211869 课程教学班号 任课教师 郑淑丽 实验指导教师 郑淑丽 实验地点 20 ~20 学年第学期

实验1 BMP位图信息隐藏 一、实验目的 学习BMP格式文件,并编程实现对位图文件信息隐藏 二、实验要求 将TXT文件嵌入BMP 文件中 三、问题描述 1、BMP位图文件的格式? 2、有哪几种方法隐藏信息,分别采用什么样的数据结构 3、随机选取如何避免“碰撞”的出现 四、算法思想 1、BMP位图文件格式 0000h~0001h 2字节-------------------------bm的ASC码 0002h~0005h 4字节-------------------------文件大小102718字节 0006h~0009h 4字节-------------------------全为0 000Ah~000Dh 4字节-------------------------偏移量118字节 000Eh~0011h 4字节-------------------------位图信息块大小40字节 0012h~0015h 4字节-------------------------宽450 0016h~0019h 4字节-------------------------高450 001Ah~001Bh 2字节-------------------------恒为01h 00h 001Ch~001Dh 2字节-------------------------颜色所占二进制位数值04h 00h=4 16色位图 001Eh~0021h 4字节-------------------------压缩方式=0无压缩 0022h~0025h 4字节-------------------------图像数据区大小102600字节 0026h~0029h 4字节-------------------------水平每米多少像素39个 002Ah~002Dh 4字节-------------------------垂直每米多少像素39个 002Eh~0031h 4字节-------------------------图像所用颜色数=0 0032h~0035h 4字节-------------------------重要颜色数=0 0036h~0076h 64字节-------------------------颜色表

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 1.基本实验

. Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操 作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。 2.人机接口 键盘驱动;LCD控制;触摸屏数据采集与控制实验; 3.应用实验 完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。 4.扩展应用实验 完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。 5.QT实验 完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。 二、实验内容 1.人机接口实验 实验十九键盘驱动实验 ?实验目的:矩阵键盘驱动的编写

?实验内容:矩阵键盘驱动的编写 ?作业要求:完成键盘加减乘除运算 ?实验作业源码及注释: #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #DEFINE DEVICE_NAME “/DEV/KEYBOARD” INT MAIN(VOID){ INT FD; INT RET; UNSIGNED CHAR BUF[1]; INT I,F,J; DOUBLE X; INT A[2]={0}; CHAR PRE_SCANCODE=0XFF; FD=OPEN(DEVICE_NAME,O_RDWR); IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME); ELSE{ BUF[0]=0XFF; I=0;F=0; WHILE(1){ READ(FD,BUF,1);

MATLAB程序设计实验报告

MATLAB实验报告 一、实验名称 实验4图形绘制(1) 二、实验目的: 熟悉和掌握MA TLAB基本的二维图形绘制函数。 三、实验内容: 1.绘制简单的二维图形 2.一个坐标系绘制多幅图形 3.图形标识和坐标控制 4.交互式图形指令 四、回答问题: (本次实验未预留问题) 五、遇到的问题及解决: 遇到了求y=lnx时,输入“y=ln(x)”不被软件识别的问题,查看常用数学函数表后改为y=log(x)成功解决。 在求10x时不知道用什么函数,函数表里也查不到,在老师的点拨下用“y=10.^x”解决。 在绘图时发现默认线型不够明显,查表后使用尖三角、叉号代替默认线型。 六、体会: 本次实验我学会了利用MATLAB绘制图形的基本方法,以及相应的备注方法。 难点是了解各种函数的具体作用并熟练掌握。 体会是:多学多练,孰能生巧,日积月累,必有提高。

思考题: 1.在同一坐标系绘制t3,-t2,t2sint在[0,2π]内的曲线图。 x=0:pi/50:2*pi; y1=t.*t.*t; y2=-t.*t; y3=t.*t.*sin(t); plot(t,y1,'^k',t,y2,'.k',t,y3,'xk'); legend('\ity=t^3','\ity=-t^2','\itt^2*sint'); 2.在一幅图中画出4幅子图,分别绘制sin2x,tanx,lnx,10x的图形,并加上适当的图形注释。注意:把函数变成MATLAB对应的形式。 x=0:pi/50:2*pi; y1=sin(2*t); y2=tan(x); y3=log(x); y4=10.^x; subplot(2,2,1) plot(x,y1); legend('y=sin2x'); subplot(2,2,2) plot(x,y2) legend('y=tanx'); subplot(2,2,3) plot(x,y3)

嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20 – 20第学期 赵成,张克新 院系: 姓名: 专业: 学号: 电子通信工程系 2014年3月制

实验一ARM体系结构与编程方法 一、实验目的 了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。 二、实验内容 1.ADS1.2 IDE的安装、环境配置及工程项目的建立; 2.ARM汇编语言程序设计(参考附录A): (1)两个寄存器值相加; (2)LDR、STR指令操作; (3)使用多寄存器传送指令进行数据复制; (4)使用查表法实现程序跳转; (5)使用BX指令切换处理器状态; (6)微处理器工作模式切换; 三、预备知识 了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。 四、实验设备 1. 硬件环境配置 计算机:Intel(R) Pentium(R) 及以上; 内存:1GB及以上; 实验设备:UP-NETARM2410-S嵌入式开发平台,J-Link V8仿真器; 2. 软件环境配置 操作系统:Microsoft Windows XP Professional Service Pack 2; 集成开发环境:ARM Developer Suite (ADS) 1.2。 五、实验分析 1.安装的ADS1.2 IDE中包括和两个软件组件。在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。 2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

弯曲正应力实验报告

一、实验目的 1、用电测法测定梁纯弯曲时沿其横截面高度的正应变(正应力)分布规律; 2、验证纯弯曲梁的正应力计算公式。 3、初步掌握电测方法,掌握1/4桥,1/2桥,全桥的接线方法,并且对试验结果及误差进行比较。 二、实验仪器和设备 1、多功能组合实验装置一台; 2、TS3860型静态数字应变仪一台; 3、纯弯曲实验梁一根。 4、温度补偿块一块。 三、实验原理和方法 弯曲梁的材料为钢,其弹性模量E=210GPa ,泊松比μ=0.29。用手转动实验装置上面的加力手轮,使四点弯上压头压住实验梁,则梁的中间段承受纯弯曲。根据平面假设和纵向纤维间无挤压的假设,可得到纯弯曲正应力计算公式为: x M y I σ= 式中:M 为弯矩;x I 为横截面对中性轴的惯性矩;y 为所求应力点至中性轴的距离。由上式可知,沿横截面高度正应力按线性规律变化。 实验时采用螺旋推进和机械加载方法,可以连续加载,载荷大小由带拉压传感器的电子测力仪读出。当增加压力P ?时,梁的四个受力点处分别增加作用力/2P ?,如下图所示。 为了测量梁纯弯曲时横截面上应变分布规律,在梁纯弯曲段的侧面各点沿轴线方向布置了3片应变片,各应变片的粘贴高度见弯曲梁上各点的标注。此外,在梁的上表面和下表面也粘贴了应变片。 如果测得纯弯曲梁在纯弯曲时沿横截面高度各点的轴向应变,则由单向应力状态的虎克定律公式E σε=,可求出各点处的应力实验值。将应力实验值与应力理论值进行比较,以验证弯曲正应力公式。 σ实 =E ε实 式中E 是梁所用材料的弹性模量。

图3-16 为确定梁在载荷ΔP 的作用下各点的应力,实验时,可采用“增量法”,即每增加等量的载荷ΔP 测定各点相应的应变增量一次,取应变增量的平均值Δε实来依次求出各点应力。 把Δσ实与理论公式算出的应力Z I MY =σ比较,从而验证公式的正确性,上述理论公式中的M 应按下式计算: Pa ?= M 2 1 (3.16) 四、实验步骤 1、检查矩形截面梁的宽度b 和高度h 、载荷作用点到梁支点距离a ,及各应变片到中性层的距离i y 。 2、检查压力传感器的引出线和电子秤的连接是否良好,接通电子秤的电源线。检查应变仪的工作状态是否良好。分别采用1/4桥,1/2桥,全桥的接线方法进行测量,其中1/4桥需要接温度补偿片,1/2桥通过交换接线方式分别进行两次试验来比较试验结果。 3、根据梁的材料、尺寸和受力形式,估计实验时的初始载荷0P (一般按00.1s P σ=确定)、最大载荷max P (一般按max 0.7s P σ≤确定)和分级载荷P ? (一般按加载4~6级考虑)。 本实验中分四次加载。实验时逐级加载,并记录各应变片在各级载荷作用下的读数应变。 4、实验完毕后将载荷卸掉,关上电阻应变仪电源开关,并请教师检查实验数据后,方可离开实验室。 五、数据处理

合工大汇编语言程序设计实验报告

合肥工业大学计算机与信息学院 实验报告 课程:汇编语言程序设计专业班级:**************** 学号:********** 姓名:***** 目录

实验一 (3) 实验二 (7) 实验三 (12) 实验四 (22)

实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 实验内容一: e ds:0200 E7 1A 3F 00 e ds:0204 C4 E5 6B 00 实验内容二: (1)直接寻址方式 MOV AX,[0200] MOV BX,[0202] ADD AX,[0204] ADC BX,[0206] MOV [0208],AX MOV [020A],BX (2)寄存器间接寻址方式 MOV SI,0200H MOV DI,0204H MOV BX,0208H MOV AX,[SI] MOV DX,[SI+2] ADD AX,[DI] ADC DX,[DI+2]

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MATLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 : 2. MATLAB R2007a 仿真软件 三、实验原理 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 ¥ 对系统频率特性的分析

相关主题
文本预览