CUPT乒乓球实验报告
CUPT乒乓球实验报告 ppt课件

5
• 实验数据处理与分析
1.乒乓球第一次弹起的高度与所装水的体积的关系 如下表所示
水体 积ml
2.7
5
10
20
22. 5
25
27. 5
30
full
空 球
高度 /cm
39
35
14
10
20
25
35
55
65
70
将上表格中的数据在坐标纸上描绘出来如下图所示
6
7
数据分析: 由图表可以看出随着水体积的增加,
乒乓球第一次弹起的高度以先减小,后 增大趋势进行的,如果把水的量细分的 话,那么图像将呈“对号”的形状。 而且可以看出图像的最低点大约在小球 体积一半的位置处,即16.75ml处。 ★理论分析:当球内装的液体V<16.75ml
8
时,在球撞击地的时候,由于小球的壳有一个由扩张 到收缩而引起的振动,并且水有一个动能和势能相互 交换而引起的振动,所以这两部分振动会消耗一部分 整个小球的能量,而且在球升起的时候,水的部分动 能会转化为中央水柱的势能,但是,在水柱最高的时 候,也不会触及球顶。因此,随着水体积的增加,振 动消耗的能量会越来越大,水柱也会逐渐的升高,当 水的V= 16.75ml的时候,振动消耗的能量会达到一个 最大值,并且水柱刚好和球顶接触,此时,球的第一 次弹起来的高度有一个极小值;当V> 16.75ml时,振 动消耗的能量会慢慢减小,所以乒乓球会持续上升。 同样,随着水体积的增加,振动消耗的能量会越来越 少,因此乒乓球的高度越来越high,直到乒乓球内充满 水,这时水的高度将达到最大值。
9
2.球内装不同体积(V>16.75ml)的液体 对球弹起高度的影响
plc乒乓电路实验报告

plc乒乓电路实验报告实验名称:PLC乒乓电路实验实验目的:1. 了解PLC控制器的基本原理和应用方式2. 掌握PLC的硬件组成结构3. 学会PLC程序编写和下载,及其调试方法4. 通过乒乓球控制案例,学会PLC的实际应用实验原理:PLC的硬件组成结构分为五部分:1. 中央处理器CPU:PLC的核心部件,负责控制、计算和通信。
2. 输入/输出模块I/O:接受外部信号输入与输出信号输出,与被控对象连接。
3. 记忆器:存储PLC程序和数据。
4. 电源装置:提供稳定的工作电压。
5. 外壳:将上述部分装配在一起形成完整的PLC。
乒乓球控制实验案例:硬件:1. PLC可编程逻辑控制器2. 可编程控制器编程线3. 可编程控制器通信线4. 电源线5. 开关、电机等元件6. 乒乓球控制机构软件:1. PLC编程软件2. 仿真软件实验流程:1. 硬件组装:按照实验要求将硬件组合连接。
2. 编写程序:编写PLC程序,以操纵控制机构模拟乒乓球控制运动。
3. 下载程序:将编写好的程序通过编程线下载到PLC中。
4. 调试程序:通过仿真软件模拟实验过程,完成程序的调试。
5. 实验验证:运行实验,验证PLC程序的正确性和应用价值。
实验结果:通过本次实验,我们成功了解了PLC的基本原理、硬件组成结构和应用方式,熟练掌握了PLC程序编写和下载的方法和调试技巧,并通过乒乓球控制实验案例,深入掌握了PLC的实际应用。
结论:PLC控制器是一种现代化、全自动化的物理装置,具有可编程、多功能、集成化和可靠性高等特点,是现代工业控制领域的主力军之一。
在实际应用中,PLC可根据需要进行编程,控制机构模拟各种复杂的运动状态,如乒乓球控制。
PLC控制器的操作灵活,具有自动、半自动和手动控制等多种工作模式,具备广泛的应用前景。
PLC控制器的应用越来越广泛,在各种行业的自动化设备中已经占据了重要地位。
在加工制造行业中,PLC控制器主要应用于各种生产线的控制和自动化设备的精密控制,如机器人控制,焊接机控制,流水线控制等。
关于乒乓球实验的作文

