main.c

来自「利用DS18B20测量出温度」· C语言 代码 · 共 55 行

C
55
字号
#include<reg52.h>
#include"DS18B20.H"
#include<string.h>
#define uchar unsigned char

extern	char disp_buf[];
void	display();

void	print(unsigned val)
{
	uchar v=val>>4;
	disp_buf[6]=v%10;
	v/=10;
	disp_buf[5]=v%10;
	v=val&0x000f;
	disp_buf[7]=v*6/10;
}

void init(void)
{
	unsigned i;
	for(i=0;i<2000;i++);
	TMOD=0X01;
	TL0=-(2000%256);
	TH0=-(2000/256);
	TR0=1;
	ET0=1;
	EA=1;
}
void delay_800ms()
{
	uchar i,j,k;
	for(i=8;i>0;i--)
		for(j=200;j>0;j--)
			for(k=250;k>0;k--);
}
main()
{
	unsigned temper;
	init();
	while(1)
	{
		start_temper();
		delay_800ms();
		temper=read_temper();
		print(temper);
	}
}
void t0_int(void) interrupt 1 using 1
{
	TL0=65536-2000;
	TH0=(65536-2000)>>8;
	display();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?