设计性实验(四)实验报告

合集下载

综合设计性实验报告

综合设计性实验报告
[3] 马建国、孟宪元.电子设计自动化技术基础[M].清华大学出版.2006.1.
[4] 姜威.实用电子系统设计基础[M].2008.1.
[5] 张靖武.单片机系统的PROTEUS设计与仿真[M].2007.4.
[6] 赵海雁.《AD590温度传感器》.测试技术学报.1997.11.
[7] 刘燕,兰志强. 《AD590集成电路温度传感器的特性测量与应用》.中国仪器 仪表,2005.6.
6实验注意事项
1 电路板的检查: 检查电路板的焊接是否正确,有无虚焊、错焊以及漏焊,各电阻的阻值是否正确,集成运放LM324的管教是否连接正确,以及AD590和1N4728的连接是否有误。在该次调试中,发现有一电阻接错,后仔细对照图纸检查,重新焊接正确。
2 各关键点电压的测量:分别测量各关键点的电压值,检查电路工作是否基本正确。实际测得,U0=2.81V,U1=2.63V,Uout=3.8V,温度改变,U0变化,但是输出不变。分析后发现,原来最后一个放大器U2D的反馈电阻接到了+端,所以导致输出电压值恒定不变,于是将电阻重新焊接。
这次的实验跟我们以前做的实验不同,因为我觉得这次我们是真真正正的自己亲自去完成。所以是我觉得这次实验最宝贵,最深刻的。就是实验的过程全是我们学生自己动手来完成的,这样,我们就必须要弄懂实验的原理。在这里我深深体会到哲学上理论对实践的指导作用:弄懂实验原理,而且体会到了实验的操作能力是靠自己亲自动手,亲自开动脑筋,亲自去请教别人才能得到提高的。 我们做实验绝对不能人云亦云,要有自己的看法,这样我们就要有充分的准备,若是做了也不知道是个什么实验,那么做了也是白做。实验总是与课本知识相关的, 在实验过程中,我们应该尽量减少操作的盲目性提高实验效率的保证,有的人一开始就赶着做,结果却越做越忙,主要

广东商学院 四设计性实验报告

广东商学院 四设计性实验报告
指导教师签名:日期:年月日
1、实验现象、数据及结果
2、对实验现象、数据及观察结果的分析与讨论
3、结论
4、实验总结
(1)实验效果、成果或其他
(2)本次实验成败之处及其原因分析
(3)本实验的关键环节及改进措施
①做好本实验需要把握的关键环节
②若重做本实验,为实现预期效果,仪器操作和实验步骤应如何改善
(3)对实验的自我评价:
指导教师评语及评分:
附件四:
设计性实验报告
项目组长:
成员:
专业班级:
实验项目名称:
指导教师:
开课学期:
上课时间:年月日
一、实验设计方案
实验名称:
实验时间:
小组合作:是、设备和材料
实验思路(实验内容、数据处理方法及实验步骤等)
指导老师对实验设计方案的意见
指导老师签名: 年 月 日
二、实验结果与分析

20192419实验四《Python程序设计》实验报告

20192419实验四《Python程序设计》实验报告

20192419实验四《Python程序设计》实验报告20192419 2019-2020-2 《Python程序设计》实验4课程:《Python程序设计》班级:1924姓名:万腾阳学号:20192419实验教师:王志强实验⽇期:2020年6⽉3⽇必修/选修:公选课1. Python综合应⽤:运⽤pygame尝试编写flappy bird代码2. ⼀开始,我打算照着课本将飞机⼤战的代码稍作更改,差不多就相当于flappy bird代码。

但是经过⼀段时间编写后,我发现课本上的代码⼀环扣⼀环,稍作更改⼀处,就会导致出现错误,甚⾄有时候不报错,但是整个程序连图⽚的不产⽣,⼗分令⼈⼼烦。

后⾯,我上⽹查找了视频,参照视频我编出了flappy bird,视频中也存在⼀些⼩错误,这在稍后再讲。

代码:import pygameimport sysimport timeclass Bird(object):#定义⼩鸟def __init__(self):#定义初始化⽅法self.birdRect = pygame.Rect(65,50,50,50)self.birdStatus = [pygame.image.load(r'picture/1.png'),pygame.image.load(r'picture/2.png'),pygame.image.load(r'picture/dead.png')]self.status = 0self.birdx = 120self.birdy = 350self.jump = Falseself.jumpSpeed = 10self.gravity = 5self.dead = Falsedef birdUpdate(self):#定义移动⽅法if self.jump:self.jumpSpeed -= 1self.birdy -= self.jumpSpeedelse:self.gravity += 0.2self.birdy += self.gravityself.birdRect[1] = self.birdyclass Pipeline(object):#定义管道类def __init__(self):self.wallx = 400self.pineUp = pygame.image.load(r'picture/top.png')self.pineDown = pygame.image.load(r'picture/bottom.png')def updatePipeline(self):#定义移动⽅法self.wallx -= 5if self.wallx < -80 :global scorescore +=1self.wallx = 400def createMap():screen.blit(background,(0,0))#显⽰管道screen.blit(Pipeline.pineUp,(Pipeline.wallx,-300))screen.blit(Pipeline.pineDown,(Pipeline.wallx, 500))Pipeline.updatePipeline()#显⽰⼩鸟if Bird.dead:Bird.status = 2elif Bird.jump:Bird.status = 1screen.blit(Bird.birdStatus[Bird.status] , (Bird.birdx,Bird.birdy))Bird.birdUpdate() #更新⼩鸟状态font.render('Score'+str(score),-1,(255,255,255))screen.blit(font.render('Score'+str(score),-1,(255,255,255)),(100,50))pygame.display.update()def checkDead():upRect = pygame.Rect(Pipeline.wallx,-300,Pipeline.pineUp.get_width(),Pipeline.pineUp.get_height())downRect = pygame.Rect(Pipeline.wallx, 500, Pipeline.pineDown.get_width(), Pipeline.pineDown.get_height())#检测矩形碰撞if upRect.colliderect(Bird.birdRect) or downRect.colliderect(Bird.birdRect):Bird.dead = True#边界检测else:if 0 < Bird.birdRect[1] < height:Bird.dead = Falsereturn Trueelse:return Falsedef getResult():#获取总分final_text1 = "Game Over"final_text2 = "Your Score:" + str(score)ft1_font = pygame.font.SysFont("Arial",70)ft1_surf = font.render(final_text1,1,(242,3,36))ft2_font = pygame.font.SysFont("Arial", 50)ft2_surf = font.render(final_text2, 1, (253, 177, 6))screenwidth = int (screen.get_width() / 2)surf1 = int(ft1_surf.get_width()/2)surf2 = int(ft2_surf.get_width() / 2)screen.blit(ft1_surf,[screenwidth- surf1,100])screen.blit(ft2_surf, [screenwidth- surf2, 200])pygame.display.update()if __name__ == '__main__':pygame.init()pygame.font.init()#初始化字体类font = pygame.font.SysFont(None,50)size = width,height = 400,650screen = pygame.display.set_mode(size) #设置窗⼝clock = pygame.time.Clock() #设置时钟color = (255,255,255)Bird = Bird()#实例⼩鸟类Pipeline = Pipeline()score = 0while True:clock.tick(60)#每秒执⾏60次#轮询事件监测for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()if event.type == pygame.KEYDOWN or pygame.MOUSEBUTTONDOWN and not Bird.dead:Bird.jump = TrueBird.gravity = 5Bird.jumpSpeed = 10# screen.fill(color)background = pygame.image.load(r'picture/background.png')if checkDead():passelse:createMap()getResult()time.sleep(2)createMap() #⽣成地图pygame.quit()```以上是本次实验的代码,⼀开始需要通过代码显⽰窗⼝,并设置其背景及宽度和长度,然后循环绘制屏幕,更新屏幕。

