导航:首页 > 操作系统 > 单片机半导体温度控制

单片机半导体温度控制

发布时间:2023-02-06 15:14:15

1. 我想做一个电冰箱基于单片机的温度控制系统,想请求下你的帮忙,可以吗

现在有一个新型的半导体模块,可以用来做一个小的微形冰箱,或者试验,温控很好做,用一个小温度传感器就可以搞定,如果要显视的话, 只要把传感器接到单片机的AD上就可以了

2. 基于MCS-51单片机的精密温度控制系统的设计与实现

上传内容
仅供学习与参考

摘要
本检测系统硬件设计以AT89C51单片机为核心,用温度传感器DS18B20实现温度控制,用数码管显示实际温度和预设温度,制作数字温度计,并可以实现温度预警控制。
单片机系统的软件编程采用单片机汇编进行编程。应用软件采用KEIL和PROTEUS仿真软件模拟实现控制过程。
温度控制系统是基于单片机的计算机检测技术的软硬件开发和面向对象的高级可视化程序开发的有机结合。对温度控制的发展有很大的好处。如果投入生产,不仅会创造良好的经济效益,还可提高温控的简单化。

关键词 单片机;DS18B20;调节;温度
Abstract
This examination system hardware design take at89C51 monolithic integrated circuit as a core, realizes the temperature control with temperature sensor DS18B20, Demonstrates the actual temperature and the preinstall temperature with the nixie tube,manufactures the simple intelligence temperature control system - - digit thermometer,And may realize the temperature early warning control.
. The monolithic integrated circuit system's software programming uses the monolithic integrated circuit assembly to carry on the programming. The superior machine application software uses KEIL and the PROTEUS simulation software simulation realizes the controlled process.
This article develops the intelligence temperature control system is based on monolithic integrated circuit's computer examination technology software and hardware development and face the object high-level visualization procere development organic synthesis. Has the very big advantage to temperature control's development. If place in operation, not only will create the good economic efficiency, but may also propose the simplification which the high temperature will control.
Keywords microcontroller;DS18B20;measure;temperture

目录
摘要 I
Abstract II
第1章 绪论 4
1.1 温度传感器发展概述 4
1.2 单片机技术简介 4
1.3 温度检测技术的发展 5
第2章 温度传感器的选择 8
2.1 测温方法 8
2.2 DS18B20简介 9
第3章 软硬件设计 10
3.1 单片机的选择 10
3.2 温度传感器的选择 10
3.3 仿真软件的选择 11
3.4 编译软件的选择 11
3.5 PROTEUS 仿真电路图 12
第4章 汇编语言程序 13
4.1 主程序和温度值转换成显示值子程序的流程图 13
4.2 DS18B20温度子程序和显示子程序的流程图 14
4.3 汇编语言源程序 14
第1章 绪论
1.1 温度传感器发展概述(略)

1.2 单片机技术简介(略)

1.3 温度检测技术的发展(略)

