C++实验6

合集下载

实验6 PWM配置及步进电机控制

实验6 PWM配置及步进电机控制

实验6 PWM配置及步进电机控制1.实验目的熟悉ePWM模块的各个寄存器,学会如何通过程序语言配置ePWM的各种属性并产生PWM波形,以及通过产生PWM信号控制步进电机。

2.实验主要内容(1)在CCS软件中,用C语言编写程序配置ePWM的各种属性并产生PWM波。

并控制步进电机的转速、方向和步距角。

3.实验基本原理(1)ePWM模块ePWM是增强型脉冲宽度调制器,其中每个完整的PWM通道都是由两个PWM输出组成,即ePWMxA和 ePWMxB。

ePWM模块主要包含以下7部分:时间基准子模块;计数比较子模块;动作限定子模块;死区控制子模块;PWM斩波子模块;错误区域控制子模块和事件触发子模块。

每个ePWM模块都是由7个子模块组成,并且系统内通过信号进行连接,如图:ePWM模块的主要信号模块如下:PWM输出信号(ePWMxA和ePWMxB)、错误区域信号(TZ1-TZ6)、时间基准同步输入和输出信号、ADC启动信号和外设总线。

(2)步进电机原理4.实验过程和关键程序解读(1)打开stepMotor实验的工程(2)阅读EPWM配置的代码,本工程内对pwm的配置主要在InitEPwm1Example()和InitEPwm2Example函数中,如图:配置的主要属性有,计数方式CTRMODE、计数总周期TBPRD,两个时钟分频HSPCLKDIV、CLKDIV,两个比较值CMPA和CMPB,以及到达0位、周期和加减达到比较值后两个通道所做的操作ZRO、PRD、CAU、CBU、CAD、CBD。

(3)修改主程序,使得能够完成实验要求i.开启cputimer中断,为在定时器中完成以两秒为周期更改速度做铺垫ii.编写中断服务函数基本框架,使得每两秒能做不同的操作。

这里以开灯灭灯为操作,便于观察。

iii.在中断服务函数中对EPwm进行修改,实现调速与转向Else分支中和初始化是一样的配置,主要的修改在if分支中:在初始化时,EPwm的计数方式为增减计数,A通道的操作是增计数达到比较值后清零,达到零位时置位,B通道的操作是减计数达到比较值后清零,达到周期时置位。

实验报告

实验报告

实验目的熟练地使用C编译软件编辑、编译、连接和运行程序实验内容实验1:用if语句写程序判断是否为闰年。

实验:2:用if语句输出分段函数实验3:给一个不多于3位的正整数,要❑求出它是几位数;❑分别输出每一位数字❑按新逆序输出各位数字,例如原数为321,应输出123。

实验4:定义取最大值函数实验5:通过修改已知函数的参数加深对函数参数的理解实验6:分别用if语句和switch语句实现如下程序:❑从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。

90-99为A级,80-89为B级,70-79为C级,60-69为D级,0-59为E级。

算法、流程图及主要符号说明无完整的程序清单实验1#include<stdio.h>#include<math.h>void main(){int a;printf("请输入年份\n");scanf("%d",&a);if (a%400==0)printf ("你输入的年份是闰年\n");else if (a%4==0 && a%100!=0)printf ("你输入的年份是闰年\n");elseprintf ("你输入的年份不是闰年\n");}实验2#include<stdio.h>#include<math.h>void main(){double x,y;printf("请输入x的值\n");scanf("%lf",&x);if (x<1)printf("y=%lf",y=x);else if (x>=10)printf("y=%lf",y=-3*x-11);elseprintf("y=%lf",y=2*x-1);}实验3#include<stdio.h>#include<math.h>void main(){int x,m,n,h;printf("请输入一个正整数\n");scanf("%d",&x);if (x>9)printf("位数是2位\n");else {printf("位数是1位\n");}m=(x/10);n=(x%10);printf("该数的十位是%d,个位是%d\n",m,n);h=n*10+m;printf("该数的逆序数%d\n",h);}实验4#include<stdio.h>#include<math.h>double tmax (double a,double b ,double c){double tmax;if (a > b)tmax = a;elsetmax = b;if (c > tmax) tmax = c;return tmax;}void main(){double x,y,z;printf("请输入三个数\n");scanf("%lf,%lf,%lf",&x,&y,&z);printf("三者的最大值是%.2f\n", tmax (x,y,z) );}实验5,首先先把之前的程序清单写下#include<stdio.h>#include<math.h>void c_area(double a,double b,double c,double d,double e){double s=(a+b+c+d)/2.;printf("a=%lf,b=%lf,c=%lf,d=%lf,e=%lf\nc_area=%lf\n",a,b,c,d,e,sqrt((s-a)*(s-b)*(s-c)*(s-d)-a*b*c*d*cos(e/2*3.14/360)*cos(e /2*3.14/360)));}int main(){c_area(3,4,5,5,145);return 0;}综合分析调试我遇到几个问题一:输入数据类型错误导致无法运行。