钳工设计性实验报告

钳工设计性实验报告

钳工设计性实验报告实验目的本实验旨在通过设计一种新型的钳工工具,实现对不同形状工件的夹持与加工。

实验原理传统钳工工具在夹持部分通常采用平行夹具来夹持工件,但对于特殊形状的工件,无法实现稳定夹持和精确加工。

本实验通过设计一种可调节夹持形状的钳工工具,能够适应不同形状工件的夹持。

实验步骤1. 设计夹持机构根据实际需要,设计了一种由两个可调节夹持板组成的夹持机构。

夹持机构通过调节两个夹持板的间距和角度,能够实现夹持不同形状工件的目的。

2. 制作夹持板根据设计图纸,使用铝合金材料制作了两块夹持板。

夹持板具有一定的弹性,能够适应不同形状的工件。

3. 调试夹持机构将夹持板安装到夹持机构上,并调整夹持板的间距和角度。

通过反复测试不同形状的工件,确定夹持机构调节是否合适。

4. 实际应用测试选取不同形状和尺寸的工件,使用设计的钳工工具进行夹持和加工。

测试夹持稳定性和加工精度。

实验结果及分析经过实际测试,我们发现设计的钳工工具能够适应不同形状的工件,并实现稳定夹持和精确加工。

调整夹持板的间距和角度,能够适应不同形状的工件,提高了钳工工具的通用性和灵活性。

在实际应用中,钳工工具表现出了很好的性能。

结论本实验成功设计并制作了一种新型的钳工工具,通过调整夹持板的间距和角度,能够适应不同形状的工件的夹持和加工。

实验结果表明,该钳工工具具有良好的稳定性和精度,能够提高钳工操作的效率和质量。

改进方向在实验过程中,我们发现钳工工具的夹持力度有待改进。

由于夹持板使用的是弹性材料,弹性有一定的限制,无法夹持过硬的材料。

因此,后续可以考虑使用更坚硬的材料制作夹持板,提高夹持力度和适应性。

参考文献。

实验四 LED数码管显示实验报告

实验四 LED数码管显示实验报告

实验名称 LED数码管显示实验指导教师曹丹华专业班级光电1202班姓名陈敬人学号联系电话一、任务要求实验目的:理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。

实验内容:1.基础部分:利用C8051F310单片机控制数码管显示器。

利用末位数码管循环显示数字0-F,显示切换频率为1Hz。

2.提高部分:在数码管上显示0→199计数,计数间隔为0.5秒。

二、设计思路1.基础部分C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz ,输入时钟信号为48个机器周期,T1采用定时器工作方式1,单次定时最长可达1.027s,可以实现1s定时要求。

定时采用软件查询工作方式,利用JNB TF0, HERE实现。

置P0.6和P0.7端口为0,位选信号选定末位数码管。

通过MOVC A, @A+DPTR指令,利用顺序查表法取出显示段码数据。

寄存器R0自增1,并赋给A以取出下一个显示段码数据。

为减短代码长度,利用CJNE指令实现循环结构。

当寄存器R0增至0FH后,跳转至开头,重新开始下一轮显示。

2.提高部分定时方式及查表方式同基础部分,由于要实现三个数码管同时显示,因此采用动态扫描显示法。

三、资源分配1.基础部分P0.6: 位选信号端口P0.7:位选信号端口P1:输出段码数据R0:存放显示数据DPTR:指向段码数据表首 2.提高部分P0.6:位选信号端口P0.7:位选信号端口R0:存放个位显示数据 R5:存放十位显示数据 R6:存放百位显示数据 P1:输出段码数据DPTR: 指向段码数据表首四、流程图1.基础部分2.提高部分五、源代码(含文件头说明、语句行注释)1.基础部分;******************基础部分源代码***************************;Filename: test.asm;Decription: 末位数码管循环显示数字0-F,显示切换频率为1Hz。

13_张李娟_试验设计实验4

13_张李娟_试验设计实验4

数学与统计学院实验报告(四)院(系): 数学与统计学院 学号: 123321013 姓名: 张李娟 实验课程: 试验设计 指导教师: 陈敏实验类型(演示性、验证性、综合性、设计性): 综合性 实验时间: 2015 年 6 月 29 日 一、 实验课题正交设计(水平数不等情况下的试验设计): (一)组合法 (二)赋闲列法二、 实验目的与意义当在试验设计中所考察的因子的水平数不等时,利用正交表设计的方法有多种,其中包括并列法、拟水平法、组合法和赋闲列等。

