程序编程语言检测(51单片机c语言编程的温湿度检测控制程序)

本文目录
51单片机c语言编程的温湿度检测控制程序
/********************************************************************
*
文件名
:
温度采集DS18B20.c
*
描述
:
该文件实现了用温度传感器件DS18B20对温度的采集,并在数码管上显示出来。
*
创建人
:
东流,2009年4月10日
*
版本号
:
2.0
***********************************************************************/
#include《reg52.h》
#define
uchar
unsigned
char
#define
uint
unsigned
int
#define
jump_ROM
0xCC
#define
start
0x44
#define
read_EEROM
0xBE
sbit
DQ
=
P2^3;
//DS18B20数据口
unsigned
char
TMPH,TMPL;
uchar
code
table
=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/********************************************************************
*
名称
:
delay()
*
功能
:
延时,延时时间大概为140US。
*
输入
:
无
*
输出
:
无
***********************************************************************/
void
delay_1()
{
int
i,j;
for(i=0;
i《=10;
i++)
for(j=0;
j《=2;
j++)
;
}
/********************************************************************
*
名称
:
delay()
*
功能
:
延时函数
*
输入
:
无
*
输出
:
无
***********************************************************************/
void
delay(uint
N)
{
int
i;
for(i=0;
i《N;
i++)
;
}
/********************************************************************
*
名称
:
Delay_1ms()
*
功能
:
延时子程序,延时时间为
1ms
*
x
*
输入
:
x
(延时一毫秒的个数)
*
输出
:
无
***********************************************************************/
void
Delay_1ms(uint
i)//1ms延时
{
uchar
x,j;
for(j=0;j《i;j++)
for(x=0;x《=148;x++);
}
/********************************************************************
*
名称
:
Reset()
*
功能
:
复位DS18B20
*
输入
:
无
*
输出
:
无
***********************************************************************/
uchar
Reset(void)
{
uchar
deceive_ready;
DQ
=
0;
delay(29);
DQ
=
1;
delay(3);
deceive_ready
=
DQ;
delay(25);
return(deceive_ready);
}
/********************************************************************
*
名称
:
read_bit()
*
功能
:
从DS18B20读一个位值
*
输入
:
无
*
输出
:
从DS18B20读出的一个位值
***********************************************************************/
uchar
read_bit(void)
{
uchar
i;
DQ
=
0;
DQ
=
1;
for(i=0;
i《3;
i++);
return(DQ);
}
/********************************************************************
*
名称
:
write_bit()
*
功能
:
向DS18B20写一位
*
输入
:
bitval(要对DS18B20写入的位值)
*
输出
:
无
***********************************************************************/
void
write_bit(uchar
bitval)
{
DQ=0;if(bitval==1)
DQ=1;
delay(5);
DQ=1;
}
/********************************************************************
*
名称
:
read_byte()
*
功能
:
从DS18B20读一个字节
*
输入
:
无
*
输出
:
从DS18B20读到的值
***********************************************************************/
uchar
read_byte(void)
{
uchar
i,m,receive_data;
m
=
1;
receive_data
=
0;
for(i=0;
i《8;
i++)
{
if(read_bit())
{
receive_data
=
receive_data
+
(m
《《
i);
}
delay(6);
}
return(receive_data);
}
/********************************************************************
*
名称
:
write_byte()
*
功能
:
向DS18B20写一个字节
*
输入
:
val(要对DS18B20写入的命令值)
*
输出
:
无
***********************************************************************/
void
write_byte(uchar
val)
{
uchar
i,temp;
for(i=0;
i《8;
i++)
{
temp
=
val
》》
i;
temp
=
temp
&
0x01;
write_bit(temp);
delay(5);
}
}
/********************************************************************
*
名称
:
Main()
*
功能
:
主函数
*
输入
:
无
*
输出
:
无
***********************************************************************/
void
main()
{
float
tt;
uint
temp;
P2
=
0x00;
while(1)
{
Reset();
write_byte(jump_ROM);
write_byte(start);
Reset();
write_byte(jump_ROM);
write_byte(read_EEROM);
TMPL
=
read_byte();
TMPH
=
read_byte();
temp
=
TMPL
/
16
+
TMPH
*
16;
P0
=
table;
P2
=
6;
Delay_1ms(5);
P0
=
table;
P2
=
7;
Delay_1ms(5);
}
}
c语言编程 100以内的整数四则运算测试程序设计
完美!请看我的作品:
#include
《stdio.h》
#include
《time.h》
#include
《stdlib.h》
#include
《conio.h》
#define
N
10
typedef
struct
_ti
{
int
a,
b;
int
op;
int
result;
int
input;
int
rw;
}ti;
ti
timu;
int
fen;
int
flag;
int
mulu()
{
int
s;
while(1)
{
printf("\t\t欢迎进入super考试系统\n\n");
printf("1)随机出题\t\t\t\t");
printf("2)开始考试\n");
printf("3)试卷评分\t\t\t\t");
printf("4)显示批改的试卷\n");
printf("5)退出系统\n\n");
printf("请做出选择:");
scanf("%d",
&s);
while(getchar()
!=
’\n’);
if(s
《
1
||
s
》
5)
printf("选择有误!请重新输入.\n");
else
break;
}
return
s;
}
void
chuti()
{
int
i,
f;
printf("确认随机出%d道题吗?(y确认):",
N);
if(getchar()
!=
’y’)
return;
for(i
=
0,
f
=
1;
i
《
N;
f
?
i++
:
0)
{
timu.a
=
rand()
%
100+1;
timu.b
=
rand()
%
100+1;
timu.op
=
rand()
%
4;
if(timu.b
==
0
&&
timu.op
==
3)
{
f
=
0;
continue;
}
else
f
=
1;
switch(timu.op)
{
case
0:
timu.result
=
timu.a
+
timu.b;break;
case
1:
timu.result
=
timu.a
-
timu.b;break;
case
2:
timu.result
=
timu.a
*
timu.b;break;
case
3:
timu.result
=
timu.a
/
timu.b;break;
}
}
printf("出题完毕!\n");
flag
=
1;
}
C语言到底指的是什么C语言的测试题都是怎么样的
C语言是一种高级编程语言,程序员大多使用C语言用于底层的开发,并且适合开发固态等应用程序,C语言主要是提供一种简单的编译,存储器,并且是不需要任何环境就能运行的语言。
C语言到底指的是什么?
C语言是一门相对比较久远的计算机语言,主要用于计算机核心底层的研发。比如控制屏幕二极管的关闭,cpu的电压还有扫描硬盘等等。我们知道电脑是由硬件和软件组成的,硬件就是我们能看得见摸得着的,而软件呢就是用来控制这些硬件的。C语言可以说是所有软件所有编程语言的核心,如果你对计算机深层次比较感兴趣的话,想了解核心原理那么可以学习C语言。但是,没有企业会拿C语言去做项目开发。C语言的工作更多偏向于核心底层的研发,需要有大量的数学基础。这些C语言的从业者呢其实都不能被称之为程序员,应该叫他们研究员或者是科学家。
C语言和C++,C#是什么关系?
我们首先来看C++,它比C多了两个加号。寓意就是在C语言的基础上提升了。C#则是一个井号,井号相当于4个加号,就是说C#又在C++的基础上提升了。但要注意的是这里的提升只是对程序员的友好度上提升了。只是让程序员能够更轻松的写代码了。其核心的原理还是离不开C语言。
如何去学习C语言?
C语言其实是一门很容易学习和掌握的语言。因为它真的很精简但又足够强大,因为它的抽象层次比高度抽象的面向对象编程语言要低。正是因为他的抽象层次比较低,所以除了语言的基本语法之外还需要从系统的基本层面进行思考。例如去理解计算机的工作方式,他的编译链接过程,他的内存布局,他的cpu体系结构和操作系统等。很多的编程语言都是类c的语言,你的思维模型就会在学c的过程中得到延展。

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30