维生素c测定实验报告

维生素c测定实验报告

维生素c测定实验报告维生素C测定实验报告。

实验目的:本实验旨在通过分光光度法测定果汁中维生素C的含量,了解维生素C的性质和测定方法。

实验原理:维生素C是一种易氧化的物质,可以被2,6-二氨基苯酚(DPIP)还原成无色的化合物。

当果汁中含有维生素C时,它会与DPIP发生反应,使DPIP的颜色由蓝色逐渐变为无色。

通过测定果汁中DPIP的消耗量,可以计算出果汁中维生素C的含量。

实验步骤:1. 将一定量的果汁样品加入试管中;2. 加入适量的DPIP试剂,混合均匀;3. 用分光光度计在特定波长下测定溶液的吸光度;4. 根据标准曲线计算出果汁中维生素C的含量。

实验结果:经过实验测定,我们得出果汁中维生素C的含量为XXmg/100ml。

实验分析:通过本次实验,我们了解到分光光度法是一种简便、快速、准确的测定方法,适用于测定果汁、蔬菜等食品中维生素C的含量。

同时,我们也发现果汁中维生素C的含量受到多种因素的影响,如果汁的种类、保存方式等。

实验总结:本次实验通过分光光度法成功测定了果汁中维生素C的含量,进一步加深了我们对维生素C的认识。

在今后的实验中,我们将继续学习和探索更多关于维生素C的知识,不断提高实验技能和分析能力。

实验注意事项:1. 实验过程中要注意操作规范,避免试剂的飞溅和溅洒;2. 实验结束后要及时清洗实验器材,保持实验台面的整洁;3. 实验中要注意安全,避免接触有毒有害物质。

维生素C在日常生活中扮演着重要的角色,它不仅是一种营养物质,还具有抗氧化、美白肌肤等功效。

通过本次实验,我们对维生素C有了更深入的了解,相信在今后的学习和生活中,我们会更加珍惜并正确利用维生素C的重要性。

c语言上机实验题及参考答案

c语言上机实验题及参考答案
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}

维生素c含量实验报告

维生素c含量实验报告

维生素c含量实验报告
维生素C含量实验报告
摘要:本实验旨在通过测定不同水果中维生素C的含量,比较其含量差异,从
而了解不同水果对人体健康的营养贡献。

实验结果表明,柠檬的维生素C含量
最高,而苹果的含量最低。

引言:维生素C是一种重要的营养物质,对人体健康有着重要的作用。

它不仅
可以增强免疫力,还可以促进铁的吸收,预防坏血病等疾病。

因此,了解不同
食物中维生素C的含量对我们选择健康食品具有重要意义。

实验方法:本实验选取了柠檬、橙子、苹果、草莓和西红柿五种常见水果,通
过化学方法测定其维生素C的含量。

首先,将每种水果分别制成汁液,然后用
碘酸钾溶液滴定,根据滴定消耗的溶液体积计算出维生素C的含量。

实验结果:经过实验测定,柠檬的维生素C含量为56mg/100g,橙子为
45mg/100g,苹果为20mg/100g,草莓为30mg/100g,西红柿为25mg/100g。

讨论:通过实验结果可以看出,柠檬的维生素C含量最高,而苹果的含量最低。

这与我们日常的饮食习惯相符,柠檬和橙子常被认为是维生素C的良好来源,
而苹果的维生素C含量相对较低。

因此,在日常饮食中,应该多食用富含维生
素C的水果,以满足人体对维生素C的需求。

结论:本实验通过测定不同水果中维生素C的含量,发现柠檬的含量最高,苹
果的含量最低。

这些结果对我们选择健康食品和合理膳食具有一定的指导意义。

希望通过这个实验,能够增强大家对维生素C的重要性的认识,引导大家养成
良好的饮食习惯。

维生素C的测定——2,6一二氯靛酚滴定法

维生素C的测定——2,6一二氯靛酚滴定法

实验六、维生素C的测定——2,6一二氯靛酚滴定法(1)原理还原型抗坏血酸可以还原染料2,6一二氯靛酚。