关于乒乓球实验的作文关于乒乓球实验的作文篇一今天上课的时候,老师给我们拿了两个乒乓球。
你如果猜它们是两个和平常一样的、圆圆的乒乓球的话,那你就大错特错了。
其实,它们是两个凹凸不平的乒乓球,已经面目全非,完全丧失了功能。
谁能“拯救”这两个奄奄一息的乒乓球呢?于是,我们便开始想办法“拯救”这两个乒乓球。
我们提出了用热水泡、打孔充气、反复刮球面、按压凹下去的地方……大家议论纷纷,莫衷一是。
最后,我们选择了用热水泡的方法进行实验。
我们倒了一杯冷水和一杯热水,把两个乒乓球放进去。
你知道为什么还要一杯冷水吗?这是因为要让冷水杯里的乒乓球和热水杯里的乒乓球形成对比一会,我们清楚地看到了冷水杯里的球一动也不动,而热水杯里的球却慢慢地恢复了原样。
这是怎么回事呢?同学们个个像丈二和尚――摸不着头脑。
原来是热涨的原理,因为球里有空气,空气会有遇热膨胀的性质,它遇到了热水就慢慢恢复原状。
这次实验让我明白了,只要你愿意观察,善于思考,其实科学就在我们身边。
关于乒乓球实验的作文篇二我做过好多次试验,但是只有这次的实验令我印象深刻,究竟是什么呢?我做的实验叫做:乒乓球复原试验。
首先我拿了一个凹凸不平的乒乓球和一个杯子,然后把乒乓球放到杯子里,最后往杯子里倒了一点凉水,过了几分钟,我感觉乒乓球一定会恢复原状,可是,乒乓球并没有像我想的那样恢复原状,依然凹凸不平。
这到底是怎么回事呢?我记得科学书上说的就是这样操作啊,这个试验到底哪里出错了,我连忙去问妈妈:“妈妈,我的实验哪里出错了?”妈妈笑眯眯的说:“你自己去查一下资料吧!”通过查资料,我知道了做这个试验,不能用凉水,要用热水才行。
我恍然大悟。
这次,我先小心翼翼的把热水倒到杯子里,再把乒乓球放进去,最后,拿了个勺子按住。
过了一小会儿,热水就起了作用,凹凸不平的球逐渐的膨胀了起来,恢复了原状,我高兴地说:“这次试验终于成功了”。
从这次试验中,我不但知道生活处处有科学,而且还知道了有些物体受热后膨胀的道理。
2017CUPT实验总结报告

2017CUPT实验总结报告2017CUPT实验总结报I题目真空火箭炮姓名学号指导教师实验地点实验时间 17.04.01-2017.06.25 一、问题综述Vacuum bazookaA ‘vacuum bazooka’ can be built with a simple plasticpipe, a light projectile, and a vacuum cleaner. Build sucha device and maximise the muzzle velocity.用一个塑料管,一个物体和一个真空吸尘器来制作一个真空火箭炮,并且最大化出口速度。
关键词:塑料管、真空吸尘器、最大化、出口速度二、实验原理及初步试验该实验实质上是利用了大气压强差来对管内物体加速,当管内气体被抽出后,管内气压小于外界气压,密封端被打开后物体便会在压强差的作用下加速前进。
如图一所示:试验中的测速我们采用物体长度除以经过光电门时间的方法来进行速度的计算。
光电门由32单片机制作,精度为微秒级别。
二、理论分析模型一:认为物体与管道完美契合,不考虑能量损耗。
假设在水平放置的装置中抛射物质量为m,横截面积为A,空气密度为ρ。
抛射物初始位置为X=0.且靠近小球一段的封口处内外压强差一直为P0,运动时抛射物和其后方的空气柱一起加速。
由动量定理可得:P0At=(m+ρxA)dxdt对该方程进行求解可得出口速度表达式:V(x)=√P0ρ.√1−1(1+Aρxm)2由理想表达式可以看出物体质量、横截面积、管长、初始压强差均对出口速度均有影响。
可对这些因素的影响进行单一变量实验分析。
三、实验&数据分析实验一:物体质量与速度的关系该部分实验在其它条件不变的情况下,通过改变物体质量来探究物体质量与出口速度的关系。
炮弹长:88.20mm 管长:183mmcm 面积:1541mm^2重量/g 20.933.3549.9566.5583.15103.9时间/ms2.4 2.93.5 3.6 3.7 3.7时间/ms2.43.0 3.5 3.7 3.7 3.7时间/ms2.43.2 3.5 3.7 3.7 3.8平均 2.40 3.033.50 3.67 3.73.73速度m/s 36.7528.9225.2 24.0323.8323.65得出结论:相同情况下,物体质量越小,出口速度越大实验二:物体面积与速度的关系该部分实验是在其它情况不变的情况才,通过改变物体受力面积来探究物体面积与出口速度的关系。
2017CUPT实验总结报告

