• 大小: 208KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C/C++
  • 标签: 完整版  

资源简介

此文件时本人电信专业课程设计—温度控制系统-包含(C语言程序,Proteus仿真,报告) 完整版

资源截图

代码片段和文件信息

#include 
#define uchar unsigned char 
#define uint unsigned int 
#define ActualTemp_worth 9
#define TempSet_worth 9
#define row_worth 16
void dentify_key(uchar key);
void get_temp(void);
uchar keyscan();
void solid_data(void);
uchar sktemp2;//sk表示有键按下标志,temp2用来临时存储扫描值
uchar code table[]=“RealTemp:“;
uchar code table1[]=“TempRset:“;
uchar code table2[]={0xdf‘C‘};
uchar code table3[]=“ADD“;
uchar code table4[]=“SUB“;
uchar aa_lowbtt1temp1keyc;//t表示温度整数部分,t1表示温度小数部分temp1为中间变量(P3)
float t2f_temp;
uint temp;
uchar sg=0made_temp=0made_temp1=0;

sbit lcden=P1^7;    //*******************LCD1602的使能端
sbit lcdrs=P1^6;    //*******************LCD1602的数据命令端
sbit DQ=P1^1;         //*******************DS18B20的DS端
sbit SIG=P1^5;    //******************按键输入信号
sbit ADD=P1^2;
sbit SUB=P1^3;
sbit ex0_enter=P3^2;

uchar code tablenum[]={0xc00xf90xa40xb00x99 //0~9
   0x920x820xf80x800x90};


uchar code tablenum2[]={0x300x310x320x330x34 //0~9的ASIIC值
0x350x360x370x380x39};

/*****************************************************************

LCD1602液晶显示

*****************************************************************/
uchar num=0;

void delay(int z)//延迟函数delay
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

void delay1(uint i)//延迟函数delay1
{
while(i>0) i--;
}

void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(1);
lcden=1;
delay(1);
lcden=0;
}

void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(1);
lcden=1;
delay(1);
lcden=0;
}

void init_lcd()//LCD1602初始化函数
{

lcden=0;

write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}

bit int_DS18B20(void)//DS18B20初始化函数
{
unsigned char x=0;
uint i;
DQ=0;
i=103;
    while(i>0)i--;
DQ=1;
i=4;
while(i>0)i--;
x=DQ; //延时片刻后,若x=0则初始化成功;若x=1,则初始化失败
delay(20);
return x;
}

//*************DS18B20读取一位数据函数
bit tempreadbit(void)
{
uint i;
bit dat;
DQ=0;i++;
DQ=1;i++;i++;
dat=DQ;
i=8;while(i>0)i--;
return (dat);
}


//*************DS18B20读取一个字节函数
uchar Read(void)//DS18B20读取一个字节
{
unsigned char i=0;
unsigned char j=0;
unsigned char dat=0;
for(i=8;i>0;i--)
{
j=tempreadbit();
dat=(j<<7)|(dat>>1);

}
return(dat);
}

//*************DS18B20写一个字节函数
Write(unsigned char dat)
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb)
{
DQ=0;
i++;i++;
DQ=1;
i=8;while(i>0)i--;
}
else
{
DQ=0;
i=8;while(i>0)i--;
DQ=1;
i++;i++;
}
}
}

//****************启动转换函数
void int_(void)
{
while(int_DS18B20());//若为1,重新初始化
delay(1);
Write(0xcc);
Write(0x44);
}


//main()主函数
void main()
{
init_lcd();//液晶初始化
int_();   //启动温度转换
sk=0;
c=0;
EA=1; //开总中断
EX0=1;  //打开外部中断0中断

  solid_data();//打印固定数据
while(1)
{
int_();

delay1(1700);//等待温度传感器转换温度

get_temp();

keyscan()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-01-06 11:19  专业课程设计—温度控制系统 完整版\
     目录           0  2011-01-06 11:19  专业课程设计—温度控制系统 完整版\proteus_fangzhen\
     文件       18209  2011-01-01 23:20  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602
     文件        8845  2011-01-01 23:20  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.c
     文件        6802  2011-01-01 23:20  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.hex
     文件       23199  2011-01-01 23:20  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.LST
     文件       25215  2011-01-01 23:20  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.M51
     文件       20892  2011-01-01 23:20  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.OBJ
     文件        1260  2011-01-03 17:48  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.Opt
     文件         179  2011-01-03 17:48  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.plg
     文件        2006  2010-12-30 18:17  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602.Uv2
     文件        1264  2011-01-02 21:27  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602_Opt.Bak
     文件        1988  2010-12-30 14:16  专业课程设计—温度控制系统 完整版\proteus_fangzhen\lcd1602_Uv2.Bak
     文件      106911  2011-01-04 19:28  专业课程设计—温度控制系统 完整版\温度控制系统设计报告.docx
     目录           0  2011-01-06 11:19  专业课程设计—温度控制系统 完整版\温度自动控制系统\
     文件      147063  2007-10-11 18:19  专业课程设计—温度控制系统 完整版\温度自动控制系统\Backup Of 温度控制.DBK
     文件      150695  2011-01-01 21:46  专业课程设计—温度控制系统 完整版\温度自动控制系统\Last Loaded 温度控制.DBK
     文件      150690  2011-01-01 23:02  专业课程设计—温度控制系统 完整版\温度自动控制系统\温度控制.DSN
     文件        1340  2011-01-04 19:26  专业课程设计—温度控制系统 完整版\温度自动控制系统\温度控制.PWI

评论

共有 条评论

相关资源