单总线温控可调设计 文档.docx

上传人:b****2 文档编号:17156326 上传时间:2023-07-22 格式:DOCX 页数:25 大小:396.34KB
下载 相关 举报
单总线温控可调设计 文档.docx_第1页
第1页 / 共25页
单总线温控可调设计 文档.docx_第2页
第2页 / 共25页
单总线温控可调设计 文档.docx_第3页
第3页 / 共25页
单总线温控可调设计 文档.docx_第4页
第4页 / 共25页
单总线温控可调设计 文档.docx_第5页
第5页 / 共25页
单总线温控可调设计 文档.docx_第6页
第6页 / 共25页
单总线温控可调设计 文档.docx_第7页
第7页 / 共25页
单总线温控可调设计 文档.docx_第8页
第8页 / 共25页
单总线温控可调设计 文档.docx_第9页
第9页 / 共25页
单总线温控可调设计 文档.docx_第10页
第10页 / 共25页
单总线温控可调设计 文档.docx_第11页
第11页 / 共25页
单总线温控可调设计 文档.docx_第12页
第12页 / 共25页
单总线温控可调设计 文档.docx_第13页
第13页 / 共25页
单总线温控可调设计 文档.docx_第14页
第14页 / 共25页
单总线温控可调设计 文档.docx_第15页
第15页 / 共25页
单总线温控可调设计 文档.docx_第16页
第16页 / 共25页
单总线温控可调设计 文档.docx_第17页
第17页 / 共25页
单总线温控可调设计 文档.docx_第18页
第18页 / 共25页
单总线温控可调设计 文档.docx_第19页
第19页 / 共25页
单总线温控可调设计 文档.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单总线温控可调设计 文档.docx

《单总线温控可调设计 文档.docx》由会员分享,可在线阅读,更多相关《单总线温控可调设计 文档.docx(25页珍藏版)》请在冰点文库上搜索。

单总线温控可调设计 文档.docx

单总线温控可调设计文档

设计文件

第1册

共16页

共1册

产品型号:

产品名称:

单总线温控可调监测系统

产品图号:

本册内容:

旧底图总号

小组成员:

底图总号

日期

签字

2013年12月19日

描图:

描校:

设计文件明细表

产品名称

单总线温控可调监测系统

产品图号

序号

文件代号

文件名称

页数

备注

1

01

系统框图

3

2

02

电路原理图

4

3

03

器件清单

5

4

04

印制线路板图

6

5

05

3D模型展示图

7

6

06

程序流程图

8

7

07

程序模块

9—15

8

08

系统仿真效果图

16

9

10

旧底图总号

拟制

审核

底图总号

日期

签字

标准化

第2页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

系统框图

产品名称

单总线温控可调监测系统

名称

产品图号

图号

旧底图总号

底图总号

拟制

审核

日期

签字

标准化

第3页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

电路原理图

产品名称

单总线温控可调监测系统

名称

产品图号

图号

旧底图总号

底图总号

拟制

审核

日期

签字

标准化

第4页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

元器件清单

产品名称

单总线温控可调监测系统

名称

产品图号

图号

序号

器件类型

器件参数

数量

备注

1

AT89C52

1

2

74HC138

1

3

74HC04

1

4

LCD1602

1

5

DS18B20

1

6

晶振

1

7

电阻

4

8

8位排阻

1

9

电容

3

10

二极管

2

11

三极管

2

12

5V直流继电器

2

13

按键开关

13

14

加热器

1

15

直流电机

1

16

USB插座

1

旧底图总号

底图总号

拟制

审核

日期

签字

标准化

第5页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

印刷线路板图

产品名称

单总线温控可调监测系统

工序名称

产品图号

工序号

 

 

旧底图总号

底图总号

拟制

日期

签字

审核

标准化

第6页共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

3D模型展示图

产品名称

单总线温控可调监测系统

工序名称

产品图号

工序号

旧底图总号

底图总号

拟制

审核

日期

签字

标准化

第7页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

程序流程图

产品名称

单总线温控可调系统

工序名称

产品图号

工序号

旧底图总号

底图总号

拟制

审核

日期

签字

标准化

第8页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

程序模块

产品名称

单总线温控可调监测系统

工序名称

产品图号

工序号

#include

#include

typedefunsignedcharuchar;

typedefunsignedintuint;

ucharcodetable1[]="RANGE:

xxC--xxC";