第2章 温度传感器的选择
2.1 测温方法
温度是一个很重要的物理参数,钢铁的冶炼、石油的分馏、塑料的合成以
及农作物的生长等等都必须在一定的温度范围内进行,各种构件、材料的体积、电阻、强度以及抗腐蚀等物理化学性质,一般也都会随温度而变化。人们利用各种能源为人类服务,也往往是使某些介质通过一定的温度变化来实现的。所以在生产和化学试验中,人们经常会碰到温度测量的问题。
温度传感器是检测温度的器件,其种类最多,应用最广,‘发展最快。众所周知,日常使用的材料及电子元件大部分都随温度而变化,资料【5】中介绍了作为实用传感器必须满足的一些条件:
(1)在使用温度范围内温度特性曲线要求达到的精度能符合要求:为了能
在较宽的温度范围内进行检测,温度系数不宜过大,过大了就难以使用,但对
于狭窄的温度范围或仅仅定点的检测,其温度系数越大,检测电路也能越简单。
(2)为了将它用于电子线路的检测装置,要具有检测便捷和易于处理的特
性。随着半导体器件和信号处理技术的进步,对温度传感器所要求的输出特性
应能满足要求。
(3)特性的偏移和蠕变越小越好,互换性要好。
(4)对于温度以外的物理量不敏感。
(5)体积小,安装方便:为了能正确地测量温度,传感器的温度必须与被
测物体的温度相等。传感器体积越小,这个条件越能满足。
(6)要有较好的机械、化学及热性能。这对于使用在振动和有害气体的环
境中特别重要。
(7)无毒、安全以及价廉、维修、更换方便等。
温度测量的方法很多,根据温度传感器的使用方式,通常分为接触式测温
法与非接触式测温法两类。
(1)接触式测温法
由热平衡原理可知,两个物体接触后,经过足够长时间的热交换达到热平
衡,则它们的温度必然相等。如果其中之一为温度计,就可以用它对另一个物体实现温度测量,这种测温方式称为接触式测温法。接触式测温的优点显而易
见,它简单,可靠,测量精度高,但同时也存在不足:温度计要与被测物体有
良好的热接触,并充分换热,从而产生了测温滞后现象;测温组件可能与被测
物体发生化学反应;由于受到耐高温材料的限制,接触式测温仪表不可能应用
于很高温度的测量。
(2)非接触式测温法
由于测量组件与被测物体不接触,利用物体的热辐射能随温度变化的原理
测定物体温度。因而测量范围原则上不受限制,测温速度较快,还可以在运动
中测量。这种测温方式称为非接触式测温法。它的特点是:不与被测物体接触,也不改变被测物体的温度分布,热惯性小。从原理上看,用这种方法测温无上限。通常用来测定1000℃以上的移动、旋转或反应迅速的高温物体的温度或表面温度。
2.2 DS18B20简介
2.2.1技术性能描述
单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。测温范围 -55℃~+125℃,固有测温分辨率0.5℃。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。工作电源: 3~5V直流电源。
在使用中不需要任何外围元件,测量结果以9~12位数字量方式串行传送。适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温。
2.2.2应用范围
该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域,轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。
2.2.3接线说明
特点有一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 ° C至+125 ℃ 。华氏相当于是-67 ° F到257华氏度 -10 ° C至+85 ° C范围内精度为±0.5 ° C。
温度传感器可编程的分辨率为9~12位 温度转换为12位数字格式最大值为750毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20 通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个DS18B20可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。【6】

