水泵调速c语言实验程序,C语言实验最原始.doc

《C语言程序设计》实验报告

三亚学院理工分院

学号

1310750029

姓名:

边春晖

专业

软件1301

实验时间

2014年5 月23 日

节次

实验室名称

设备号

实验内容:

编写程序将一个十进制数值转化为二进制数值输出。

2、 输入一列数值,将他们原样输出,然后排序后由小到大输出,输出最大值最小值以及它们的平均值

实验目的:

掌握函数的定义及调用

掌握数组作为函数的参数

(一)实验题目:编写程序将一个十进制数值转化为二进制数值输出。

一、问题分析与设计:

将进制转化和输入模块单独作为俩个函数,主函数通过调用实现目的。

改程序中除了主函数还有input()输入函数模块和进制转化模块system()模块。通过参数的调用将各个函数联系起来使用。

主函数及输出

主函数及输出

函数的输入函数进制的转化

函数的输入

函数进制的转化

开始二、算法描述:

开始

结束system()Input() 程序流程图

结束

system()

Input()

输出

输出

三、程序代码:

#include

void system(int g,int sd[32]);

int input(int s);

int t;

void main()

{

int i,s,sd[32];//s保管输入的初始值

s=input(s);//调用输入函数

system(s,sd);//调用进制转化模块

for(i=0;i

{

printf("%d",sd[i]);

}

printf("\n");

}

void system(int g,int sd[32])//进制转换函数模块

{

int i=0,j,num;//num零时储存数值

while(g>=2)

{

sd[i]=g%2;

g=g/2;

i++;

}

sd[i]=g;

t=i+1;

for(i=0,j=t-1;i

{

num=sd[i];

sd[i]=sd[j];

sd[j]=num;

}

}

int input(int s)//函数输入模块

{

printf("请输入一个数值");

scanf("%d",&s);

return s;

}

四、实验结果及分析

调试程序

无错误。

2.测试程序

第一组测试数据:55.实验结果如下:

(二)、实验题目:输入一列数值,将他们原样输出,然后排序后由小到大输出,输出最大值最小值以及它们的平均值

一、问题分析与设计:

输入一列数值,将他们排序输出,并判断出最大值最小值将其输出,然后求出各自的平均值。程序中除了主函数还有输入输出子函数判断大小以及求平均值。

主函数

主函数

最大值最小值函数输出计算平均值排序输入函数

最大值最小值

函数输出

计算平均值

排序

输入函数

二、算法描述:

开始

开始

程序流程图

I

Input()

output(

output();

judge(

judge();

output(

output();

maxmin(

maxmin();

average(

average();

结束

结束

三、程序代码:

#include

#define oo 5

void input(int sd[100]);

void output(int sd[100]);

void judge(int sd[100]);

void maxmin(int sd[100]);

void average(int sd[100]);

int t;

void main() //主函数部分

{

int sd[100];

input(sd);

output(sd);

judge(sd);

output(sd);

maxmin(sd);

average(sd);

} //主函数终止

void input(int sd[100]) //函数的输入模块

{

int i;

printf("请输入一组数字");

for(i=0;i

scanf("%d",&sd[i]);

} //函数的输入模块结束

void output(int sd[100]) //函数的输出模块

{

int

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用OneNet云平台通过PWM调速水泵程序: 1. 首先,需要连接OneNet云平台和水泵控制器。这可以通过使用ESP8266或其他Wi-Fi模块实现。在此假设已经完成了此步骤。 2. 在OneNet云平台上创建一个新的设备,并为其分配一个设备ID和设备API Key。 3. 在设备中创建一个名为“pwm”的数据流,并将其类型设置为“数值”。 4. 在水泵控制器中编写程序,以便它可以从OneNet云平台接收数据并相应地控制PWM信号。下面是一个示例程序: ``` #include <ESP8266WiFi.h> #include <OneNet.h> #define PWM_PIN D1 const char* ssid = "your_wifi_ssid"; const char* password = "your_wifi_password"; const char* oneNetServer = "api.heclouds.com"; const char* oneNetApiKey = "your_device_api_key"; const char* oneNetDeviceId = "your_device_id"; WiFiClient client; OneNet oneNet(oneNetServer, oneNetApiKey, oneNetDeviceId); void setup() { pinMode(PWM_PIN, OUTPUT); analogWrite(PWM_PIN, 0); Serial.begin(9600); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); } void loop() { if (WiFi.status() == WL_CONNECTED && oneNet.isConnect() == false) { oneNet.connect(client); } if (oneNet.isConnect()) { float duty = oneNet.getDatapointFloat("pwm"); analogWrite(PWM_PIN, (int)(duty * 1023)); } delay(100); } ``` 5. 在OneNet云平台上创建一个名为“pwm”的数据流,并将其类型设置为“数值”。 6. 在OneNet云平台上创建一个名为“pwm”的数据点,并设置其值为0-1之间的实数,以控制PWM信号的占空比。 7. 在OneNet云平台上创建一个名为“pwm”的数据触发器,并将其条件设置为“数值大于等于0且小于等于1”。 8. 现在,可以通过更改OneNet云平台上的“pwm”数据点的值来控制水泵的PWM信号。程序将从OneNet云平台接收数据并相应地控制PWM信号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值