2017CUPT实验总结报I题目真空火箭炮姓名学号指导教师实验地点实验时间17.04.01-2017.06.25一、问题综述Vacuum bazookaA ‘vacuum bazooka’ can be built with a simple plasticpipe, a light projectile, and a vacuum cleaner. Build sucha device and maximise the muzzle velocity.用一个塑料管,一个物体和一个真空吸尘器来制作一个真空火箭炮,并且最大化出口速度。
关键词:塑料管、真空吸尘器、最大化、出口速度二、实验原理及初步试验该实验实质上是利用了大气压强差来对管内物体加速,当管内气体被抽出后,管内气压小于外界气压,密封端被打开后物体便会在压强差的作用下加速前进。
如图一所示:试验中的测速我们采用物体长度除以经过光电门时间的方法来进行速度的计算。
光电门由32单片机制作,精度为微秒级别。
二、理论分析模型一:认为物体与管道完美契合,不考虑能量损耗。
假设在水平放置的装置中抛射物质量为m,横截面积为A,空气密度为。
抛射物初始位置为X=0.且靠近小球一段的封口处内外压强差一直为,运动时抛射物和其后方的空气柱一起加速。
由动量定理可得:对该方程进行求解可得出口速度表达式:由理想表达式可以看出物体质量、横截面积、管长、初始压强差均对出口速度均有影响。
可对这些因素的影响进行单一变量实验分析。
三、实验&数据分析实验一:物体质量与速度的关系该部分实验在其它条件不变的情况下,通过改变物体质量来探究物体质量与出口速度的关系。
cm 面积:1541 mm^2炮弹长:88.20mm 管长:183mm重量/g 20.9 33.35 49.95 66.55 83.15 103.9时间/ms 2.4 2.9 3.5 3.6 3.7 3.7时间/ms 2.4 3.0 3.5 3.7 3.7 3.7时间/ms 2.4 3.2 3.5 3.7 3.7 3.8平均 2.40 3.03 3.50 3.67 3.70 3.73速度m/s 36.75 28.92 25.2 24.03 23.83 23.65得出结论:相同情况下,物体质量越小,出口速度越大实验二:物体面积与速度的关系该部分实验是在其它情况不变的情况才,通过改变物体受力面积来探究物体面积与出口速度的关系。
CUPT乒乓球实验报告

3.乒乓球第一次弹起旳最大高度与所装液体黏度之 间旳关系;
数据如下表所示:
• 洗洁 精与
水旳 0:5 1:4 2:3 3:2 4:1 5:0 体积 比
第一次弹
起高度
40
51
55
51 41.6 42.3
• 数据分析:
由表格数据能够看出伴随小球内液体黏
度旳增长在 2:3时到达一种极大值。
原因分析 :看以由试验现象得出小球旳晃
动伴随浓度旳增大而越来越剧烈。
• 小球注入粘度大旳液体(这里我们注入旳是洗涤精) 与水(粘度较小旳液体)旳情况是不相同旳,当小球 注入粘度大旳洗洁精在撞地时,因为粘度较大它很可 能黏在球壁上,液体会沿着球壁运动就会给一种沿乒 乓球表面切向方向旳力,这么球便会自旋,也就是液 体旳部分能量转为球旳自旋动能。我们从试验中能够 看出球再次接触到地面旳时候会不久旳滚动迈进(自 旋小球与地面接触时,受地面一种水平方向旳摩擦 力),所以小球旳部分能量会传给小球自旋旳动能 Ek1,而且黏度大旳液体会减弱水旳振动,降低振动 引起旳能量损失Ek2。这两部分旳能量旳差值共同影 响球旳能量,所以球旳高度会伴随黏度旳不同而变化, 能够得出当我们注入一定百分比旳水与洗洁精时,它 有一种弹起最大高度,也就是在2:3、3:2之间有一种 合适旳黏度,使球旳两部分能量差值到达一种最小值 不轻易使球能够弹得比较高。
跳动着旳小球
• 试验目旳 1 探究小球谈起旳高度和球内所 装液体体积旳关系;
2 探究小球弹起旳高度和球内所 装液体旳浓度旳关系;
3 探究液体体积和浓度对小球弹 起高度影响旳原因。
• 试验假设 乒乓球弹起旳高度与球内所装旳液体
旳体积和黏度有关。
乒乓球实验报告