三、实验过程记录与结果分析(一).组合法题:在一个软化水降低盐耗量的试验中,考察如下因子水平: 表1因子一水平 二水平 三水平 A :开一号闸门的流量0.4 0.6 0.8 B:开二号闸门的维持时间(分) 20 30 35 C:关二号闸门调一号闸门流量1.4 1.1 D:关二号闸门的维持时间(分) 3040现在将因子C 与D 组合成一个三水平因子,规定置组合因子列的1、2、3分别对应11D C 、21D C 、12D C ,用)3(49L 安排试验,表头设计如下:表2表头设计 ABCD列号12349次试验的结果分别为:160.0 152.0 145.5 159.0 152.0 138.0 134.5 143.1 152.0(1)在满足数据等方差正态分布的前提下对数据进行方差分析;(2)找出使盐耗率达到最低的水平组合,并求该水平组合下盐耗量均值的估计值及置信水平为0.95的置信区间。

1.1方差分析表3 )3(49L 计算表 表头设计A B CD C Dy试验号 列号1 2344' 4'' 1 1 1 1 1 1 1 160.00 2 1 2 2 2 1 2 152.00 3 1 3 3 3 2 1 145.50 4 2 1 2 3 2 1 159.00 5 2 2 3 1 1 1 152.00 6 2 3 1 2 1 2 138.00 7 3 1 3 2 1 2 134.50 8 3 2 1 3 2 1 143.109332111152.001T 457.50 453.5 441.1 464 888.5 911.6 1.1336=T2T 449.00 447.1 463 424.5 447.6424.53T429.60 435.5432447.6148.083 151.933S136.34 55.50 169.27 262.54 44.83 260.04042.260827.44634.84168.68=====D C B A MS MS MS MS f S MS ,,,,因因因 751.27=e MS37.9,615.1,05.3,456.2,=====D C B A eF F F F MS MS F 因因 查表可知53.8)21(9)22(9.09.0==,,,F F 所以在显著性水平0.1条件下,只有因子D 显著。

实验四 集成运放组成的基本运算电路

实验四 集成运放组成的基本运算电路

实验四 集成运放组成的基本运算电路一. 实验目的1.掌握集成运算放大器的正确使用方法。

2.了解集成运算放大器在信号放大和模拟运算方面的应用。

二. 实验设备实验箱 1个实验电路板 1个数字万用表 1个三. 简述运算放大器是具有两个输入端和一个输出端的高增益、高输入阻抗的多级直接耦合电压放大器。

只要在集成运放的外部配以适当的电阻和电容等器件就可构成比例、加减、积分、微分等模拟运算电路。

在这些应用电路中,引入了深度负反馈,集成运放工作在线性放大区,属于运算放大器的线性应用范畴,因此分析时可将集成运放视为理想运放,运用虚断和虚短的原则。

虚断:即认为流入运放两个净输入端的电流近似为零。

虚短:即认为运放两个净输入端的电位近似相等(u +≈ u -)。

从而可方便地得出输入与输出之间的运算表达式。

使用集成运算放大器时,首先应根据运放的型号查阅参数表,了解其性能、指标等,然后根据管脚图连接外部接线(包括电源、调零电路、消振电路、外接反馈电阻等等)。

四. 设计实验要求1. 设计由双列直插通用集成运放μA741构成的基本运算电路,要求实现:反相比例运算,反相加法运算,同相比例运算,电压跟随器,差动运算(减法运算)等5种运算。

每一运算电路需要设计两种典型的输入信号。

2. 自己设计选择电路参数和放大倍数,画出电路图并标出各电阻的阻值(μA741的最大输出电流小于10mA ,因此阻值选取不能小于1KΩ)。

3. 自拟实验步骤。

4. 电源电压一律取12V ±。

本实验用直流信号源,自己选择输入信号源的取值,已知信号源(5i u V ≤)。

5. 设计举例:反相比例运算电路的设计反相比例放大器的运算功能为:1R R u u A F i o uf -==; 设,10-=uf A 负反馈电阻Ω=K R F 100;可以计算出110R K =Ω,平衡电阻100//109.1R K '=≈Ω。

max =9o u V,max max 90.910o i uf u u V A ∴≤==,即输入信号的设计值小于0.9V ±。

实验四 七段数码管显示实验报告

实验四 七段数码管显示实验报告

实验四七段数码管显示实验一、实验目的掌握数码管显示数字的原理。

二、实验内容1.静态显示:数码管为共阴极,通过BCD码译码驱动器CD4511驱动,其输入端A~D输入4位BCD码,位码输入低电平选中。

按图4-1连接好电路,将8255的A口PA0~PA3与七段数码管LED1的BCD码驱动输入端A1~D1相连,8255的A口PA4~PA7与七段数码管LED2的BCD码驱动输入端A2~D2相连,8255的B口PB0~PB3与七段数码管LED3的BCD码驱动输入端A3~D3相连,8255的B口PB4~PB7与七段数码管LED4的BCD码驱动输入端A4~D4相连,8255的C口PC0~PC3分别与七段数码管LED4~LED4的位驱动输入端DG1~DG4相连。

编程从键盘上每输入4个0~9数字,在七段数码管LED4~LED4上依次显示出来。

图4-12.动态显示:数码管为共阴极,段码采用相同驱动,输入端加高电平,选中的数码管对应段点亮,位码采用同相驱动,位码输入端低电平选中,按图4-2连接好电路,图中只画了2个数码管,实际是8个数码管,将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~g相连(32TCI0模块上的J1连32LED8模块J2),8255的C口的PC0~PC7接七段数码管的段码驱动输入(32TCI0模块上的J3连32LED8模块J1),跳线器K1连2和3。

编程在8个数码管上显示“12345678”。

按任意键推出运行。

图4-2三、编程提示1.由于DVCC卡使用PCI总线,所以分配的IO地址每台微机可能都不用,编程时需要了解当前的微机使用那段IO地址并进行处理。

2.对实验内容1,七段数码管字型代码与输入的关系如下表:四、参考流程图1.实验内容一的参考流程图图4-3 2.实验内容二的参考流程图图4-4五、参考程序1.内容一的参考程序源程序清单如下:data segmentioport equ 0c400h-0280hio8255a equ ioport+288hio8255b equ ioport+289hio8255c equ ioport+28ahio8255k equ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,'Input a num (0--9),other key is exit:',0dh,0ah,'$'bz db ?cz db 04hdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255k ;使8255的A口为输出方式mov ax,80hout dx,alsss0: mov si,offset bzmov cx,04hsss1: mov dx,offset mesg1 ;显示提示信息mov ah,09hint 21hmov ah,01 ;从键盘接收字符int 21hcmp al,'0' ;是否小于0jl exit ;若是则退出cmp al,'9' ;是否大于9jg exit ;若是则退出sub al,30h ;将所得字符的ASCII码减30Hmov [si],al ;存入显示缓冲区inc si ;显示缓冲区指针加1dec cx ;判断输入满4个数字吗?jnz sss1 ;不满继续mov si,offset bz ;从显示缓冲区取第一个数字的BCD 码mov al,[si]and al,0fh ;屏蔽高四位暂存ALinc si ;显示缓冲区指针加1mov ah,[si] ;取第二个数字的BCD码到AHsal ah,4h ;右移4次到高四位add al,ah ;两个BCD码合并成一个字节mov bl,al ;暂存入BLinc simov al,[si] ;取第三个数字的BCD码and al,0fhinc simov ah,[si] ;取第四个数字的BCD码到AHsal ah,4hadd ah,almov al,ahmov dx,io8255a ;从8255的A口输出(后两个数字)out dx,almov al,blmov dx,io8255b ;从8255的B口输出(前两个数字)out dx,almov al,0f0hmov dx,io8255c ;从8255的C口输出位码out dx,almov dl,0ffhmov ah,06int 21hje sss0 ;有键按下则退出exit: mov ah,4ch ;返回int 21hcode endsend start2.内容二的参考程序源程序清单如下:data segmentioport equ 0C400h-0280hio8255c equ ioport+28ahio8255k equ ioport+28bhio8255a equ ioport+288hled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码buffer1 db 01h,02h,03h,04h,05h,06h,07h,08h ;存放要显示的十位和个位con db ? ;位码data endscode segmentassume cs:code, ds:datastart: mov ax,datamov ds,axmov dx,io8255k ;将8255设为A口C口输出mov al,80hout dx,alloop2: mov al,08h ;设置数码管位计数器初值到CON mov byte ptr con,almov si,offset buffer1 ;置显示缓冲器指针SImov ah,7fh ;置位码初值disp0: mov cx,0ffffhmov bl,ds:[si] ;取显示缓冲区显示值存BXmov bh,0hpush simov dx,io8255c ;位码从C口输出mov al,ahout dx,almov dx,io8255amov si,offset led ;置led数码表偏移地址为SIadd si,bx ;求出对应的led数码mov al,byte ptr [si]out dx,al ;段码从A口输出disp1: loop disp1 ;延时mov cx,0ffffhdisp2: loop disp2ror ah,01h ;位码右移1位pop siinc si ;显示缓冲区指针加1mov al,byte ptr condec almov byte ptr con,aljnz disp0 ;数码管位计数器减1为0吗?,不为0继续mov dx,io8255a ;为0,关数码管显示mov al,0out dx,almov dl,0ffhmov ah,06int 21hje loop2 ;有键按下则退出mov ah,4ch ;返回int 21hcode endsend start实验总结:通过这次试验,我了解到自定义数据类型可以根据自己的需要方便设定,有很大的灵活性。

板蓝根设计性实验报告

板蓝根设计性实验报告

一、实验目的1. 探究板蓝根的药用成分及其药理作用。

2. 了解板蓝根的提取方法及其效果。

3. 通过实验验证板蓝根在抗病毒、抗炎等方面的药理活性。

二、实验原理板蓝根为十字花科植物,具有清热解毒、凉血消肿的功效。

其主要成分为生物碱、黄酮类、多糖类等。

本实验通过提取板蓝根中的有效成分,观察其对病毒、细菌等病原微生物的抑制作用,以及对炎症模型的抗炎作用。

三、实验材料与仪器1. 实验材料:新鲜板蓝根、病毒悬液、细菌悬液、炎症模型动物。

2. 实验仪器:超声波提取器、离心机、分光光度计、恒温水浴锅、显微镜等。

四、实验步骤1. 板蓝根提取:(1)将新鲜板蓝根洗净、晾干,剪碎,加入适量蒸馏水。

(2)使用超声波提取器提取板蓝根中的有效成分,提取时间设定为30分钟。

(3)提取液经离心分离,取上清液待用。

2. 病毒抑制实验:(1)将病毒悬液与提取液按一定比例混合,置于恒温水浴锅中保温一定时间。

(2)观察混合液对病毒的生长抑制效果。

3. 细菌抑制实验:(1)将细菌悬液与提取液按一定比例混合,置于恒温水浴锅中保温一定时间。

(2)观察混合液对细菌的生长抑制效果。

4. 炎症模型实验:(1)建立炎症模型动物。

(2)将炎症模型动物分为实验组和对照组,实验组给予板蓝根提取液,对照组给予生理盐水。

(3)观察并记录实验组与对照组在炎症指标(如肿胀度、细胞计数等)上的差异。

五、实验结果1. 板蓝根提取液对病毒的生长具有抑制作用,抑制率随提取液浓度的增加而提高。

2. 板蓝根提取液对细菌的生长具有抑制作用,抑制率随提取液浓度的增加而提高。

3. 与对照组相比,实验组在炎症指标上具有显著差异,表明板蓝根提取液具有抗炎作用。

六、数据处理与分析1. 对实验数据进行统计分析,采用t检验比较实验组与对照组的差异。

2. 根据实验结果,分析板蓝根的药理作用及其机制。

七、结论本实验结果表明,板蓝根提取液具有抗病毒、抗细菌和抗炎作用。

这为板蓝根的药用价值提供了实验依据,为临床应用提供了参考。

综合性、设计性实验报告(数组应用)4维数组

综合性、设计性实验报告(数组应用)4维数组

综合性、设计性实验报告姓名学号专业计算机科学与技术班级1402实验课程名称____数据结构_指导教师及职称___开课学期2016 年_上学期上课时间实验名称:数组应用实验时间:小组合作:是●否○1、实验目的:(1)掌握数组的基本应用和方法;(2)掌握字符数组和字符串函数的使用。

(3)掌握与字符串处理有关的算法。

2、实验设备及材料:机器配置:4G内存,AMD A8操作系统:windows xp开发工具:V C ++6.03、理论依据:【1】在C语言的环境,有一个四维数组,在计算机中都是以一维的形式保存。

【2】例如int cof[2][2][2][2]在计算机中保存形式与一个2*2*2*2大小的一维数组相同, 想要寻址一个数,因为编译器在看到数组的定义时就知道了数组每一维的大小.于是可以计算定位到相对于数组开始处的偏移.【3】为了容易理解,都是把多维数组分解成几行,每行中又有几列的这种形式,例如int cof [4][6][4][4],就是4行,每行中有6个元素,每个元素又是一个有4个子元素一维数组,而数组中的每个子元素仍然还是一个有4个子元素数组,【4】四维数组可视为以三维数组为数据元素的向量,四维数组中的每个元素都属于四个向量。

【5】由于计算机内存是一维的,多维数组的元素应排成线性序列后存人存储器。

数组一般不做插入和删除操作,即结构中元素个数和元素间关系不变化。

一般采用顺序存储方法表示数组。

分为行优先顺序和列优先顺序。

【6】由地址计算公式可得,数组中任一元素可通过地址公式在相同时间内存取。

即顺序存储的数组是随机存取结构。

4、算法步骤及注意事项:算法步骤:(1)首先,在定义四维数组的数据类型时,我选择了整型以方便编程及利于数据的输入和输出。

为了实现任务所要求的功能,我将程序划分为三类:功能函数,界面函数以及主函数。

另外,其中的功能函数包括以下几种函数:四维数组元素输入函数、四维数组元素输出函数、元素查找函数、功能介绍函数以及主函数。

设计性实验报告

设计性实验报告

设计性实验报告
目录
1. 引言
1.1 背景
1.2 研究目的
2. 材料与方法
2.1 实验设计
2.2 实验步骤
3. 结果分析
3.1 数据展示
3.2 结果讨论
4. 结论
4.1 实验总结
4.2 展望未来
引言
背景
在现代科学研究中,设计性实验被广泛运用于探究特定问题以及验证假设。

通过合理设计实验方案、可靠的数据采集和分析,研究人员可以获得有力的实验证据,进而推动科学知识的进步。

研究目的
本实验旨在通过设计性实验探讨某一特定问题,并通过实验数据的分析和解读,得出结论并展望未来相关研究方向。

材料与方法
实验设计
本实验采用了对照组实验设计,将实验对象分为实验组和对照组,通过对比两组数据的差异来验证研究假设。

实验步骤
1. 首先,准备实验所需材料和设备;
2. 其次,制定详细的实验方案,包括实验对象的选择、实验组和对照组的划分等;
3. 进行实验操作,按照设计好的步骤进行数据采集;
4. 对采集到的数据进行统计分析,得出实验结果。

结果分析
数据展示
通过对比实验组和对照组的数据,我们可以看到明显的趋势和差异,进一步验证了我们的研究假设。

结果讨论
在结果分析的基础上,我们对实验结果进行了进一步探讨,分析可能的影响因素以及未来的研究方向。

结论
实验总结
根据本次实验的结果和讨论,我们总结出了对研究问题的回答,以及对实验设计的反思和改进建议。

展望未来
未来,我们将进一步拓展实验规模,深入研究该领域的相关问题,以期获得更深刻的认识和更可靠的实验结论。

综合设计性实验报告模板

综合设计性实验报告模板

综合设计性实验:设计一个配方,其烧成温度在1250左右;陶瓷坯料配方实验(一)实验目的1.掌握陶瓷坯料配方的实验原理及实验方法。

2.了解影响陶瓷坯料配方的复杂因素及提出一般解决措施。

3.熟悉陶瓷坯料配方操作技能。

(二)实验原理制定坯料配方,尚缺乏完善方法,主要原因是原料成分多变,工艺制度不稳,影响因素太多,以致对预期效果的预测没有把握。

根据理论计算或凭经验摸索,经过多次试验,在既定的各种条件下,均能找到成功配方,但条件一变则配方的性能也随之而变。

根据实验给定的烧成温度1250℃,选用原料,确定配方及成形方法是常用的配料方法。

坯料配方试验方法一般有三轴图法、孤立变量法、示性分析法和综合变量法。

示性分析法即着眼于化学成分和矿物组成的理论配合比。

例如高岭土中常含有长石及石英之混合物,长石中常含有未化合的石英,瓷石中则常含有长石、石英、高岭石、绢云母等。

如配方中的高岭土是指纯净的高岭石,配方中的长石、石英是指极纯的长石及石英,则最好用示性分析法测定各种原料内之高岭石、长石、石英的含量,以便配料时统计计算。

综合变量法即正交试验法,也叫多因素筛选法、多因素优选法、大面积撒网法。

试验前借助于正交表,科学地安排试验方案,试验后,经过表格运算,分析试验结果,以较少的试验次数找出最佳的坯料配方。

然而本设计是采用了三轴图法,利用K2O-Al2O3-SiO2三元系统相图,在设定的1250℃的温度下,根据配料三角形计算出长石-高岭-石英的配料比。

陶瓷坯体在烧结过程中,要发生一系列复杂的物理化学变化,如原料的脱水、氧化分解、易熔物的熔融、液相的形成、旧晶相的消失、新晶相的生成以及新生成化合物量的不断变化,液相的组成、数量和年度的不断变化。

与此同时,坯体的孔隙率逐渐降低,坯体的密度不断增大,最后达到坯体孔隙率最小,密度最大时的状态称为烧结。

烧结时的温度称为烧结温度。

若继续升温,升到一定温度是,坯体开始过烧,这可通过试样过烧膨胀出现气泡、角棱局部熔融等现象来确定。

实验四ALU的设计与实现实验报告.docx

实验四ALU的设计与实现实验报告.docx

实验四ALU的设计与实现实验报告.docx一、实验目的1. 掌握ALU(算术逻辑单元)的基本功能和实现原理。

2. 了解ALU的应用。

3. 自己设计一个ALU。

二、实验原理1. ALU是一个用于执行多种算术逻辑操作的数字电路模块。

3. 在二进制数系统中,可以对两个二进制数进行加、减、与、或、异或、移位等操作。

4. ALU的输出结果可以根据不同的选通信号来选择输出的结果。

5. 通过控制ALU的操作码、模式选择等信号,可以实现不同的运算和逻辑操作。

三、实验器材1. 逻辑电路实验箱;2. 多用途数字逻辑实验板(Xilinx平台);3. Xilix ISE Design Suit软件;4. 电烙铁、万用表等。

四、实验过程首先,我们在Xilix ISE Design Suit软件上设计ALU的电路,并将设计好的电路写到FPGA芯片中。

然后,我们再将FPGA芯片与数字逻辑实验板连接,搭建出ALU的完整电路。

2. 实现ALU的基本功能:在ALU的图形界面上,我们可以将ALU设计成多种不同的模式,然后通过不同的控制信号来选择对不同的输入进行不同的运算。

ALU可以应用于不同领域的数字电路中,例如计算器、数字信号处理等。

五、实验结果分析通过本次实验,我们成功设计出了一个ALU,并且通过不同的控制信号来实现了不同的运算和逻辑操作。

通过这个实验,我们对ALU的基本原理有了更加深刻的理解,同时也了解到了ALU在数字电路设计中的应用。

六、实验心得体会通过本次实验,我学习到了ALU的基本原理和数字电路的设计方法。

在这个过程中,我需要通过图形界面来设计ALU,并且需要将设计好的电路写入到FPGA芯片中。

这个过程需要不断地尝试和调整,需要对数字电路中的基本电路和模块有比较深刻的理解。

通过实验,我对数字电路的理解更加深入了一步,我相信在今后的学习中,我会更加努力地学习数字电路的相关知识。

实验四-IIR数字滤波器的设计实验报告

实验四-IIR数字滤波器的设计实验报告

实验四-IIR数字滤波器的设计实验报告数字信号处理实验报告实验四 IIR数字滤波器的设计学生姓名张志翔班级电子信息工程1203班学号12401720522指导教师2015.4.29实验四 IIR 数字滤波器的设计一、实验目的:1. 掌握双线性变换法及脉冲响应不变法设计IIR 数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR 数字滤波器的MATLAB 编程。

2. 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。

3. 熟悉Butterworth 滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。

二、实验原理: 1. 脉冲响应不变法用数字滤波器的单位脉冲响应序列 模仿模拟滤波器的冲激响应 ,让 正好等于 的采样值,即 ,其中 为采样间隔,如果以 及 分别表示 的拉式变换及 的Z 变换,则)2(1)(m T j s H T z H m a e z sT ∑∞-∞==+=π2.双线性变换法S 平面与z 平面之间满足以下映射关系:);(,2121,11211ωωσj re z j s sT s T z z z T s =+=-+=+-⋅=--s 平面的虚轴单值地映射于z 平面的单位圆上,s 平面的左半平面完全映射到z 平面的单位圆内。

双线性变换不存在混叠问题。

双线性变换是一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。

三、实验内容及步骤:实验中有关变量的定义:fc 通带边界频率; fr阻带边界频率;δ通带波动;At 最小阻带衰减; fs采样频率; T采样周期(1) =0.3KHz, δ=0.8Db, =0.2KHz, At =20Db,T=1ms;设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。

MATLAB源程序:wp=2*1000*tan(2*pi*300/(2*1000));ws=2*1000*tan(2*pi*200/(2*1000));[N,wn]=cheb1ord(wp,ws,0.8,20,'s'); %给定通带(wp)和阻带(ws)边界角频率,通带波动波动0.8,阻带最小衰减20dB,求出最低阶数和通带滤波器的通带边界频率Wn[B,A]=cheby1(N,0.5,wn,'high','s');%给定通带(wp)和阻带(ws)边界角频率,通带波动[num,den]=bilinear(B,A,1000);[h,w]=freqz(num,den);f=w/(2*pi)*1000;plot(f,20*log10(abs(h)));axis([0,500,-80,10]);grid;xlabel('频率');ylabel('幅度/dB')程序结果num = 0.0304 -0.1218 0.1827 -0.1218 0.0304 den = 1 1.3834 1.4721 0.8012 0.2286系统函数:123412340.0304 -0.1218z 0.1827z-0.1218z0.0304z H(z)=1.0000+1.3834z+1.4721z+ 0.8012z+0.2286z--------++幅频响应图:分析:由图可知,切比雪夫滤波器幅频响应是通带波纹,阻带单调衰减的。

实验四键盘扫描及显示设计实验报告

实验四键盘扫描及显示设计实验报告

实验四键盘扫描及显⽰设计实验报告实验四键盘扫描及显⽰设计实验报告⼀、实验要求1. 复习⾏列矩阵式键盘的⼯作原理及编程⽅法。

2. 复习七段数码管的显⽰原理。

3. 复习单⽚机控制数码管显⽰的⽅法。

⼆、实验设备1.PC 机⼀台2.TD-NMC+教学实验系统三、实验⽬的1. 进⼀步熟悉单⽚机仿真实验软件 Keil C51 调试硬件的⽅法。

2. 了解⾏列矩阵式键盘扫描与数码管显⽰的基本原理。

3. 熟悉获取⾏列矩阵式键盘按键值的算法。

4. 掌握数码管显⽰的编码⽅法。

5. 掌握数码管动态显⽰的编程⽅法。

四、实验内容根据TD-NMC+实验平台的单元电路,构建⼀个硬件系统,并编写实验程序实现如下功能:1.扫描键盘输⼊,并将扫描结果送数码管显⽰。

2.键盘采⽤ 4×4 键盘,每个数码管显⽰值可为 0~F 共 16 个数。

实验具体内容如下:将键盘进⾏编号,记作 0~F,当按下其中⼀个按键时,将该按键对应的编号在⼀个数码管上显⽰出来,当再按下⼀个按键时,便将这个按键的编号在下⼀个数码管上显⽰出来,数码管上可以显⽰最近 4 次按下的按键编号。

五、实验单元电路及连线矩阵键盘及数码管显⽰单元图1 键盘及数码管单元电路实验连线图2实验连线图六、实验说明1. 由于机械触点的弹性作⽤,⼀个按键开关在闭合时不会马上稳定地接通,在断开时也不会⼀下⼦断开。

因⽽在闭合及断开的瞬间均伴随有⼀连串的抖动。

抖动时间的长短由按键的机械特性决定,⼀般为 5~10ms。

这是⼀个很重要的时间参数,在很多场合都要⽤到。

键抖动会引起⼀次按键被误读多次。

为了确保 CPU 对键的⼀次闭合仅做⼀次处理,必须去除键抖动。

在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。

按键的抖动,可⽤硬件或软件两种⽅法消除。

2. 为了减少键盘与单⽚机接⼝时所占⽤ I/O 线的数⽬,在键数较多时,通常都将键盘排列成⾏列矩阵形式。

3. 从数码管显⽰⽅式看,数码管分为静态显⽰和动态显⽰两种⽅式。

(完整word版)试验设计4、6

(完整word版)试验设计4、6

广西工学院统计专业实验报告课程名称试验设计实验项目名称正交设计与均匀设计班级与班级代码统计082 实验室名称(或课室)专业统计学任课教师王国强学号: 200800903062 姓名:潘国鹏实验日期: 2011-10-25姓名实验报告成绩评语:指导教师(签名)年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验一一、实验目的1、熟练掌握有交互作用的正交试验设计的步骤。

2、掌握直观分析法与方差分析法分析试验结果。

二、实验设备:计算机和EXCEL 软件。

三、实验要求:4.1 九二O 是一种植物生长调节剂,某微生物厂生产的九二O 存在着产品效价低,成本高等问题,选取因素及水平如下表.试验需考虑交互作用A*B ,A*C ,B*C ,问:(1) 选用那张正交表合适?表头如何设计?(2) 如果试验把A,B,C,D 排在78(2)L 表的1,2,4,7列上所得试验结果(效价)依次为:2.05,2.24,1.10,1.50,1.35,1.26,2.00,试用直观分析法分析试验结果;(3) 试用方差分析试验结果。

四、实验步骤(1)由表及题意知该试验为二水平四因素和三个交互,所以选用78(2)L 正交表,表头设计如下:(2)下表为试验结果分析计算表: 78(2)L由上表的极差R 知交互作用对指标的影响大小 A*B>A*C>D , 所以A*B A*C 交互作用分析二元表分别如下: 从表中看出取A1B1搭配较好,即A1=0.6,B1=13.从表中看出取A1C2搭配较好,即A1=0.6,C2=4B*C 的交互作用为0.1对指标的影响很小,即就B,C 的取什么值对指标没多大影响,又A 与B,C的二元交互作用分析表中知道A1B1,A1C2的搭配较好,所以取A1B1C2。

在试验结果分析计算表中知道因素D1>D2,所以选D1。

综上所述,得到较优生产条件为A1B1C2D1,即微元总量A/(0.6%) 玉米粉B/(13%) 白糖C/(4%) 时间D/(25d )。

光学实验设计性实验报告(3篇)

光学实验设计性实验报告(3篇)

第1篇一、实验目的1. 了解光学实验的基本原理和实验方法;2. 培养学生动手能力和创新思维;3. 通过设计性实验,提高学生对光学知识的理解和应用能力。

二、实验原理本实验旨在设计一个简单的光学实验,验证光学原理,并探讨实验设计的方法和技巧。

实验原理主要包括以下内容:1. 光的直线传播:光在同一种均匀介质中沿直线传播;2. 光的反射定律:入射光线、反射光线和法线在同一平面内,入射光线与反射光线的夹角相等;3. 光的折射定律:入射光线、折射光线和法线在同一平面内,入射光线与折射光线的夹角正弦之比等于两种介质的折射率之比;4. 薄透镜成像规律:物体通过薄透镜成像,成像规律与物距、像距和焦距有关。

三、实验内容1. 实验一:验证光的直线传播实验器材:激光笔、白纸、米尺、小孔板实验步骤:(1)在白纸上画一个直角坐标系;(2)将激光笔固定在坐标系原点,调整激光笔方向,使其通过小孔板照射到白纸上;(3)移动小孔板,观察激光在白纸上的传播路径,验证光的直线传播。

2. 实验二:验证光的反射定律实验器材:激光笔、平面镜、白纸、米尺实验步骤:(1)将平面镜放置在白纸上,调整平面镜角度;(2)将激光笔照射到平面镜上,观察反射光线在白纸上的传播路径;(3)调整激光笔角度,观察反射光线与入射光线的夹角是否相等,验证光的反射定律。

3. 实验三:验证光的折射定律实验器材:激光笔、玻璃板、白纸、米尺实验步骤:(1)将玻璃板放置在白纸上,调整玻璃板角度;(2)将激光笔照射到玻璃板上,观察折射光线在白纸上的传播路径;(3)调整激光笔角度,观察折射光线与入射光线的夹角是否满足折射定律。

4. 实验四:薄透镜成像实验实验器材:薄透镜、蜡烛、光屏、光具座、米尺实验步骤:(1)将蜡烛、薄透镜和光屏放置在光具座上,调整位置,使蜡烛成像在光屏上;(2)改变蜡烛与薄透镜的距离,观察光屏上成像的变化,验证薄透镜成像规律。

四、实验结果与分析1. 实验一:验证光的直线传播,实验结果表明,激光在白纸上的传播路径是直线,验证了光的直线传播原理。

设计性实验药学实验报告

设计性实验药学实验报告

实验题目:中药复方提取物的抗氧化活性研究一、实验目的1. 探究中药复方提取物的抗氧化活性。

2. 评估不同提取方法对中药复方提取物抗氧化活性的影响。

3. 为中药复方提取物的开发和应用提供实验依据。

二、实验原理本实验采用DPPH自由基清除法检测中药复方提取物的抗氧化活性。

DPPH自由基是一种稳定的自由基,具有较强的氧化性。

当抗氧化剂与DPPH自由基反应时,DPPH 自由基的吸收峰会减弱,其吸光度值降低。

通过测定吸光度值的变化,可以评估抗氧化剂的抗氧化活性。

三、实验材料与仪器1. 实验材料:- 中药复方:采用某中药复方药材,经粉碎、过筛后备用。

- 乙醇、甲醇、水等有机溶剂。

- DPPH自由基溶液。

- 1,1-二苯基-2-三硝基苯肼(DPPH)自由基。

2. 实验仪器:- 电子天平。

- 超声波提取仪。

- 分光光度计。

- 真空干燥箱。

四、实验方法1. 中药复方提取物的制备:- 采用超声波提取法、回流提取法和渗漉法分别制备中药复方提取物。

- 将药材与乙醇、甲醇、水等有机溶剂按一定比例混合,置于超声波提取仪中提取。

- 提取液经真空干燥箱干燥,得到中药复方提取物。

2. 抗氧化活性检测:- 配制不同浓度的中药复方提取物溶液。

- 取一定量的DPPH自由基溶液,加入中药复方提取物溶液,混合均匀。

- 在517nm波长下测定吸光度值。

- 以未加中药复方提取物的DPPH自由基溶液为空白对照。

3. 数据处理:- 计算抗氧化活性指数(IC50):以不同浓度的中药复方提取物溶液的吸光度值与空白对照组的吸光度值之比作为抗氧化活性指数。

- 比较不同提取方法制备的中药复方提取物的抗氧化活性。

五、实验结果与分析1. 不同提取方法对中药复方提取物抗氧化活性的影响:- 超声波提取法、回流提取法和渗漉法制备的中药复方提取物均具有一定的抗氧化活性。

- 超声波提取法所得中药复方提取物的抗氧化活性最高,回流提取法次之,渗漉法最低。

2. 中药复方提取物的抗氧化活性:- 随着中药复方提取物浓度的增加,其抗氧化活性也随之增强。

设计性实验报告体会

设计性实验报告体会

一、实验背景设计性实验作为一种创新性、实践性较强的实验教学模式,旨在培养学生的创新意识、实践能力和综合素质。

通过设计性实验,学生可以自主选择实验课题,独立完成实验方案的设计、实施和结果分析,从而提高自身的科研能力和实验技能。

本次设计性实验,我选择了“探究影响植物生长因素”这一课题,通过实验来了解不同因素对植物生长的影响。

二、实验过程1. 实验准备在实验开始前,我首先查阅了相关文献资料,了解了植物生长的基本原理和影响因素。

然后,根据实验目的,选择了适合的植物品种和实验材料,准备了实验所需的工具和设备。

2. 实验方案设计根据实验目的,我设计了以下实验方案:(1)实验分组:将植物分为对照组和实验组,对照组不施加任何处理,实验组分别施加不同因素的处理。

(2)处理因素:光照、水分、土壤、肥料等。

(3)实验步骤:将植物种植在相同条件下,分别施加不同处理因素,观察植物的生长情况。

3. 实验实施按照实验方案,我进行了以下操作:(1)将植物种植在花盆中,保持适宜的温度、湿度等环境条件。

(2)对实验组施加不同处理因素,如调整光照时间、水分供给、土壤成分、肥料施用量等。

(3)定期观察植物的生长情况,记录数据。

4. 实验结果分析通过对比对照组和实验组的数据,我发现:(1)光照对植物生长有显著影响,适宜的光照条件有利于植物的生长。

(2)水分是植物生长的基本需求,适量供水有助于植物的生长。

(3)土壤成分和肥料施用量对植物生长也有一定影响。

三、实验体会1. 提高创新意识在设计性实验过程中,我需要独立思考,自主选择实验课题和设计实验方案。

这使我认识到创新意识的重要性,培养了我主动探索、勇于实践的精神。

2. 增强实践能力通过实验操作,我掌握了植物生长的基本原理和实验技能,提高了自己的动手能力。

同时,在实验过程中,我学会了如何分析问题、解决问题,为今后的科研工作打下了基础。

3. 培养团队协作精神在设计性实验中,我与同学共同完成实验任务,互相学习、互相帮助。

设计性实验报告论文

设计性实验报告论文

一、摘要随着科技的发展,智能手机已经成为人们生活中不可或缺的一部分。

手机壳作为手机的保护配件,其设计越来越受到消费者的关注。

本实验旨在通过3D打印技术,设计一款具有个性化特色的手机壳,提高手机壳的实用性和美观性。

实验结果表明,3D打印技术在个性化手机壳设计中的应用具有可行性,为手机壳行业提供了新的发展方向。

二、引言1. 背景随着智能手机的普及,手机壳市场逐渐壮大。

消费者对手机壳的需求不再局限于简单的保护功能,而是更加注重个性化、美观和实用。

3D打印技术作为一种新兴的制造技术,具有设计自由度高、制造周期短、成本低等优点,在个性化手机壳设计领域具有广阔的应用前景。

2. 目的本实验旨在通过3D打印技术,设计一款具有个性化特色的手机壳,提高手机壳的实用性和美观性,为手机壳行业提供新的设计思路。

三、实验方法1. 设计思路(1)分析消费者需求:了解消费者对手机壳的功能、外观、材质等方面的需求。

(2)收集手机型号:收集市面上主流的手机型号,以便为手机壳设计提供数据支持。

(3)确定设计要素:根据消费者需求和手机型号,确定手机壳的设计要素,如尺寸、形状、颜色、图案等。

(4)3D建模:利用3D建模软件,根据设计要素进行手机壳的3D建模。

(5)优化设计:对3D模型进行优化,提高手机壳的实用性和美观性。

2. 3D打印技术(1)材料选择:选择具有良好打印性能、环保、耐用的材料,如PLA、ABS等。

(2)打印设备:选用适合手机壳打印的3D打印机,如FDM(熔融沉积建模)打印机。

(3)打印参数:根据材料特性和打印设备,设置合适的打印参数,如打印温度、打印速度、填充密度等。

3. 实验步骤(1)收集消费者需求,确定设计要素。

(2)利用3D建模软件进行手机壳的3D建模。

(3)优化设计,提高手机壳的实用性和美观性。

(4)选择合适的材料、打印设备和打印参数。

(5)进行3D打印,制作出个性化的手机壳。

四、实验结果与分析1. 实验结果通过3D打印技术,成功制作出具有个性化特色的手机壳。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
09 软件卢建成6号曾繁基7号
一.实验题目
模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及用先进先出(FIFO)页面调度算法处理缺页中断。

二.实验目的
(1)理解在分页式存储管理中怎样实现虚拟存储器;
(2)掌握分页式虚拟存储管理中硬件的地址转换和缺页中断;
(3)学会如何用先进先出(FIFO)页面调度算法处理缺页中断;
(4)加深对存储管理的作用和工作原理的理解;
(5)进一步认识主存空间的分配和回收方法。

三.实验内容以及要求
本实验的目的是通过设计和调试一个简单请求分页式系统,加深对虚拟存储管理中页面调度算法FIFO、LRU等的理解。

具体要求如下:
(1)设计一个模拟请求分页式的系统;
(2)采用FIFO或LRU页面置换算法;
(3)根据输入的页面访问次序,及初始分配的块数,进行模拟;
(4)如果发生页面置换则将置换出的页面显示出来,并显示该页面是否被修改等信息。

四.实验环境
操作系统:Windows 7
开发语言:VC++
开发工具:Microsoft Visual C++ 6.0
五.问题分析
请求页式存储管理主要需要解决以下问题:
系统如何获知进程当前所需页面不在主存;当发现缺页时,如何把所缺页面调入主存;当主存中没有空闲的页框时,为了要接受一个新页,需要把老的一页淘汰出去,根据什么策略选择欲淘汰的页面。

本程序中采用先来先服务的淘汰方式。

各进程的虚拟空间被划分成若干个长度相等的页。

页长的划分和内存外存之间的数据传输速度以及内存大小等有关。

页式管理还把内存空间也按页的大小划分为页面,然后把
页式虚拟地址与内存页面物理地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。

在作业或进程开始执行之前,把该作业或进程的程序段和数据全部装入内存的各个页面中,并通过页表和硬件地址变换机构实现虚拟地址到内存物理地址的地址映射。

六.设计思想
页式虚拟存储管理是在页式存储管理的基础上实现的,首先把作业信息作为副本存放在磁盘上,作业执行时,把作业信息的部分页面装入主存储器,作业执行时若所访问的页面已经在主存中,则进行地址转换,得到绝对地址,否则产生“缺页中断”由操作系统把当前所需的页面装入主存。

在页式虚拟存储系统中,把虚拟空间分成页,称为逻辑页;内存空间也分成同样大小的页,称为物理页。

假设逻辑页号为0,1,2 ,……,m,物理页号为0,1,……,n,显然有m>n。

由于页的大小都取2的整数幂个字,所以,页的起点都落在低字段为零的地址上。

因此,虚存地址分为两个字段:高位字段为逻辑页号,低位字段为页内行地址,实存地地址也分两个字段:高位字段为物理页号,低位字段为页内行地址。

由于两者的页面大小一样,所以页内行地址相等。

虚拟地址到主存实地址的变换是由放在主页的页表来实现。

在页表中,对应每一个虚存逻辑页号有一个表目,表目内容至少要包含该逻辑页所在的主存页面地址(物理页号),用它作为主存地址的高字段,与虚存地址的页内行地址字段相拼接,就产生了完整的实主存地址据此来访问主存。

页式管理的地址变换如图1所示。

如访问该逻辑页就要产生页面失效中断,启动输入输出子系统,根据页表项目中查得的外存地址,由磁盘等外存中读出新的页到主存中来。

修改位指出主存页面中的内容是否被修改过,替换时是否要写主存,替换控制位指出需替换的页等。

七.实验系统结构
1.实验算法流程图
2.算法设计
(1)该程序可分为以下几个模块:
int main();//主函数
void Init();//初始化程序
void Display();//显示页表情况的函数
void Input();//输入指令程序
void Check(int t);//查页表程序
void Inter(int m);//缺页中断处理程序
void Comp(int w);//处理绝对地址函数
void Change();//修改页表函数
(2)主要函数模块分析
1)地址变换函数:输入指令进行操作的页号和单元号,判断该页是否在主存中。

