当前位置:首页 » 编程语言 » c语言测控

c语言测控

发布时间: 2022-06-15 18:02:35

① 真的很急!基于51单片机的DS18B20 温度测控系统 c语言程序

#include<reg52.h> #include<math.h>
#include<INTRINS.H>
#define uchar unsigned char
#define uint unsigned int;
/******************************************************************/
/* 定义端口 */
/******************************************************************/
sbit seg1=P2^0;
sbit seg2=P2^1;
sbit seg3=P2^2;
sbit DQ=P1^7;//ds18b20 端口
sfr dataled=0x80;//显示数据端口
/******************************************************************/
/* 全局变量 */
/******************************************************************/
uint temp;
uchar flag_get,count,num,minute,second;
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//7段数码管段码表共阳
uchar str[6];
/******************************************************************/
/* 函数声明 */
/******************************************************************/
void delay1(uchar MS);
unsigned int ReadTemperature(void);
void Init_DS18B20(void);
unsigned char ReadOneChar(void);
void WriteOneChar(unsigned char dat);
void delay(unsigned int i);
/******************************************************************/
/* 主函数 */
/******************************************************************/
main()
{
unsigned char TempH,TempL;
TMOD|=0x01;//定时器设置
TH0=0xef;
TL0=0xf0;
IE=0x82;
TR0=1;
P2=0x00;
count=0;
while(1)
{
str[5]=0x39; //显示C符号
str[1]=tab[TempH/100]; //十位温度
str[2]=tab[(TempH%100)/10]; //十位温度
str[3]=tab[(TempH%100)%10]|0x80; //个位温度,带小数点
str[4]=tab[TempL];
if(flag_get==1) //定时读取当前温度
{
temp=ReadTemperature();
if(temp&0x8000)
{
str[0]=0x40;//负号标志
temp=~temp; // 取反加1
temp +=1;
}
else
str[0]=0;
TempH=temp>>4;
TempL=temp&0x0F;
TempL=TempL*6/10;//小数近似处理
flag_get=0;
}
}
}

/******************************************************************/
/* 定时器中断 */
/******************************************************************/
void tim(void) interrupt 1 using 1//中断,用于数码管扫描和温度检测间隔
{
TH0=0xef;//定时器重装值
TL0=0xf0;
num++;
if (num==50)
{num=0;
flag_get=1;//标志位有效
second++;
if(second>=60)
{second=0;
minute++;
}
}
count++;
if(count==1)
{P2=0;
dataled=str[0];}//数码管扫描
if(count==2)
{P2=1;
dataled=str[1];}
if(count==3)
{ P2=2;
dataled=str[2];
}
if(count==4)
{ P2=3;
dataled=str[3];
}
if(count==5)
{ P2=4;
dataled=str[4];
}
if(count==6)
{ P2=5;
dataled=str[5];
count=0;}
}
/******************************************************************/
/* 延时函数 */
/******************************************************************/
void delay(unsigned int i)//延时函数
{
while(i--);
}
/******************************************************************/
/* 初始化 */
/******************************************************************/
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ复位
delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
delay(80); //精确延时 大于 480us
DQ = 1; //拉高总线
delay(10);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay(5);
}
/******************************************************************/
/* 读一个字节 */
/******************************************************************/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
delay(5);
}
return(dat);
}
/******************************************************************/
/* 写一个字节 */
/******************************************************************/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(5);
DQ = 1;
dat>>=1;
}
delay(5);
}
/******************************************************************/
/* 读取温度 */
/******************************************************************/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned int b=0;
unsigned int t=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
delay(200);
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
a=ReadOneChar(); //低位
b=ReadOneChar(); //高位
b<<=8;
t=a+b;
return(t);
}
//LZ,这是测温并且用数码管显示程序,报警可以自己另行添加!主要程序就是这些!
()

② C语言编程 51单片机实现湿度测量控制

你好!是采用仿真的形式实现吗?原理图确定了吗

③ 测控技术与仪器要学编程吗

测控技术与仪器专业是需要学习编程的,包括电脑编程与单片机编程。
一、测控技术与仪器专业的主要课程:
主要课程:电路原理度、EDA技术及应用、传感器与检测技术、自动控制原理、单片机原理及应用、程序设计、精密机械与仪器设计、精密机械制造工程、模拟电子技术基础、数字电子技术基础、微型计算机原理与应用、控制工程基础、信号分析与处理、精密测控与系统、工程光学。
二、测控技术与仪器专业的专业方向:
测控技术及仪器专业是仪器科学与技术和控制科学与技术交叉融合而形成的综合性学科。
方向一以集电子技术、先进控制理论、计算机控制技术、自动检测技术、光电技术以及网络技术于一体为特色,以生产过程的机电装备运行状态及其信息为研究对象。本方向旨在培养基础理论扎实、实践能力强、知识面广,外语综合能力和计算机应用能力较强,人文社会科学综合素质较高,具有开拓创新意识,能够从事工业过程控制理论与装备、计算机辅助测试系统、信息处理与状态识别等领域的研究开发、设计制造和运行管理的复合型高级工程技术人才。
方向二以光—机—电—仪器—计算机技术一体化为特色,以传感器技术、信息获取与处理技术、自动化精密机械以及智能仪器仪表为主要研究对象。本方向旨在培养基础理论扎实、实践能力强、知识面广,外语综合能力和计算机应用能力较强,人文社会科学综合素质较高,具有开拓创性意识,能够从事测控仪器、信息技术以及测试计量技术等方面的研究开发、设计制造和运行管理方面的复合型高级工程技术人才。
三、测控技术与仪器专业的就业方向:
该专业毕业生大多就业于航天航空、兵器、机械、电子、能源、化工、通讯、交通等众多国防科技及国民经济建设领域的研究院所和企业,从事现代测控系统的研究设计、制造、应用工作。

