资源简介
一共有三个labview温度控制程序,其中一个是自己编写的,可以对温度进行检测调控
代码片段和文件信息
//任务:实现对温度传感器件DS18B20的温度值得读取,并把温度值发送到上位机labview处理
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit DQ =P3^6; //定义DS18B20通信端口
uchar flag=0;
code uchar table[]={0xc00xf90xa40xb00x99
0x920x820xf80x800x90 //0~9的段码
0x400x790x240x300x19
0x120x020x780x000x10 //带小数点0~9的段码
0xbf0xff}; //“-“和“全灭“的段码
//uchar pc_command; //只要PC有发过来0x0a过来就算是告诉单片机启动发送指令
uchar flag; //正负号标志
void delay(unsigned int i) //延时函数
{
while(i--);
}
//显示程序
void display(uchar bit_countuchar dat)
{
P2=0x00;
P0=table[dat];
P2=(0x01)< delay(500);
}
void dis_Temperature(uint t)
{
uchar i;
if(flag==1)
{i=20;}
else
{i=21;}
display(0i);
i=t/100;
display(1i);
i=t%100/10;
display(2i+10);
i=t%100%10;
display(3i);
}
void Init_DS18B20(void) //初始化函数
{
unsigned char x=0;
DQ = 1; //DQ复位
delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
delay(80); //精确延时 大于 480us
DQ = 1; //拉高总线
delay(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay(20);
}
uchar Read(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(4);
}
return(dat);
}
void Write(unsigned char dat) //写一个字节
{
unsigned char i;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(5);
DQ = 1;
dat>>=1;
}
delay(4);
}
uint ReadTemperature(void) //读取温度
{
unsigned char a=0;
unsigned char b=0;
unsigned int t=0;
float f_t=0;
Init_DS18B20();
Write(0xCC); // 跳过读序号列号的操作
Write(0x44); // 启动温度转换
Init_DS18B20();
Write(0xCC); //跳过读序号列号的操作
Write(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
a=Read();
b=Read();
if(b<127)
{
t=b;t<<=8;t=t|a;
flag=0;
}
else
{
a=~a;b=~b;
t=b;t<<=8;t=t|a;t=t+1;
flag=1;
}
f_t=t*0.0625; //温度值在寄存器中为11位,分辨率为0.0625
t=f_t*10+0.5; //乘以10表示小数点后面只取1位,加0.5是四舍五入
return(t);
}
void serial_int()
{
//设置定时器1的工作方式为方式2
TMOD=0x20;
//设定定时器1的初值,使串口通讯的波特率为9600bps
TH1=0xfd;
TL1=0xfd;
SCON=0x50;
PCON=0x00;
ES=1;
EA=1;
TR1=1;
}
void com_send_byte(uchar onebyte)
{
ES = 0; //关串口中断
SBUF = onebyte; //把要发送的数据写入SBUF,单片机会自动发送该数据,需要一段时间
while (TI == 0); //等待发送结束
TI = 0; //把发送标志清零
ES=1;
}
/* 当有数据发送到单片机时,会执行以下中断服务函数*/
void uart_int(void) interrupt 4 using 3
{
uchar tmpData;
if (RI == 1) /* 判断是不是接收中断*/
{
RI = 0; /* 清串口接收中断 */
tmpData = SBUF; /* 读取接收到的数据*/
//P0 = LED_TAB[temp];
flag = 1;
if(tmpData == 1) //加热
{
/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 37739 2017-08-24 16:50 labview温度控制上位机\基于Arduino与LabVIEW的热电偶高温监测系统(2).vi
文件 9492 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\Derivative action.vi
文件 13068 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\Get dt.vi
文件 16604 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\Get error (sp-pv).vi
文件 16348 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\Get PID gains.vi
文件 33032 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\Integral action.vi
文件 17932 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\manual.vi
文件 16216 2009-03-20 16:06 labview温度控制上位机\温度检测与控制实验\PID(温度-电压).vi
文件 29540 2009-06-16 10:49 labview温度控制上位机\温度检测与控制实验\PID.vi
文件 5728 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\Proportional action.vi
文件 10332 2009-06-01 10:33 labview温度控制上位机\温度检测与控制实验\PV filter.vi
文件 6376 2009-06-18 20:27 labview温度控制上位机\温度检测与控制实验\V TO T.vi
文件 16032 2009-06-04 13:10 labview温度控制上位机\温度检测与控制实验\判断加热.vi
文件 15972 2009-05-30 16:58 labview温度控制上位机\温度检测与控制实验\判断散热.vi
文件 8344 2009-05-30 16:45 labview温度控制上位机\温度检测与控制实验\加热温度转化电压.vi
文件 21572 2009-06-05 08:39 labview温度控制上位机\温度检测与控制实验\当前温度值.vi
文件 22640 2009-06-09 08:28 labview温度控制上位机\温度检测与控制实验\控制温度1.vi
文件 8348 2009-05-30 16:47 labview温度控制上位机\温度检测与控制实验\散热温度转化电压.vi
文件 97368 2009-08-10 13:39 labview温度控制上位机\温度检测与控制实验\温度测量与控制实验.vi
文件 19680 2009-06-26 16:42 labview温度控制上位机\温度检测与控制实验\转化数字量.vi
文件 38129 2015-05-31 21:58 labview温度控制上位机\温度采集系统\温度采集系统\1.vi
文件 5115 2015-05-23 12:51 labview温度控制上位机\温度采集系统\温度采集系统\codeC\STARTUP.A51
文件 10161 2015-05-31 21:31 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap
文件 4030 2015-05-31 21:30 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap.c
文件 4475 2015-05-31 21:31 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap.hex
文件 31 2015-05-31 21:31 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap.lnp
文件 9699 2015-05-31 21:31 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap.LST
文件 14308 2015-05-31 21:31 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap.M51
文件 10449 2015-05-31 21:31 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap.OBJ
文件 1025 2015-05-23 12:51 labview温度控制上位机\温度采集系统\温度采集系统\codeC\tempCap.opt.bak
............此处省略18个文件信息
相关资源
- LabVIEW中CAN总线CRC实现
- msp430编程器上位机软件
- labview编写的QR二维码的生成和解析
- labview USB通信
- labview中波形图的游标坐标
- Veristand的测试工程
- 使用labview实现启动界面
- 毫米波雷达上位机软件操作说明
- Labview信号调频
- labview modbus rtu 主站通用程序
- LabVIEW小闹钟
- TCP调试助手
- LABVIEW 视觉
- labview列表框滚动实时显示
- labview控制LED
- Labview网络通讯DataSocket
- labview事件结构控制多个并行循环运行
- QT5串口上位机源代码
- Labview数据实时采集和存储.vi
- labview 采集功率 电流
- LabVIEW算术平均滤波
- LABVIEW-机器视觉模块中文说明书
- labview数据存为Excel并加表头
- labview数组应用
- 超声波测距模块代码及上位机调试软
- 基于labview的扫雷小游戏.rar
- 中大型LABVIEW软件三层设计架构
- labview激活工具 NI License Activator
- labview2017dsc,LabVIEW数据记录和监控(
- labview FM频率调制
评论
共有 条评论