第3章 软硬件设计
3.1 单片机的选择
单片机系统由单片机AT89C51、74HC245等芯片构成,完成数据采集、处理、通讯以及所有的功能,是整个系统的核心模块。
单片机是整个系统的核心,对系统起监督、管理、控制作用,并进行复杂的信号处理,产生测试信号及控制整个检测过程。所以在选择单片机时,参考了以下标准。
(1)运行速度。单片机运行速度一般和系统匹配即可。
(2)存储空间。单片机内部存储器容量,外部可以扩展的存储器(包括1/0口)空间。
(3)单片机内部资源。单片机内部存储资源越多,系统外接的部件就越少,这可提高系统的许多技术指标。
(4)可用性。指单片机是否能很容易地开发和利用,具体包括是否有合适的开发工具,是否适合于大批量生产:、性能价格比,是否有充足的资源,是否有现成的技术资源等。
(5)特殊功能。一般指可靠性、功耗、掉电保护、故障监视等。
从硬件角度来看,与MCS-51指令完全兼容的新一一代AT89CXX系列机,比在片外加EPROM才能相当的8031-2单片机抗干扰性能强,与87C51-2单片机性能相当,但功耗小。程序修改直接用+5伏或+12伏电源擦除,更显方便、而且其工作电压放宽至2.7伏一6伏,因而受电压波动的影响更小,而且4K的程序存储器完全能满足单片机系统的软件要求。故AT89C51单片机是构造本检测系统的更理想的选择。本系统选用ATMEL生产的AT89C51单片机,其特性如下:
(1) 4K字节可编程闪速程序存储器;1000次循环写/擦
(2)全静态工作:OHz-24MHz
(3)三级程序存储器锁定
(4) 128 X 8位内部数据存储器,32条可编程1/0线
(5)两个十六位定时器/计数器,六个中断源
(6)可编程串行通道,低功耗闲置和掉电模式
该器件采用了ATMEL的高密度非易失性的存储器工艺,并且可以与工业标准的MCS-51指令集和输出管脚兼容。由于将多功能8位CPU与闪速式存储器组合在单个芯片中,AT89C51是一种高效的微控制器,为很多嵌入式系统提供了高灵活性且价廉的方案。
3.2 温度传感器的选择
DS18B20是美国达拉斯半导体公司的产品,与其他产品相比较它的性能有如下特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。所以在本设计中,我采用了DS18B20作为温度传感器。【8】
3.3 仿真软件的选择
Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。
③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C uVision2、MPLAB等软件。【9】
3.4 编译软件的选择
KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编 器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。
C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三 方开发工具。因此,C51 V7版本无疑是8051开发用户的最佳选择。
uVision2集成开发环境具有如下功能:
一、项目管理
工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。
uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定 微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特 性。
uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。
二、集成功能
uVision2的强大功能有助于用户按期完工。
1.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。
2.文件寻找功能:在特定文件中执行全局文件搜索。
3.工具菜单:允许在V2集成开发环境下启动用户功能。
4.可配置SVCS接口:提供对版本控制系统的入口。
5.PC-LINT接口:对应用程序代码进行深层语法分析。
6.Infineon的EasyCase接口:集成块集代码产生。【10】
3.5 PROTEUS 仿真电路图
图1是基于单片机的智能温度检测系统电路原理图。控制加热热水器电源电路用LED灯模拟代替,取消无水报警电路。装上水后接通电源,下方LED数码管显示当前水温。上方LED数码管显示预设水温。操作“个位”键和“十位”键可预设水温(如99℃)控制点。该电路具有如下功能:
(1) 测量水温,精度为1℃,范围为0~99℃;
(2) 三位数码管实时显示水温;
(3) 可预设水温(如99℃)控制点,当水加热到该水温时自动断电,当水温低于该水温时自动上电加热;
(4) 无水自动断电和报警功能(略)。

图1 基于单片机的智能温度检测系统电路原理图

第4章 汇编语言程序
4.1 主程序和温度值转换成显示值子程序的流程图

4.2 DS18B20温度子程序和显示子程序的流程图

4.3 汇编语言源程序
ORG 0
LJMP MAIN1
ORG 0003H
LJMP ZINT0
ORG 13H
LJMP ZINT1

