您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 经典12864和DS18B20温度显示程序
本程序说明:该程序应用在STC89C52STC89C52STC89C52STC89C52单片机,连接12864128641286412864(带字库)液晶和DS18B20DS18B20DS18B20DS18B20温度传感器;只要连接好硬件电路后,并且下载此程序,即可运行使用。/******************************************************************//******************************************************************//******************************************************************//******************************************************************/#include#include#include#includereg52.hreg52.hreg52.hreg52.h/******************************************************************//******************************************************************//******************************************************************//******************************************************************/#define#define#define#defineucharucharucharucharunsignedunsignedunsignedunsignedcharcharcharchar#define#define#define#defineuintuintuintuintunsignedunsignedunsignedunsignedintintintint/******************************************************************//******************************************************************//******************************************************************//******************************************************************/ucharucharucharucharcodecodecodecodetable1[]={table1[]={table1[]={table1[]={我的大学};};};};ucharucharucharucharcodecodecodecodetable2[]={1234567890123456};table2[]={1234567890123456};table2[]={1234567890123456};table2[]={1234567890123456};ucharucharucharucharcodecodecodecodetable3[]={table3[]={table3[]={table3[]={当前温度为:Temp:Temp:Temp:Temp};};};};ucharucharucharucharcodecodecodecodetable4[]={table4[]={table4[]={table4[]={摄氏度};};};};/******************************************************************//******************************************************************//******************************************************************//******************************************************************/sbitsbitsbitsbitDQ=P3^3;DQ=P3^3;DQ=P3^3;DQ=P3^3;//ds18b20//ds18b20//ds18b20//ds18b20数据口sbitsbitsbitsbitrs=P3^5;rs=P3^5;rs=P3^5;rs=P3^5;//12864//12864//12864//12864rsrsrsrs端口sbitsbitsbitsbitrw=P3^6;rw=P3^6;rw=P3^6;rw=P3^6;//12864//12864//12864//12864rwrwrwrw端口sbitsbitsbitsbite=P3^4;e=P3^4;e=P3^4;e=P3^4;//12864//12864//12864//12864eeee端口sbitsbitsbitsbitpsb=P3^7;psb=P3^7;psb=P3^7;psb=P3^7;//12864//12864//12864//12864psbpsbpsbpsb端口ucharucharucharucharm;m;m;m;uintuintuintuinttemp;temp;temp;temp;ucharucharucharucharflag_get,num,sign;flag_get,num,sign;flag_get,num,sign;flag_get,num,sign;ucharucharucharucharst[6];st[6];st[6];st[6];/******************************************************************//******************************************************************//******************************************************************//******************************************************************/voidvoidvoidvoiddelay(uintdelay(uintdelay(uintdelay(uinti)i)i)i)////////延时函数{{{{while(i--);while(i--);while(i--);while(i--);}}}}voidvoidvoidvoidInit_DS18B20()Init_DS18B20()Init_DS18B20()Init_DS18B20()//ds18b20//ds18b20//ds18b20//ds18b20初始化{{{{ucharucharucharucharx=0;x=0;x=0;x=0;DQDQDQDQ====1;1;1;1;delay(8);delay(8);delay(8);delay(8);DQDQDQDQ====0;0;0;0;delay(80);delay(80);delay(80);delay(80);DQDQDQDQ====1;1;1;1;delay(10);delay(10);delay(10);delay(10);x=DQ;x=DQ;x=DQ;x=DQ;delay(5);delay(5);delay(5);delay(5);}}}}ucharucharucharucharReadOneChar()//ds18b20ReadOneChar()//ds18b20ReadOneChar()//ds18b20ReadOneChar()//ds18b20读取温度值{{{{ucharucharucharuchari=0;i=0;i=0;i=0;ucharucharucharuchardatdatdatdat====0;0;0;0;forforforfor(i=8;i0;i--)(i=8;i0;i--)(i=8;i0;i--)(i=8;i0;i--){{{{DQDQDQDQ====0;0;0;0;dat=1;dat=1;dat=1;dat=1;DQDQDQDQ====1;1;1;1;if(DQ)if(DQ)if(DQ)if(DQ)dat|=0x80;dat|=0x80;dat|=0x80;dat|=0x80;delay(5);delay(5);delay(5);delay(5);}}}}return(dat);return(dat);return(dat);return(dat);}}}}/******************************************************************//******************************************************************//******************************************************************//******************************************************************/voidvoidvoidvoidWriteOneChar(ucharWriteOneChar(ucharWriteOneChar(ucharWriteOneChar(uchardat)dat)dat)dat){uchar{uchar{uchar{uchari=0;i=0;i=0;i=0;forforforfor(i=8;(i=8;(i=8;(i=8;i0;i0;i0;i0;i--)i--)i--)i--){{{{DQDQDQDQ====0;0;0;0;DQDQDQDQ====dat&0x01;dat&0x01;dat&0x01;dat&0x01;delay(5);delay(5);delay(5);delay(5);DQDQDQDQ====1;1;1;1;dat=1;dat=1;dat=1;dat=1;}}}}delay(5);delay(5);delay(5);delay(5);}}}}/******************************************************************//******************************************************************//******************************************************************//******************************************************************/uintuintuintuintReadTemperature()//ds18b20ReadTemperature()//ds18b20ReadTemperature()//ds18b20ReadTemperature()//ds18b20读取温度值{{{{ucharucharucharuchara=0;a=0;a=0;a=0;uintuintuintuintb=0;b=0;b=0;b=0;uintuintuintuintt=0;t=0;t=
本文标题:经典12864和DS18B20温度显示程序
链接地址:https://www.777doc.com/doc-8360719 .html