该染料在酸性溶液中是粉红色(在中性或碱性溶液中呈蓝色),被还原后颜色消失;还原型抗坏血酸还原染料后,本身被氧化成脱氢抗坏血酸。

在没有杂质干扰时,一定量的样品提取液还原标准染料液的量,与样品中抗坏血酸含量成正比。

(2)试剂①1%草酸溶液(m/V)②2%草酸溶液(m/V)③抗坏血酸标准溶液准确称取20mg抗坏血酸,溶于1%草酸溶液,并稀释至100ml,置冰箱中保存。

用时取出5ml,置于50ml容量瓶中,用1%草酸溶液定容,配成0.02mg/ml 的标准使用液。

标定吸取标准使用液 5ml于三角瓶中,加入6%碘化钾溶液 0.5ml、1%淀粉溶液 3滴,以 0.001mol/L碘酸钾标准溶液滴定,终点为淡蓝色。

计算 c=088.021VV式中 c——抗坏血酸标准溶液的浓度,mg/ml;V1—一滴定时消耗0.001mol/L碘酸钾标准溶液的体积,ml;V2—一滴定时所取抗坏血酸的体积,ml;0.088—一1ml 0.001mol/L碘酸钾标准溶液相当于抗坏血酸的量,mg/ml④2,6-二氯靛酚溶液称取 2,6-二氯靛酚50mg,溶于200ml 含有 52mg碳酸氢钠的热水中,待冷,置于冰箱中过夜。

次日过滤于 250ml棕色容量瓶中,定容,在冰箱中保存。

每星期标定一次。

标定取 5ml已知浓度的抗坏血酸标准溶液,加入1%草酸溶液 5rnl,摇匀,用 2,6-二氯靛酚溶液滴定至溶液呈粉红色,在15s不褪色为终点。

计算:T=21V Vc式中 T—一每毫升染料溶液相当于抗坏血酸的毫克数,mg/ml;c—一抗坏血酸的浓度,mg/ml;V1-一抗坏血酸标准溶液的体积,ml;V2——消耗2,6-二氯靛酚的体积,ml。

⑤ 0.000167mol/L碘酸钾标准溶液精确称取干燥的碘酸钾0.3567g,用水稀释至100ml,取出 lml,用水稀释至100ml,此溶液 lml相当于抗坏血酸 0.088mg。

维生素c小实验报告

维生素c小实验报告

维生素c小实验报告
维生素C小实验报告
维生素C,也称为抗坏血酸,是一种对人体健康非常重要的营养素。

它可以帮助身体对抗自由基,增强免疫系统,促进铁的吸收等。

为了更深入地了解维生素C的作用,我们进行了一项小实验。

实验的目的是观察不同水果中维生素C的含量,并比较它们的差异。

我们选择了柠檬、橙子和草莓这三种常见的水果进行实验。

首先,我们将每种水果分别榨成汁,然后用一种叫做碘化钾的化学试剂进行检测。

碘化钾可以与维生素C 发生化学反应,从而变成淡黄色。

在实验中,我们发现柠檬汁中的维生素C含量最高,其次是橙子汁,草莓汁中的维生素C含量最低。

这个结果与我们的预期相符,因为柠檬和橙子都是富含维生素C的柑橘类水果,而草莓的维生素C含量相对较低。

通过这个小实验,我们更加深入地了解了不同水果中维生素C的含量差异。

同时,也让我们意识到了维生素C的重要性,鼓励我们多吃富含维生素C的水果和蔬菜,保持身体健康。

维生素C小实验报告到此结束。

通过这个实验,我们对维生素C有了更深入的了解,也让我们更加重视维生素C的摄入。

希望通过这篇报告,能够让更多的人关注维生素C的重要性,从而更好地保护自己的健康。

维生素C含量的测定

维生素C含量的测定

Cl |
O
HO —
| Cl

N


| H 还原型2.6-二氯酚靛酚
(无色)
OH
三、操作步骤
1. 样品提取
5g 新鲜蔬菜
为什么?
快速匀浆?
少量 2%草酸
充分研磨成匀浆
石英砂
用2% 草酸洗入容量瓶, 并定容至100 mL
干燥滤纸过滤
2.染料标定及样品中Vc测定
取5个50 mL干燥洁净的三角瓶,编号,按下表操作:
试剂(ml) 2%草酸 空白 10 染料 染料标 样品 标定1 定2 测定1 0 0 0 样品 测定2 0
标准Vc 样品提取液 2, 6-D滴定值
0 0 y1
10 0 V
10 0
0 10 y0
0 10
四、结果计算抗坏血酸含量 (m Nhomakorabea/100g 鲜重) =
从上述标定求出
(y0-y1)×A
100
× × 100
还原2,6-D, 改用8%醋酸溶液提取,Fe2+不会很快与染料 起作用。 3.维生素C提取时要避光、避免与铜铁接触,以免Vc氧化。
4. 样品提取液定容时若泡沫太多,可加几滴乙醚或辛
酸、丁醇消除泡沫后再定容。
5. 当样品本身带有颜色时,可以用白陶土脱色。
6. 滴定时间一般不超过2分钟,滴定终点以淡红色存
样品重(g)
10