TMPH: EQU 28H
FLAG1: EQU 38H
DATAIN: BIT P3.7
MAIN1: SETB IT0
SETB EA
SETB EX0
SETB IT1
SETB EX1
SETB P3.6
SETB P3.2
MOV 74H,#0
MOV 75H,#0
MOV 76H,#0
MOV 77H,#0
MAIN: LCALL GET_TEMPER
LCALL CVTTMP
LCALL DISP1
AJMP MAIN
INIT_1820:
SETB DATAIN
NOP
CLR DATAIN
MOV R1,#3
TSR1: MOV R0,#107 ;保持642ms
DJNZ R0,$
DJNZ R1,TSR1
SETB DATAIN ;释放DS18B20总线
NOP
NOP
NOP
MOV R0,#25H
TSR2: JNB DATAIN,TSR3
DJNZ RO,TSR2
CLR FLAG1
SJMP TSR2
TSR3: SETB FLAG1 ;标志位置1,证明DS18b20存在
CLR P1.7
MOV R0,#117
TSR6: DJNZ R0,$
TSR7: SETB DATAIN
RET ;延时254us
GET_TEMPER:
SETB DATAIN
LCALL INIT_1820
JB FLAG1,TSS2
NOP
RET ;DS18B20检测程序
TSS2: MOV A,#0CCH ;跳过ROM,使用存储器
LCALL WRITE_1820
MOV A,#44H ;对RAM操作,开始温度转换
LCALL WRITE_1820
ACALL DISP1
LCALL INIT_1820
MOV A,#0CCH
LCALL WRITE_1820
MOV A,#0BEH
LCALL WRITE_1820
LCALL READ_1820;读暂存器中的温度数值
RET
WRITE_1820:
MOV R2,#8
CLR C
WR1: CLR DATAIN
MOV R3,#6
DJNZ R3,$
RRC A
MOV DATAIN,C
MOV R3,#23
DJNZ R3,$
SETB DATAIN
NOP
DJNZ R2,WR1
SETB DATAIN
RET
READ_1820:
MOV R4,#2
MOV R1,#29H
RE00: MOV R2,#8
RE01: CLR C
SETB DATAIN
NOP
NOP
CLR DATAIN
NOP
NOP
NOP
SETB DATAIN
MOV R3,#9
RE10: DJNZ R3,RE10
MOV C,DATAIN
MOV R3,#23
RE20: DJNZ R3,RE20
RRC A
DJNZ R2,RE01
MOV @R1,A
DEC R1
DJNZ R4,RE00
RET
CVTTMP: MOV A,TMPH
ANL A,#80H ;判断温度正负,正不变,负则取反加1
JZ TMPC1
CLR C
MOV A,TMP1
CPL A
ADD A,#1
MOV TMP1,A
MOV A,TMPH
CPL A
ADDC A,#0
MOV TMPH,A
MOV 73H,#0BH
SJMP TMPC11
TMPC1: MOV 73H,#0AH
TMPC11: MOV A,TMP1
ANL A,#0FH
MOV DPTR,#TMPTAB
MOVC A,@A+DPTR
MOV 70H,A
MOV A,TMP1
ANL A,#0FH
SWAP A
ORL A,TMPL
B2BCD: MOV B,#100
DIV AB
JZ B2BCD1
MOV 73H,A
B2BCD: MOV A,#10
XCH A,B
DIV AB
MOV 72H,A
MOV 71H,B
TMPC12: NOP
DISBCD: MOV A,73H
ANL A,#0FH
CJNE A,#1,DISBCD0
SJMP DISBCD1
DISBCD0: MOV A,72H
ANL A,#0FH
JNZ DISBCD1
MOV A,73H
MOV 72H,A
MOV 73H,#0AH
DISBCD1: RET
TMPTAB: DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9
DISP1: MOV R1,#70H
MOV R0,#74H
MOV R5,#0FEH ;显示实际温度
PLAY: MOV P1,#0FFH
MOV A,R5
MOV P2,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
MOV P1,A
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
MOV A,R5
JB ACC.1,LOOP1
JB P1.7
CLR P1.7
CLR P0.7 ;显示小数点
LOOP1: LCALL DL1MS
INC R1
INC R0
MOV A,R5
JNB ACC.3,ENDOUT
RL A
MOV R5,A
MOV A,73H
CJNE A,#1,DD2
SJMP LEDH
DD2: MOV A,72H
CJNE A,72H,DDH
SJMP DD1
DDH: JNE PLAY1
LEDH: CLR P3.6
SJMP PLAY
PLAY1: SETB P3.6
SJMP PLAY
ENDOUT: MOV P1,#0FFH
MOV P2,#0FFH
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H,0FFH,0BFH
DL1MS: MOV R6,#14H
DL1: MOV R7,#100
DJNZ R7,$
DJNZ R6,DL1
RET
ZINT0: PUSH A
INC 75H
MOV A,,75H
CJNE A,#10,ZINT01
MOV 75H,#0
ZINT01: POP A
RETI
ZINTT1: PUSH A
INC 76H
MOV A,76H
CJNE A,#10,ZINT11
MOV 76H,#0
ZINT11: POP A
RETI

3. 怎么实现单片机控制温度要使温度保持在一定温度范围~~~