若在,则直接计算绝对地址并输出,否则发生缺页中断。

输出指令执行后的页表情况后再询问用户是否还有后继指令。

void Comp(int w){//绝对地址函数
int address=Page[w][2]*1024+unit;// 计算绝对地址
if(oper=='C') {Page[w][3]=1;}//C代表存,如果是存指令,置L页的修改标志为1
cout<<"绝对地址:"<<address<<endl; //输出绝对地址
cout<<"-----------------指令执行后页表情况如下------------------"<<endl;
Display();//输出指令执行后的页表情况
cout<<endl<<"还有后继指令吗1:有,0:无"<<endl;//提示还有后继指令吗,为有,为无
cin>>temp;
}
2)缺页中断处理函数:当用户输入操作判断该页不在主存上时,发生缺页中断,输出“该页页号*”,并模拟FIFO进行页面调度算法把该作业中最先进入主存的一页调出,存放在磁盘上,然后再把当前要访问的页装入该块。

void Inter(int m){ //缺页中断处理程序
cout<<"该页页号* "<<m<<endl;//输出该页页号
//模拟FIFO页面调度
J=P[k]; //暂存P[k]值
if(Page[J][3]==1)//判断J页的修改标志是否为1
cout<<"OUT "<<J<<endl;//是的话,输出OUT J
cout<<"IN "<<L<<endl;//L页进入主存空间
P[k]=L; //修改P[k]为当前指令中的页号L
Change();//调用修改页表函数,进行页表修改
k=(k+1)%N_z;//k值修改
Check(L);//继续查看页表
}
3)修改页表函数:当一个页面调出和装入后都需要修改页表中对应页的标志。