y1---滴定空白所用染料ml数


y0---滴定样品所用染料ml数
A---1mL染料溶液相当的抗坏血酸的mg数
五、注意事项
1. Vc不稳定,在空气中易被氧化,研磨时,尽可能要快,
以减少Vc的氧化。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告六
课程《程序设计2》实验名称多态性:虚函数、抽象类第 * 页
专业数学学院班级学号姓名
实验日期:2015 年 4 月 28 日报告退发 (订正、重做)
一、实验目的
1. 理解什么是静态绑定、动态绑定。

2. 理解动态绑定:即虚函数的概念。

3. 掌握动态绑定程序设计的方法与步骤:声明基类中的非静态成员函数原
型为虚函数或纯虚函数;派生类继承方式声明为公有;派生类重新定义其函数实现,即函数体的覆盖;应用程序中要声明基类指针变量;派生类对象指针或引用传递给基类指针变量或引用;由基类指针变量决定调用派生类的非静态成员函数,实现动态绑定。

4. 掌握上述使用虚函数的前提条件和编程方法,区分与类型兼容原则编程
的异同。

二、实验内容
(描述实验任务)
(一)请编写一个抽象类Shape,在此基础上派生出类Rectangle和Circle,二者都有计算对象面积的函数GetArea()、计算对象周长
的函数GetPerim()。

三、实验环境
(描述实验的软件、硬件环境)
硬件环璄:PC机或局域网;软件环璄:Windows操作系统,VC++2008
四、实验步骤
(描述实验步骤及中间的结果或现象。

在实验中做了什么事情,怎么做的,发生的现象和中间结果)
实验步骤;//rectangle.h
#pragma once
#include"shape.h"
class rectangle:public shape
{
private:
double width,height;
public:
rectangle(void);
rectangle(double w,double h):width(w),height(h){}
virtual double GetArea() const {return width*height;}
virtual double GetPerim() const {return 2*(width+height);}
~rectangle(void);
//rectangle.cpp
#include"StdAfx.h"
#include"rectangle.h"
rectangle::rectangle(void)
{
}
rectangle::~rectangle(void)
{
}
//circle .h
#pragma once
#include"shape.h"
class circle :
public shape
{private:double radius;
public:
circle(void);
circle(double r):radius(r){}
virtual double GetArea() const{return 3.14*radius*radius;} virtual double GetPerim() const {return 2*3.14*radius;} ~circle(void);
};
//circle .cpp
#include"StdAfx.h"
#include"circle.h"
circle::circle(void)
{
}
circle::~circle(void)
{
}
//shape.h
#pragma once
#ifndef SHAPE_H_
#define SHAPE_H_
#include<iostream>
using namespace std;
class shape
{
public:
shape(void);
virtual double GetArea() const=0;
virtual double GetPerim() const=0;
~shape(void);
};
#endif
//shape.cpp
#include"StdAfx.h"
#include"shape.h"
shape::shape(void)
{
}
shape::~shape(void)
{
}
//main
#include"stdafx.h"
#include"shape.h"
#include"circle.h"
#include"rectangle.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ double areas1,perim1,areas2,perim2;
circle c1(1);
rectangle r1(2,3);
shape *pt[2]={&c1,&r1};
areas1=pt[0]->GetArea();
perim1=pt[0]->GetPerim();
cout<<"the area of circle is="<<areas1<<endl;
cout<<"the perim of rectangle is="<<perim1<<endl;
areas2=pt[1]->GetArea();
perim2=pt[1]->GetPerim();
cout<<"the area of circle is="<<areas2<<endl;
cout<<"the perim of rectangle is="<<perim2<<endl;
return 0;
}
(一)};
五、实验结果与讨论
(描述最终得到的结果,并进行分析说明,可能的误差原因)
六、总结
(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决/需进一步研讨的问题或建议新实验方法等)
(一)总结;。

相关文档
最新文档