实验报告1.设计任务要求,实现功能的描述。
两人乒乓游戏机是用8个发光二极管代表乒乓球台,,用发光二极管的移动来代表球的移动。
在游戏机的两侧各设一个开关,用来控制发球和击球。
两人按照比赛规则来按动开关。
当甲方按动开关,甲方的第一盏灯亮,然后发光二极管依次由甲向乙移动。
代表球的移动。
当球过网后到达乙方的倒数第二盏灯时,乙方可击球。
若乙方提前或是没有击中球,则甲方的记分牌自动加分。
然后重新发球,比赛继续进行。
一直进行到有一方的记分牌到达11分,该局结束。
胜方的局数加1。
重新开始一局。
2.设计思路和总体框图.首先,设置了一个可枚举类型的参量,用来控制整个过程。
其中包括未发球时的等待状态,灯顺序点亮的状态,因为灯亮的顺序有两个,一个是向甲方,一个是向乙方。
所以,相应的状态设了两个。
在此参量的控制下,整个程序实现其基本功能。
在各个状态时,实现灯的点亮和判断是否有键按下,再判断是否加分,是否加局数,是否清零。
状态转移图:3.分块电路设计(1)分频与防抖动设计了该程序中需要用到的所有时钟。
注意的是按键的扫描周期一定要高于灯亮的周期。
由于实验中有按键,加了防抖动的程序。
此程序是书中有的。
(2)状态的描述。
根据可枚举型的参变量作为敏感信号。
根据他的变化决定灯的走向和判断是否有键按下。
(3)状态的输出根据状态描述的状态决定灯的亮否,以及设计了一个标志信号f,用它来判断是否满足加分的条件。
因为数码管显示的是两位的数,用一个内嵌循环来计数。
(4)显示控制和译码输出利用片选信号决定选通哪一个数码管。
并且,给共阴极七段数码赋值显示数字。
4.总体电路图(图形法)5.仿真波形6.源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity pingpang isport(clk,sa,sb:in std_logic;ball: buffer std_logic_vector(0 to 7);score:out std_logic_vector(0 to 6);con:buffer std_logic_vector(0 to 3));end pingpang;architecture tennis of pingpang issignal clk1 : std_logic;signal tmp1: integer range 0 to 100000;signal clk2 : std_logic;signal tmp2: integer range 0 to 24;signal flag: std_logic;type states is(s0,s1,s2,s3,s4,s5,s6);signal state:states;signal stop,s,ql:std_logic;signal scorea1,scorea2,scoreb1,scoreb2:std_logic_vector(0 to 3); signal dd:integer range 0 to 100;beginp1:process (clk)beginif(clk'event and clk='1')thenif(tmp1=100000) thentmp1<=0;clk1<=not clk1;elsetmp1<=tmp1+1;end if ;end if ;end process p1;p2:process (clk1)beginif(clk1'event and clk1='1')thenif(tmp2=24) thentmp2<=0;clk2<=not clk2;elsetmp2<=tmp2+1;end if ;end if ;end process p2;p3:process(clk2)variable ballvar:integer range 0 to 9; beginif(clk2'event and clk2='1')thenif(stop='1') thenif(flag='0') thenif (ballvar<8)thenballvar:=ballvar+1;else ballvar:=0;end if ;elseif(ballvar>1)thenballvar:=ballvar-1;else ballvar:=9;end if;end if;elseballvar:=0;end if;case ballvar iswhen 1=>ball<="10000000";when 2=>ball<="01000000";when 3=>ball<="00100000";when 4=>ball<="00010000";when 5=>ball<="00001000";when 6=>ball<="00000100";when 7=>ball<="00000010";when 8=>ball<="00000001";when others=>ball<="00000000";end case;end if;end process p3;p4:process(clk1)beginif(clk1'event and clk1='1')thencase state iswhen s0=>stop<='0';if(ql='1')thenscorea1<="0000";scorea2<="0000";scoreb1<="0000";scoreb2<="0000";ql<='0';elseif(dd=100)thendd<=0;if (sa='1' and sb='0')thenstate<=s1;elsif(sa='0' and sb='1') thenstate<=s4;else state<=s0;end if;else dd<=dd+1;end if;end if;when s1=>stop<='1';if (sa='1' and sb='0')thenstate<=s1;end if;flag<='0';if(sa='0' and sb='1' ) thenstate<=s3;elsif(ball="00001000")thenstate<=s2;else state<=s1;end if;when s2=>stop<='1';flag<='0';if (sa='1' and sb='0' and ball/="00001000")then state<=s6;elsif(sa='0' and sb='1') thenstate<=s4;elsif(ball="00000000") thenstate<=s3;else state<=s2;end if;when s3=>stop<='0';if(scorea2="0001" and scorea1="0001")thenql<='1';elseql<='0';if(scorea1="1001")thenscorea2<=scorea2+1;scorea1<="0000";elsescorea1<=scorea1+1;end if;end if;state<=s0;when s4=>stop<='1';if (sa='0' and sb='1')thenstate<=s4;end if;flag<='1';if(sa='1' and sb='0') thenstate<=s6;elsif(ball="00010000") thenstate<=s5;else state<=s4;end if;when s5=>stop<='1';flag<='1';if (sa='0' and sb='1' and ball/="00010000")then state<=s3;elsif(sa='1' and sb='0') thenstate<=s1;elsif(ball="00000000") thenstate<=s6;else state<=s5;end if;when s6=>stop<='1';if(scoreb2="0001" and scoreb1="0001")thenql<='1';elseql<='0';if(scoreb1="1001")thenscoreb2<=scoreb2+1;scoreb1<="0000";elsescoreb1<=scoreb1+1;end if;end if;state<=s0;end case;end if;end process p4;p5:process(clk1)variable count:integer range 0 to 3; beginif(clk1'event and clk1='1')thenif(count<3)thencount:=count+1;else count:=0;end if;case count iswhen 0=>con<="0111";when 1=>con<="1011";when 2=>con<="1101";when 3=>con<="1110";end case;end if;end process p5;p6:process(con)variable s:std_logic_vector(0 to 3); beginif(con="0111")thens:=scorea1;elsif(con="1011")thens:=scorea2;elsif(con="1101")thens:=scoreb1;elsif(con="1110")thens:=scoreb2;end if;case s iswhen "0000"=>score<="1111110";--0 when "0001"=>score<="0110000";--1when "0010"=>score<="1101101";--2when "0011"=>score<="1111001";--3when "0100"=>score<="0110011";--4when "0101"=>score<="1011011";--5when "0110"=>score<="1011111";--6when "0111"=>score<="1110000";--7when "1000"=>score<="1111111";--8when "1001"=>score<="1111011";--9when others=>score<="0000000";end case;end process p6;end tennis;7.故障及问题分析(1)延时设置不正确,导致数码管无法正常显示,后来发现是把数码管相关的两个延时概念搞混了,把数码管本身的显示延时和数字刷新延时搞反了,导致数码管无法正常显示.(2)一开始没设置防抖程序,结果发现在某些特定的时刻波动开关就会造成程序不正常运行.后来在必要位置加上防抖程序才使程序基本正常运行,看来防抖很必要啊.(3)在最后验收的时候老师竟然发现了一个逻辑错误,哎,至今没发现原因及解决方案……8.总结和结论该次实验,使我对一些语句的执行有了更深的体会。
微机综合实践-模拟乒乓球比赛

一、实践环节任务与要求选题:模拟乒乓球比赛设备:单脉冲电路,可编程并行接口8255,可编程定时计数器8253,LED流水灯,七段数码管,开关等。
要求:1.利用实验仪上的单脉冲电路模拟参赛者击球,LED流水灯表示乒乓球移动,一方击球后,球立即向对方移动,一方失误则丢分,用数码管分别计分。
2.球移动速度用8253 芯片来定时;可通过拨动开关设定不同击球速度。
二、实验原理1.8253定时器选用方式0,实现定时功能。
两个七段数码管要实现连续显示,必须每隔5~10ms刷新一次,而灯移动速度为300~500ms。
设定定时周期为5ms,当计数停止,8253输出高电平时,分别显示比分的高位和低位。
经过一定数量的定时周期后,再进行灯移动的操作。
2.8255并行接口A口B口分别用来控制LED流水灯及数码管的显示,C 口则用于读入各开关状态及输出数码管片选信号。
3.单脉冲开关模拟击球,当8255读入脉冲信号为高电平时,通过判断灯当前移动方向和击球者,来确定灯下一次的移动方向。
4.LED流水灯表示乒乓球移动,灯每次移动应留有足够的时间给操作者拨动调速开关,或按下脉冲开关。
5.七段数码管与比赛同步显示比分,显示0~f相应的16进制控制数为0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x7b,0x71。
三、 硬件接线图280H288H+5V 2Mz 时钟脉冲四、程序框图out击球判断子函数:五、源程序程序源代码如下:(含注解)#include <stdio.h>#include <conio.h>#include <string.h>#include <iostream.h>#include "ApiEx.h"#pragma comment(lib,"ApiEx.lib") int pa=0x280;int pb=0x281;int pc=0x282;int pn1=0x283;int p0=0x288;int p1=0x289;int p2=0x28a;int pn2=0x28b;ints[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x7b,0x71}; // 0 1 2 3 4 5 6 7 8 9 a b c d e f void leddic(unsigned char &led, int f) //灯移动函数{int x=led;if(f==0) x=x/2; //若方向向右,灯向右移动一个else if(f==1) x=x*2; //若方向向左,灯向左移动一个else printf("Error!");led=x;}void speed(int &s) //球速控制,从8255C口读入开关状态,{ //若为高电平,调整速度为高速unsigned char data;int x,y,z;PortReadByte(pc,&data);x=data;y=data;z=data;x=x&4;y=y&0;z=z&1;if(x==0){{ if(y==0) s=200;}{ if(z==0) s=20; }else {{ if(y==0) s=100;}{ if(z==0) s=5; }}}void scorem(int m) //通过数码管显示比分{unsigned char data;data=s[m];PortWriteByte(pc,0x20); //选择数码管高位PortWriteByte(pa,data); //显示甲得分}void scoren(int n){unsigned char data;data=s[n];PortWriteByte(pc,0x10); //选择数码管低位PortWriteByte(pa,data); //显示乙得分}void start(unsigned char &led, int &f,int &s,int m,int n) //发球子函数{unsigned char data;int x;PortWriteByte(pn2,0x57); //8253计数器1初始化,低八位,方式3,控制字01010111B PortWriteByte(p1,0x10); //8253计数器1计数初值10for(;1<2;){speed(s);PortReadByte(pc,&data);x=data;x=x&1;if(x==1) //若甲发球,灯从左往右{led=0x80;f=0;break;}x=data;x=x&2;if(x==2) //若乙发球,灯从右往左{led=0x1;f=1;break;}x=data;x=x&8;if(x==1) //当8253输出为高电平时,显示甲得分{scorem(m);}else //当8253输出为低电平时,显示乙得分scoren(n);}}void out(unsigned char &led, int &f,int &m,int &n) //判断球是否出界,即选手得分{if(f==1) //球向左运动时{if(led==0x0) //球超出左边界{printf("乙得分!\n");n++;printf("比分:");printf("%d-%d",m,n);printf("\n\n");}}else //球向右运动时{if(led==0x0) //球超出右边界{printf("甲得分!\n");m++;printf("比分:");printf("%d-%d",m,n);printf("\n\n");}}if(((m==11)&&(m-n>=2))||((m>11)&&(m-n>=2))) //判断整局比赛的胜负{printf("此局甲获胜!重新计分!\n\n\n");m=n=0;}else if(((n==11)&&(n-m>=2))||((n>11)&&(n-m>=2))){printf("此局乙获胜!重新计分!\n\n\n");m=n=0;}}void attack(unsigned char &led,int &s, int &f,int &m,int &n) //击球子函数{unsigned char data;int x,y;STA:printf("请发球!\n");start(led,f,s,m,n);PortWriteByte(pn2,0x51); //8253计数器1初始化,低八位,方式0,控制字01010001B Red:PortWriteByte(pb,led);for(int i=1;i<=s;i++){PortWriteByte(p1,5); //8253计数器1计数初值5Goo:PortReadByte(pc,&data);x=data;y=data;y=y&8;if(y==0) goto Goo; //当8253未输出高电平时,继续读入if(i%2==1)scorem(m);else scoren(n);if(f==1) //球向左运动{x=x&1;if((x==1)&&(led>=0x10)) //球靠近甲且甲击球{f=0; //调整球的运动方向为向右}}else //球向右运动{x=data;x=x&2;if((x==2)&&(led<=0x8)) //球靠近乙且乙击球{f=1; //调整球的运动方向为向左}}}leddic(led,f);out(led,f,m,n);if(led==0x0){PortWriteByte(pb,led);goto STA;}goto Red;}void main(){unsigned char led;int f=1,s=0; //f为灯移动方向,默认向右;s为灯移动速度int m=0,n=0; //m为甲得分,n为乙得分Startup(); //打开设备PortWriteByte(pn1,0x81); //8255初始化,A口B口输出,//C口高位输出,低位输入,控制字10000001B PortWriteByte(pn2,0x27); //8253计数器0初始化,高八位,方式3,控制字00100111B PortWriteByte(p0,0x20); //8253计数器0计数初值2000attack(led,s,f,m,n); //调用击球子函数Cleanup(); //关闭设备}六、结论实现了能够计分、同步显示比分的模拟乒乓球比赛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
此课件下载可自行编辑修改,供参考! 感谢你的支持,我们会努力做得更好!
CUPT乒乓球实验报告
• 小球注入粘度大的液体(这里我们注入的是洗涤精) 与水(粘度较小的液体)的情况是不相同的,当小球 注入粘度大的洗洁精在撞地时,由于粘度较大它很可 能黏在球壁上,液体会沿着球壁运动就会给一个沿乒 乓球表面切向方向的力,这样球便会自旋,也就是液 体的部分能量转为球的自旋动能。我们从实验中可以 看出球再次接触到地面的时候会很快的滚动前进(自 旋小球与地面接触时,受地面一个水平方向的摩擦 力),所以小球的部分能量会传给小球自旋的动能 Ek1,而且黏度大的液体会减弱水的振动,减少振动 引起的能量损失Ek2。这两部分的能量的差值共同影 响球的能量,所以球的高度会随着黏度的不同而改变, 可以得出当我们注入一定比例的水与洗洁精时,它有 一个弹起最大高度,也就是在2:3、3:2之间有一个合 适的黏度,使球的两部分能量差值达到一个最小值不 容易使球可以弹得比较高。
跳动着的小球
CUPT乒乓球实验报告
• 实验目的 1 探究小球谈起的高度和球内所 装液体体积的关系; 2 探究小球弹起的高度和球内所 装液体的浓度的关系; 3 探究液体体积和浓度对小球弹 起高度影响的原因。
CUPT乒乓球实验报告
• 实验假设 乒乓球弹起的高度与球内所装的液体
的体积和黏度有关。 • V球=33.5ml;M球=2.738g
CUPT乒乓球实验报告
时,在球撞击地的时候,由于小球的壳有一个由扩张 到收缩而引起的振动,并且水有一个动能和势能相互 交换而引起的振动,所以这两部分振动会消耗一部分 整个小球的能量,而且在球升起的时候,水的部分动 能会转化为中央水柱的势能,但是,在水柱最高的时 候,也不会触及球顶。因此,随着水体积的增加,振 动消耗的能量会越来越大,水柱也会逐渐的升高,当 水的V= 16.75ml的时候,振动消耗的能量会达到一个 最大值,并且水柱刚好和球顶接触,此时,球的第一 次弹起来的高度有一个极小值;当V> 16.75ml时,振 动消耗的能量会慢慢减小,所以乒乓球会持续上升。 同样,随着水体积的增加,振动消耗的能量会越来越 少,因此乒乓球的高度越来越high,直到乒乓球内充满 水,这时水的高度将达到最大值。
CUPT乒乓球实验报告
CUPT乒乓球实验报告
数据分析: 由图表可以看出随着水体积的增加,
乒乓球第一次弹起的高度以先减小,后 增大趋势进行的,如果把水的量细分的 话,那么图像将呈“对号”的形状。 而且可以看出图像的最低点大约在小球 体积一半的位置处,即16.75ml处。 ★理论分析:当球内装的液体V<16.75ml
高的位置。所以,液体体积对球的影响,不 仅仅是只作用于第一次弹起来的高度,而且 在以后的最大高度都会相似的影响。 ☆ 不同体积的液体对第N次最大高度的影响不 同。随着次数的增多,三个小球的第N次高 度的差距是减小的。
CUPT乒乓球实验报告
二、乒乓球第一次弹起的最大高度与所装液体黏 度之间的关系:
﹡确定乒乓球内液体的体积为5ml,分别配置洗 洁精与水体积比为0:5、1:4、2:3、3:2、4:1、 5:0六种不同黏度的液体。
﹡分别取上述不同黏度的液体5ml注于六个相同 的乒乓球内
﹡将这六个小球分别于高于地面100cm处释放, 用录像机记录下他们的运动过程
﹡在录制的视频中找出它们的第一次最高点,记 录数据。
CUPT乒乓球实验报告
3.乒乓球第一次弹起的最大高度与所装液体黏度之 间的关系;
数据如下表所示:
洗洁精与
水的体积
0:5
1:4
2:3
3:2
4:1
5:0
比
第一次弹
起高度
40
51
55
51 41.6 42.3
CUPT乒乓球实验报告
• 数据分析: 由表格数据可以看出随着小球内液体黏 度的增加,小球第一次弹起的最大高度 总体趋势是先增大,后减小的。并且在 2:3时达到一个极大值。
原因分析 :看以由实验现象得出小球的晃
动随着浓度的增大而越来越剧烈。
CUPT乒乓球实验报告
• 实验器材 照相机、乒乓球、水、洗洁精、注射器、 米尺、胶水
实验装置图:
CUPT乒乓球实验报告
一、乒乓球第N次弹起的最大高度与所装水的体 积的关系:
﹡分别准备含水体积为2.7、5、10、20、22.5、 25、27.5、30、full(ml)的9个乒乓球和一 个空球
﹡将这九个球分别于高于地面100cm处释放,用 录像机记录下他们的运动过程
﹡在录制的视频中找出它们的第N次最高点,记 录数据。
CUPT乒乓球实验报告
• 实验数据处理与分析
1.乒乓球第一次弹起的高度与所装水的体积的关系 如下表所示
水体 积ml2.7ຫໍສະໝຸດ 51020
22. 5
25
27. 5
30
full
空 球
高度 /cm
39
35
14
10
20
25
35
55
65
70
将上表格中的数据在坐标纸上描绘出来如下图所示
CUPT乒乓球实验报告
2.球内装不同体积(V>16.75ml)的液体 对球弹起高度的影响
数据如下表所示
第N次
1
2
3
4
5
体积
27.5ml 53
16
6
30.0ml 55
22
13
8
4
Full (满水)
62
33
20
9
5
CUPT乒乓球实验报告
• 绘制的图表如下:
CUPT乒乓球实验报告
数据分析: 有图表可以看出: ☆ 在同一N次时,含水体积多的球处于一个较