闭环-pid
估计用得到pwm
什么ad了那是必须的了
很墨迹的

4. 求简易温度控制器设计的单片机汇编语言程序

这个程序你可以用来试试。我以前做的。
//温控系统控制程序
//温度传感器:DS18B20
//显示方式:LED
#include<reg51.h>
#defineucharunsignedchar
sbitkeyup=P1^0;
sbitkeydn=P1^1;
sbitkeymd=P1^2;
sbitout=P3^7; //接控制继电器
sbitDQ=P3^4; //接温度传感器18B20
uchart[2],number=0,*pt; //温度值
ucharTempBuffer1[4]={0,0,0,0};
ucharTmax=18,Tmin=8;
uchardistab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xfe,0xf7};
uchardismod=0,xiaodou1=0,xiaodou2=0,currtemp;
bitflag;
voidt0isr()interrupt1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
switch(number)
{
case0:
P2=0x08;
P0=distab[TempBuffer1[0]];
break;
case1:
P2=0x04;
P0=distab[TempBuffer1[1]];
break;
case2:
P2=0x02;
P0=distab[TempBuffer1[2]]&0x7f;
break;
case3:
P2=0x01;
P0=distab[TempBuffer1[3]];
break;
default:
break;
}
number++;
if(number>3)number=0;
}

voiddelay_18B20(unsignedinti)
{
while(i--);
}

/**********ds18b20初始化函数**********************/

voidInit_DS18B20(void)
{
bitx=0;
do{
DQ=1;
delay_18B20(8);
DQ=0;//单片机将DQ拉低
delay_18B20(90);//精确延时大于480us
DQ=1;//拉高总线
delay_18B20(14);
x=DQ;//稍做延时后如果x=0则初始化成功x=1则初始化失败,继续初始化
}while(x);
delay_18B20(20);
}

/***********ds18b20读一个字节**************/

unsignedcharReadOneChar(void)
{
unsignedchari=0;
unsignedchardat=0;
for(i=8;i>0;i--)
{
DQ=0;//给脉冲信号
dat>>=1;
DQ=1;//给脉冲信号
if(DQ)
dat|=0x80;
delay_18B20(4);
}
return(dat);
}

/*************ds18b20写一个字节****************/

voidWriteOneChar(unsignedchardat)
{
unsignedchari=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay_18B20(5);
DQ=1;
dat>>=1;
}
}

/**************读取ds18b20当前温度************/

unsignedchar*ReadTemperature(unsignedcharrs)
{
unsignedchartt[2];
delay_18B20(80);
Init_DS18B20();
WriteOneChar(0xCC);//跳过读序号列号的操作
WriteOneChar(0x44); //启动温度转换
delay_18B20(80);
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度
tt[0]=ReadOneChar();//读取温度值低位
tt[1]=ReadOneChar();//读取温度值高位
return(tt);
}

