利用18b20和1602可实现温度的采集和显示,是编写温度自动控制系统的部分程序。
程序如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit dq=P2^7;
sbit rs=P3^0;
sbit rw=P3^1;
sbit e=P3^2;
sbit bf=P0^7;
bit presence;
uint temp;
float f_temp;
uchar m,n,j,k;
uchar code table[ ] = {"WENDU: . C"} ;
uchar temp_data[2] = {0x00,0x00} ;
uchar code table1[]="0123456789";
uchar code table2[16] =
{0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00} ;
void delay(uint z)
{uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);}
void delayus(uint z)
{while(--z);}
bit busytest()
{bit result;
rw=1;
rs=0;
e=1;
delayus(5);
result=bf;
e=0;
return result;}
void write_com(uchar com)
{while(busytest());
rs=0;