void Change(){ //修改页表函数
int p;
for(int i=1;i<=2;i++)
{p=Page[L][i];//修改页标志、主存块号
Page[L][i]=Page[J][i];
Page[J][i]=p;
}
}
八.实验运行结果
(1)运行程序得到初始化界面如下:
(2)用户按提示输入相应的指令,若指令输入后系统判断该页在主存上,则显示结果如下:
(3)若用户输入指令后系统判断该页不在主存上,此时显示结果如下:
(4)当运行完后,系统提示是否还有后继指令,若选择0:无,则该系统自动关闭。

调试过程:
(1)在编写代码时,数据是按照实验指导书上的进行初始化的,在初次运行时,在磁盘上的位置显示的数字被系统理解成八进制了,于是,数据被更改了。

后来查了相关资料了解
到,由于本实验页表中的数据全部为整型,所以最后将元素“在磁盘上的位置”的输入和输出均舍去前面的0,否则将会以八进制处理。

(2)调试过程中,遇到了很多问题。

先是分配(创建)物理块问题,然后是如何实现FIFO 调度的问题,当程序调试到可运行的时候时,发现输出的结果不对。

而且当一组数据结果正确时,用另一组数据时又出现结果错误。

经过一次次的调试和修改,以及多组数据的测试后,终于完成了实验。

九.实验总结
通过这次实验,我了解了虚拟内存技术的特点,请求页式存储管理方式是一种实现虚拟存储器的方式,是指在进程开始运行之前,不是装入全部页面,而是装入一个或零个页面,之后根据进程运行的需要,动态装入其它页面。

当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新的页面。

并在此基础上掌握了请求分页式存储管理的页面置换算法,对课堂所学的知识进一步加深,将理论上的东西亲手进行了实践。

从实验中,进一步加深了对操作系统的内部运作情况的了解,使自己真正懂得了什么叫做操作系统,以及操作系统在计算机中的重要地位,可以说,一个好的操作系统需要具备最优化的调用系统资源,对各个作业进行最佳的调度,缩短作业的周转时间和等待时间,并且让CPU等硬件资源的利用率达到最佳,从而使计算机的性能达到最佳状态。

同时,在这次实验中用到了很多别的知识,是一次对所学知识的复习以及对新知识的挖掘。

十.参考文献
1.(荷兰)AnderwS.Tanenbaum著陈向群马洪乒等译《现代操作系统》机械工业出版社
2. 操作系统实验指导书-2010。

相关文档
最新文档