李杨 初级组 题A.docx

上传人:b****5 文档编号:29598368 上传时间:2023-07-25 格式:DOCX 页数:17 大小:156.62KB
下载 相关 举报
李杨 初级组 题A.docx_第1页
第1页 / 共17页
李杨 初级组 题A.docx_第2页
第2页 / 共17页
李杨 初级组 题A.docx_第3页
第3页 / 共17页
李杨 初级组 题A.docx_第4页
第4页 / 共17页
李杨 初级组 题A.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

李杨 初级组 题A.docx

《李杨 初级组 题A.docx》由会员分享,可在线阅读,更多相关《李杨 初级组 题A.docx(17页珍藏版)》请在冰豆网上搜索。

李杨 初级组 题A.docx

李杨初级组题A

恒温水浴系统

系统目的:

能较稳定地把水温维持在10~60℃之间的任意温度,最小分度值为1℃,当温度达到某一设定值并稳定后,水温的波动控制在±1℃以内。

温度调控达到稳定状态时,给出光提示信号。

当水温达到某一设定值并稳定后,其波动控制在±1℃内。

1、方案比较:

1、温度检测两套方案:

(1)用铂电阻和A/D转换器测量温度。

(2)用DS18B20测量温度,单总线的设计、-55到125℃测温范围和内含数字转换系统,更方便使用测量温度。

因为

(1)中涉及到繁琐的数模转换电路,

(2)更经济实惠方便,本系统采用第二种方案。

2、显示方法:

(1)数码管显示,直接显示实时的温度数字。

(2)液晶显示,价格较贵,而且液晶对温度要求较高,不易保存。

(3)上位机显示,需要串口通信,PC连接。

因为资金有限且掌握的知识有限,故选择第一种方案显示实时温度。

2、设计与论证:

(一)硬件部分

1、硬件总体设计方案:

本系统通过温度传感器DS18B20的DQ数据端采集温度数字数据送给单片机的P3^3引脚,经单片机处理二进制数据成十进制送给八位数据线和P2端连接的四位七段数码管上显示,数码管由三极管驱动,四个段取位分别和P0^6,P0^5,P0^4,P0^3连接。

外部半导体制冷器电路通过一个5V继电器和单片机的P1^0相连,达到单片机对系统温度的调节。

P1^1和P1^2分别接有一个LED发光灯,分别产生调温和恒温的光信号。

2、系统功能模块划分及电路图:

(1)主芯片:

stc89c52rc,采用12MHZ的晶体,主芯片的振荡和复位电路:

(2)DS18B20部分:

(3)数码管显示部分:

(4)继电器指示灯部分:

(5)两块半导体制冷器串联在继电器常开端,小风扇和它们并联,控温装置放在容器的一侧,风扇和制冷片中间隔着一个散热器。

(2)软件部分

1、软件设计方案:

以DS18B20的读写温度数据和数码管显示实时温度程序为主,加上对测得温度处理在外部显示信号。

2、流程图:

判断有无DS18B20

DS18B20复位

开始

 

读出实时温度转化为十进制

 

数码管显示十进制温度数字

继电器断开,仅指示灯2发光

继电器吸合,外部温控电路工作,仅指示灯1发光

温度达到预定值±1?

 

3、软件代码:

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitDQ=P3^3;//DS18B20数据接口

sbitp6=P0^6;//四位数码管段选位

sbitp5=P0^5;

sbitp4=P0^4;

sbitp3=P0^3;

sbitjdq=P1^0;//继电器接口

sbitled1=P1^1;//指示灯

sbitled2=P1^2;

codeuchartab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//不带小数点

codeuchartab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//带小数点

uchara,b,t;//a是读数高四位,b是低四位。

t为十进制温度

ucharbai,shi,ge;//温度百十个位数字

uchartemp;//预定温度

//延时函数

voiddelay(uinti)

{

while(i--);

}

//初始化

bitint_ds18b20()

{

ucharx=0;

DQ=1;

delay(8);

DQ=0;

delay(80);

DQ=1;

delay(14);

x=DQ;

delay(20);

returnx;

}

//读一字节

read()

{

uchari=0;

uchardat=0;

for(i=8;i>0;i--)

{

DQ=0;

dat>>=1;

DQ=1;

if(DQ)

dat|=0x80;

delay(4);

}

returndat;

}

//写一字节

write(uchardat)

{

uchari=0;

for(i=8;i>0;i--)

{

DQ=0;

DQ=dat&0x01;

delay(5);

DQ=1;

dat>>=1;

}

delay(4);

}

//温度处理

voiddeal(uchari)

{

if(itemp+1)

{

jdq=0;

led1=0;

led2=1;

}

else

{

led1=1;

led2=0;

jdq=1;

}

}

//转换函数

voidint_()

{

while(int_ds18b20());

write(0xcc);

write(0x44);

}

voidmain()

{

uintcount=0;

P2=0x00;

int_();

delay(2200);

for(count=0;count<1000;count++)

{

p6=0;

P2=tab[0];

delay(20);

p6=1;

p5=0;

P2=tab[0];

delay(20);

p5=1;

p4=0;

P2=tab[0];

delay(0);

p4=1;

p3=0;

P2=0xc6;

delay(20);

p3=1;

}

while

(1)

{

delay(120);

while(int_ds18b20());

write(0xcc);

write(0xbe);

a=read();

b=read();

if(b>127)

{

a=~a;

b=~b;

a=a>>4;

t=b<<4;

t=t|a;

t+=1;

shi=t/10;

ge=t-shi*10;

for(count=0;count<123;count++)

{

if(t>=10)

{

p6=0;

P2=0xbf;

delay(20);

p6=1;

p5=0;

P2=tab[shi];

delay(20);

p5=1;

p4=0;

P2=tab1[ge];

delay(20);

p4=1;

p3=0;

P2=0xc6;

delay(20);

p3=1;

}

else

{

p6=1;

p5=0;

P2=0xbf;

delay(20);

p5=1;

p4=0;

P2=tab1[ge];

delay(20);

p4=1;

p3=0;

P2=0xc6;

delay(20);

p3=1;

}

}

}

else

{

count=0;

a=a>>4;

t=b<<4;

t=t|a;

bai=t/100;

shi=(t-bai*100)/10;

ge=t-(bai*100+shi*10);

for(count=0;count<123;count++)

{

if(bai)

{

p6=0;

P2=tab[bai];

delay(20);

p6=1;

}

else

p6=1;

if(shi)

{

p5=0;

P2=tab[shi];

delay(20);

p5=1;

}

p5=1;

p4=0;

P2=tab1[ge];

delay(20);

p4=1;

p3=0;

P2=0xc6;

delay(20);

p3=1;

}

}

deal(t);

int_();

}

}

(三)系统总电路图:

3、缺陷处:

1、只能在烧程序时设定温控预定值,制冷制热前分别要烧录一下程序。

2、制冷和制热时不能自动更换半导体制冷器的正负极,需要手动更换。

3、测温有误差。

4、测试方法与仪器

温度计测量水的温度和显示的比较,检验能否达到恒温的效果。

5、测试结果与分析

由于没有12V电源和外部测温装置,我们没有测试环节,只是自己检测了电路能导通,制冷器散热片能工作。

还要周六用主办方的装置测试。

此项暂无。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1