④ 测控技术与仪器专业学的数电模电,c语言单片机嵌入式微机原理自动控制原理检测技术这些课之间有什么联系

你好,数电模电是单片机的基本知识,因为单片机以及一些相关电路都是要学了数电模电才理解。然后C语言一般用于单片机上运行的程序的编写,要么就是汇编语言,其他语言用的较少。微机原理主要是介绍一般微型计算机的组成结构和一些常用芯片的结构以及使用的技术。
自动控制和检测技术这两个主要就是学怎么让系统稳定啊,怎么实现自动化工作啊,这样

⑤ 温度测控系统的c语言程序

我以前做过的项目就涉及这两方面,当初我用的控制板只有rs232,就用了rs232转rs485.至于ds18b20的话几个io口就可以了,不过这个的时序需要把握好,ds18b20好像要达到微妙级了,io输出好像是请求数据,io输入时是读取数据。自己实践吧。

⑥ 学c语言更好还是vb对找工作而言,我是学测控技术及仪器的.

巧了,我也是,06级的,咱们测控当然是学C语言了,这是个基础语言,学好它在学别的.我不知道你是搞什么方向的,我是做偏向于控制的,有一些心得,希望对你有帮助:http://blog.csdn.net/zhzht19861011/archive/2009/09/12/4545159.aspx

⑦ 我是测控技术与仪器专业,看好多招聘都要求精通c语言,我们专业学习c应该学习哪些,如何学习呀

我就是测控技术与仪器专业毕业的。现在从事本专业工作已经6年。作为一个过来人,看得出你是个在校学生。说说点我自己的经历,也给你点参考和建议吧。
测控专业本身学习的课程就很多,很杂,但是没有一门学的很专。它不像电子电气这些专业。测控专业的毕业生一般工作从事质量这块的比较多,也就是在一般企业里从事品质保证,比如产品试验,比如编写测试程序进行检测等等。当然转行的也比较多。
你说的C语言是基础,这其实是所有工科类尤其是电类专业所必须掌握的。其实我在大学四年在学校内我就已经考到了软件设计师的证书。C学习你可以和单片机学习结合,就是用C编写单片机程序,这在企业里用的很多,还有就是电子技术的基本功要打的很牢。
上面说的是你从事本专业工作的话。不过在这里我,作为一个过来人,非常诚恳地奉劝你一句:学弟,转行吧!我也有过你现在这样的时代,你有的想法我也有过。但是,我不得不很真实地告诉你一句:学测控专业或者学工科专业,真的很垃圾!这话说的或许很过,但是这是现实。你现在可以不相信我,但是等到你真的走上这条路,你再想转,呵呵,那就真的不是很容易的。说这些是不想再看到一个和我学同样专业的人走和我一样的弯路。
说了很多,自己好好把握吧,祝你好运~~

⑧ 我是测控技术与仪器专业的 ,c语言要学到什么程度啊·

我也是测控专业的已经毕业了,C语言说实在的只要能考试不挂科就可以,只学一本教材以后根本没什么用,如果你要是考国二的话还是应该用点心学,当然国二证书拿到手以后就可以再也不用管了。

⑨ 本人是学测控专业的,希望前辈告诉我单片机和C语言重要吗我以后毕业能干些什么啊

我也是测控毕业的。
测控主要是做工业、航天、医疗等等方面的测量和控制。所以需要用到电子电路来实现,最早在测控领域都是用模拟电路来实现的。但现在的数字电子发展迅速,所以很多领域都需要用微控制器(单片机)来经行测量和控制。在一个测控系统来说,单片机及其程序是作为一个中心主控的角色。但也不能忽略了单片机的外围电路设计的功底。在测控系统开发中,我觉得最难,最需要花费精力的恰恰是单片机的外围电路,电路的设计千变万化,若设计不好,不仅仅会影响到单片机的调试工作,还会影响整个测控系统的功能。所以学单片机不仅要学它的编程,还学好学好模拟电子技术和数字电子技术。
C语言,只是对于单片机开发的其中一种软件。诚然,相对于汇编语言来说,C语言开发比较通俗。但要学习单片机,就必须要了解它的指令(就是汇编),因为C语言还是需要编译成汇编的。有些单片机在某些特殊功能上,还必须嵌入汇编语言才能开发,比如PIC单片机的校准字。
测控专业跟自动化专业相近,但它更侧重于在数据测量,控制工程方面。毕业后可以从事设备的开发和维等。现在我怎么说你都不会太明白,建议你在学校的时候多动手,多做实验。一般大学都会组织学生参加电子设计比赛,希望你学习完电子技术,单片机,微机原理后也参加这些比赛,可以增长你的经验!

⑩ 我是学测控的,大一的C语言才考了29分,是不是没前途了

学校里的成绩并不唯一,只要掌握基本技能,加强动手能力,保持一颗好学的心,必须会有出息的。有一个同学,学校里各科成绩都不理想,但喜欢维修,电器,电脑都行,后来工作中修设备,两年后应聘到一家外企10万年薪。

热点内容
数据库access2003 发布:2024-05-19 02:49:39 浏览:619
碧蓝航线pc挂机脚本 发布:2024-05-19 02:30:03 浏览:588
脚本fir 发布:2024-05-19 02:28:57 浏览:260
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:253
织梦源码ga 发布:2024-05-19 02:23:20 浏览:571
java文件名后缀 发布:2024-05-19 02:14:39 浏览:956
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:163
pythonforinkeys 发布:2024-05-19 01:55:44 浏览:793
电脑如何局域网共享文件夹 发布:2024-05-19 01:25:01 浏览:69
手机存储越大性能越好吗 发布:2024-05-19 01:14:28 浏览:177