voidcovert1(void) //将温度转换为LED显示的数据
{
ucharx=0x00,y=0x00;
t[0]=*pt;
pt++;
t[1]=*pt;
if(t[1]&0x080)//判断正负温度
{
TempBuffer1[0]=0x0c; //c代表负
t[1]=~t[1]; /*下面几句把负数的补码*/
t[0]=~t[0]; /*换算成绝对值*********/
x=t[0]+1;
t[0]=x;
if(x==0x00)t[1]++;
}
elseTempBuffer1[0]=0x0a; //A代表正
t[1]<<=4; //将高字节左移4位
t[1]=t[1]&0xf0;
x=t[0]; //将t[0]暂存到X,因为取小数部分还要用到它
x>>=4; //右移4位
x=x&0x0f; //和前面两句就是取出t[0]的高四位
y=t[1]|x; //将高低字节的有效值的整数部分拼成一个字节
TempBuffer1[1]=(y%100)/10;
TempBuffer1[2]=(y%100)%10;
t[0]=t[0]&0x0f; //小数部分
TempBuffer1[3]=t[0]*10/16;
//以下程序段消去随机误检查造成的误判,只有连续12次检测到温度超出限制才切换加热装置
if(currtemp>Tmin)xiaodou1=0;
if(y<Tmin)
{
xiaodou1++;
currtemp=y;
xiaodou2=0;
}
if(xiaodou1>12)
{
out=0;
flag=1;
xiaodou1=0;
}
if(currtemp<Tmax)xiaodou2=0;
if(y>Tmax)
{
xiaodou2++;
currtemp=y;
xiaodou1=0;
}
if(xiaodou2>12)
{
out=1;
flag=0;
xiaodou2=0;
}
out=flag;
}
voidconvert(chartmp)
{
uchara;
if(tmp<0)
{
TempBuffer1[0]=0x0c;
a=~tmp+1;
}
else
{
TempBuffer1[0]=0x0a;
a=tmp;
}
TempBuffer1[1]=(a%100)/10;
TempBuffer1[2]=(a%100)%10;
}
voidkeyscan()
{
ucharkeyin;
keyin=P1&0x07;
if(keyin==0x07)return;
elseif(keymd==0)
{
dismod++;
dismod%=3;
while(keymd==0);
switch(dismod)
{
case1:
convert(Tmax);
TempBuffer1[3]=0x11;
break;
case2:
convert(Tmin);
TempBuffer1[3]=0x12;
break;
default:
break;
}
}
elseif((keyup==0)&&(dismod==1))
{
Tmax++;
convert(Tmax);
while(keyup==0);
}
elseif((keydn==0)&&(dismod==1))
{
Tmax--;
convert(Tmax);
while(keydn==0);
}
elseif((keyup==0)&&(dismod==2))
{
Tmin++;
convert(Tmin);
while(keyup==0);
}
elseif((keydn==0)&&(dismod==2))
{
Tmin--;
convert(Tmin);
while(keydn==0);
}
xiaodou1=0;
xiaodou2=0;
}
main()
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
out=1;
flag=0;
ReadTemperature(0x3f);
delay_18B20(50000); //延时等待18B20数据稳定
while(1)
{
pt=ReadTemperature(0x7f);//读取温度,温度值存放在一个两个字节的数组中
if(dismod==0)covert1();
keyscan();
delay_18B20(30000);
}
}

5. 急求几份“基于单片机的温控系统”完整论文,最好是以C语言写的!51单片机、DS18B20。。。

建议你看看黑龙江电子大赛的题目,里面有篇类似的,交流下

6. 单片机温度控制系统的组成及工作原理

该系统其实是由:单片机控制子系统,温度显示子系统,调节按键子系统,温度检测子系统,加热与散热子系统,电源子系统等几个部分组成。

工作原理很简单:就是利用单片机对温度传感器采集到的信号进行分析,如果高于或者低于某温度值时,就启动或者关闭加热或者散热装置,直达到需求的温度范围为止,并实时显示温度值与设置温度值。

7. 基于单片机的自动温控系统的设计.毕业论文开题报告

热电致冷器件特别适合于小热量和受空间限制的温控领域。改变加在器件上的直流电的极性即可变致冷为加热,而吸热或放热率则正比于所加直流电流的大小。Pe1tier 温控器的设定温度可以在一个较宽的范围内任意选择,可选择低于或高于环境温度。
在本系统中我们选用了天津蓝天高科电源有限公司生产的半导体致冷器件 TES1-12739,其最大温差电压 14.7V,最大温差电流3.9A最大致冷功率33.7W。
1.5 其它部分
系统采用Samsung(三星)公司生产的真空荧光数码显示屏 VFD用来实时显示当前温度,以观察控制效果。键盘和串行通信接口用来设定控制温度和调整PID参数。系统电路原理图如图3所示。