ucharcodetable2[]="Current:

xx.xC";

ucharcodetable3[]="MaxTemp:

C";

ucharcodetable4[]="MinTemp:

C";

ucharcodetable5[]="SetupTemp";

uchartab1[]="";

uchartab2[]="";

ucharset_max=40;

ucharset_min=20;

charkey=0,a=0;

voidkey_work(void);

voidlcd_init(void);

voidwrite_date(uchardate);

voidwrite_com(ucharcom);

voidlcd_scan(void);

uchardatatemp[2]={0x00,0x00};//读出温度缓存

uchardatatable[4]={0};//显示单元数据,共4个数据,一个运算暂存用

floatt=0;

/************************端口定义**********************************/

sbitwd=P2^5;//温度采集

sbithot=P2^7;//加热管

sbitcold=P2^6;//电机风扇

sbitA138=P3^5;

sbitB138=P3^6;

sbitC138=P3^7;

sbitRW=P3^4;

sbitRS=P3^3;

/***********************LCD1602程序******************************/

voidlcd_init(void)

{

A138=1;

RW=0;

B138=1;

C138=0;

write_com(0x38);

write_com(0x01);

write_com(0x06);

write_com(0x0c);

}

voidlcd_delay(ucharx)

{

uchari,j;

for(i=0;i

for(j=0;j<20;j++)

;

}

voidwrite_date(uchardate)

{

P0=date;

lcd_delay(5);

RS=1;

lcd_delay(5);

A138=0;

lcd_delay(5);

A138=1;

}

voidwrite_com(ucharcom)

{

P0=com;

lcd_delay(5);

RS=0;

lcd_delay(5);

A138=0;

lcd_delay(5);

A138=1;

}

voidlcd_scan(void)

{

ucharm;

write_com(0x80);

lcd_delay(5);

for(m=0;m<16;m++)

{

write_date(tab1[m]);

lcd_delay(5);

}

write_com(0x80+0x40);

lcd_delay(5);

for(m=0;m<16;m++)

{

write_date(tab2[m]);

lcd_delay(5);

}

}

/**************按键扫描函数*****************/

voidkey_delay(ucharx)

{

uchari,j;

for(i=0;i

for(j=0;j<10;j++)

;

}

voidkey_num(void)

{

P1=0xfe;//扫描第一行

switch(P1)

{

case0xee:

key=1;break;

case0xde:

key=2;break;

case0xbe:

key=3;break;

}

P1=0xfd;//扫描第二行

switch(P1)

{

case0xed:

key=4;break;

case0xdd:

key=5;break;

case0xbd:

key=6;break;

}

P1=0xfb;//扫描第三行

switch(P1)

{

case0xeb:

key=7;break;

case0xdb:

key=8;break;

case0xbb:

key=9;break;

}

P1=0xf7;//扫描第四行

switch(P1)

{

case0xe7:

key=10;break;

case0xd7:

key=0;break;

case0xb7:

key=11;break;

}

}

voidkey_work(void)

{

switch(key)

{

case10:

a++;

if(a==3)

a=1;

break;

case11:

a=0;

break;

default:

switch(a)

{

case1:

set_max=set_max%10*10;

set_max=set_max+key;

break;

case2:

set_min=set_min%10*10;

set_min=set_min+key;

break;

}

break;

}

}

voidkey_scan(void)

{

P1=0xf0;

if(P1!

=0xf0)

{

key_delay(300);

if(P1!

=0xf0)

{

key_num();

key_work();

}

}

P1=0xf0;

while(P1!

=0xf0);

}

 

/************************延时函数************************/

voiddelay_10us(uintz)

{

for(;z>0;z--);

}

voiddelay_600ms()

{

uinta,b;

for(a=300;a>0;a--)

for(b=250;b>0;b--);

}

/************************18B20复位************************/

voidds18b20_init(void)

{

charX=1;

while(X)

{

while(X)

{

wd=1;

delay_10us

(1);

wd=0;

delay_10us(50);

wd=1;

delay_10us(9);

X=wd;

}

delay_10us(20);

X=~wd;

}

wd=1;

}

/************************18B20写一个字节************************/

voidds18b20_write_byte(ucharval)

{

uchari,X;

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

{

X=val&0x01;

wd=1;delay_10us

(1);

wd=0;delay_10us

(1);

wd=X;//最低位移出,并写入总线

delay_10us(8);

val=val/2;//右移一位,倒数第二位变为最低位

}

wd=1;

delay_10us

(1);//高电平维持11us,写结束

}

/**********************18B20读1个字节********************/

uchards18b20_read_byte(void)

{

uchari;

ucharvalue=0;

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

{

value>>=1;

wd=1;delay_10us

(1);

wd=0;delay_10us

(1);

wd=1;delay_10us

(2);

if(wd)

value|=0x80;

delay_10us(8);

}

wd=1;//总线恢复高电平,DQ=1

return(value);

}

/**********************18B20读温度************************/

voidDS18B20_Read()

{

ds18b20_init();//总线复位

ds18b20_write_byte(0xCC);//发SkipROM命令

ds18b20_write_byte(0x44);//((0xBE)发读命令)送入温度转换命令

wd=1;

delay_600ms();

ds18b20_init();

ds18b20_write_byte(0xCC);//SkipROM

ds18b20_write_byte(0xBE);//((44)发转换命令)送入发读命令

temp[0]=ds18b20_read_byte();//18B20存储器的第一个字节为温度低8位

temp[1]=ds18b20_read_byte();//18B20存储器的第二个字节为温度高8位

}

/************************18B20温度数据处理************************/

voidDS18B20_Work()

{

inttemp1=0;

ucharn=0;//存储符号

if(temp[1]&0x08)//如果实际温度为负值,负温度补码求原码

{

temp1=temp[1];

temp1=temp1<<8;

temp1=temp1|temp[0];

temp1=0xffff-temp1+1;

temp[0]=temp1&0x00ff;

temp1=temp1&0xff00;

temp1=temp1>>8;

temp[1]=temp1;

n=1;

}

table[0]=((temp[0]&0x0f)*0.0625+0.05)*10;

table[3]=((temp[0]&0xf0)>>4)|((temp[1]&0x0f)<<4);

//低八位屏蔽小数位后右移四位与高八位屏蔽高四位后左移四位合并形成温度的整数值

t=table[3]+table[0]/10.0;

table[0]=table[0]+'0';

table[1]=table[3]%10+'0';

table[2]=table[3]/10%10+'0';

table[3]=table[3]/100+'0';

if(table[3]=='0')

{

table[3]=0xfe;

if(table[2]=='0')

{

table[2]=0xfe;

}

}

//温度的百位及十位为0时都不显示,LCD1602的“不显示"代码为0x20

if(n)

table[3]=0x2D;//负温度(最低-55c)时最高位显示"-"

}

/*****************用于18B20变化温度对显示数组的修改*******************/

voidDS18B20_Change()

{

tab2[10]=table[2];

tab2[11]=table[1];

tab2[13]=table[0];

}

/****************************主函数***********************/

main()

{

uchari;

lcd_init();

while

(1)

{

switch(a)

{

case1:

for(i=0;i<16;i++)

{

tab1[i]=table5[i];

tab2[i]=table3[i];

}

tab2[11]=0xdf;

tab2[9]=set_max/10+'0';

tab2[10]=set_max%10+'0';

break;

case2:

for(i=0;i<16;i++)

{

tab1[i]=table5[i];

tab2[i]=table4[i];

}

tab2[11]=0xdf;

tab2[9]=set_min/10+'0';

tab2[10]=set_min%10+'0';

break;

case0:

for(i=0;i<16;i++)

{

tab1[i]=table1[i];

tab2[i]=table2[i];

}

tab1[8]=0xdf;

tab1[14]=0xdf;

tab2[14]=0xdf;

tab1[6]=set_max/10+'0';

tab1[7]=set_max%10+'0';

tab1[12]=set_min/10+'0';

tab1[13]=set_min%10+'0';

DS18B20_Read();//读出18B20温度数据

DS18B20_Work();//处理温度数据

DS18B20_Change();

break;

}

lcd_scan();//显示温度值

key_scan();

if(t>set_max)

{

hot=1;

cold=0;

}

elseif(t

{

cold=1;

hot=0;

}

else

{

cold=1;

hot=1;

}

}

}

 

底图总号

拟制

审核

日期

签字

标准化

第15页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

系统仿真

效果图

产品名称

单总线温控可调监测系统

工序名称

产品图号

工序号

旧底图总号

底图总号

拟制

审核

日期

签字

标准化

第16页

共16页

更改标记

数量

更改单号

签名

日期

批准

描图:

描校:

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2