2 系统软件设计
系统开始工作时,首先由单片机控制软件发出温度读取指令,通过数字温度传感器 DS18B20 采样被控对象的当前温度值T1并送显示屏实时显示。然后,将该温度测量值与设定值T比较,其差值送 PID控制器。PID 控制器处理后输出一定数值的控制量,经DA 转换为模拟电压量,该电压信号再经大电流驱动电路,提高电流驱动能力后加载到半导体致冷器件上,对温控对象进行加热或制冷。加热或制冷取决于致冷器上所加电压的正负,若温控对象当前温度测量值与设定值差值为正,则输出负电压信号,致冷器上加载负电压温控对象温度降低;反之,致冷器上加载正向电压,温控对象温度升高。上述过程:温度采样-计算温差-PID调节-信号放大输出周而复始,最后将温控对象的温度控制在设定值附近上下波动,随着循环次数的增加,波动幅度会逐渐减小到某一很小的量,直至达到控制要求。为了加快控制,在进入PID控制前加入了一段温差判断程序。当温度差值大于设定阈值Δt时,系统进行全功率加热或制冷,直到温差小于Δt才进入PID控制环节。图4为系统工作主程序的软件流程图.

3 结论
本文设计的基于单片机数字PID控制的精密温度控制系统,在实际应用中取得了良好的控制效果,温度控制精度达到±0.1℃。经48小时连续运行考验,系统工作稳定,有效地降低了辐亮度标准探测器的温度系数,使辐亮度标准探测器在温度变化较大的环境中也能保持其高精度,为实现基于探测器的高精度辐射定标的广泛应用奠定了基础。

本文作者创新点:在原来基于PC的PID温控系统的基础上,设计了由单片机、数字式温传感器DS18B20和半导体致冷器组成的精密温度控制系统。该温控系统的应用为高精度光辐射测量仪器-辐亮度标准探测器的小型化、智能化提供了有利条件。

8. 基于单片机的温度控制系统的设计

利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机AT89C52进行处理。

在LCD液晶上显示当前环境温度值、预设温度值、使用者设定的温度差以及目前风扇所处的档位。其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后一位。

同时采用PWM脉宽调制方式来改变直流风扇电机的转速。

并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值。通过另一个按键控制温度差的大小。

设有红外热释传感器检测环境范围内是否有人,如果有人确定出风方向,如果无人,降低转速或一定时间内自动关闭。

回答

正如你所说的,一共用了DS18B20模块,LCD模块,红外传感模块,按键,直流电机模块,程序方面只有一个PWM。现在一一为你分析:

DS18B20模块:

下图是它的原理图,采用单总线来进行开发,不像电赛的哪个温度传感器需要AD转换,它是可以直接传出数字信号的。

9. 跪求单片机51温度控制毕设的开题报告

在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。我们采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为-55~125 ºC,最高分辨率可达0.0625 ºC。DS18B20可以直接读出被侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。

10. 利用单片机制作一个可调节的恒温装置,有人能给一些思路吗

一个温度传感器,一套驱动电路,一套加热装置(如电阻丝)。
温度传感器一般输出的是电压信号,接入单片机的AD管脚。
驱动电路驱动加热装置,一般接上单片机的PWM输出管脚。
单片机采到温度传感器的信号,将其转化为具体的温度值,然后依据温度值可以采用PID来调节PWM波来驱动加热器。

阅读全文

与单片机半导体温度控制相关的资料

热点内容
猫宝宝资源 浏览:954
python3d库 浏览:735
小苮儿网盘提取码 浏览:238
怎么给磁盘加密c盘 浏览:381
内核驱动编译v1 浏览:575
韩国电影伦理中文 浏览:67
大乐透复式算法计算器 浏览:845
啄木鸟40部 浏览:502
我的世界服务器版本下载地址 浏览:925
怎么制作一个游戏的服务器 浏览:800
python中xticks用法 浏览:905
西瓜视频解压软心砖 浏览:137
程序员被孤立怎么办 浏览:807
主角秦风重生小说免费全文阅读 浏览:937
电影名卧布吉岛 浏览:161
泰国肉肉电影 浏览:499
电影无处可逃结局是什么 浏览:102
压缩性模量 浏览:352
平安老师讲解压力化解 浏览:459
快递员的电影是什么名字 浏览:780