⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds18b20.c

📁 使用KEIL C51编写的DS18B20温度采集程序!
💻 C
字号:

#include <reg52.h>		// 引用标准库的头文件
#include <absacc.h>
#include <stdio.h>
#include <math.h>

#define uchar unsigned char 
#define uint unsigned int 

uchar data tplsb,tpmsb,a_bit,b_bit,c_bit,d_bit;		// 温度值低位、高位字节 ,及显示的四位
uchar data dd;
uint data ee;
float data ff;
sbit DQ = P3^4;			// 数据通信线DQ
sbit P2_7=P2^7;
sbit P2_6=P2^6;
sbit P2_5=P2^5;
sbit P2_4=P2^4;
uchar high(uchar i)
 {
  uchar a,b;
  b=10;
  a=i/b;
  return(a);
  }

uchar low(uchar i)
 {
  uchar c,d;
  d=10;
  c=i%d;
  return(c);
  }

/* 根据共阴极字型编码表获取0~9,A~B字型代码 */
unsigned char getcode(unsigned char i)
{
	unsigned char p;
	switch (i)
	{
		case 0:	 p=0xc0;	break;			/* 0 */
		case 1:	 p=0xf9;	break;			/* 1 */
		case 2:	 p=0xa4;	break;			/* 2 */
		case 3:	 p=0xb0;	break;			/* 3 */
		case 4:	 p=0x99;	break;			/* 4 */
		case 5:	 p=0x92;	break;			/* 5 */
		case 6:	 p=0x82;	break;			/* 6 */
		case 7:	 p=0xF8;	break;			/* 7 */
		case 8:	 p=0x80;	break;			/* 8 */
		case 9:	 p=0x90;	break;			/* 9 */
		case 10: p=0x88;	break;			/* A */
		case 11: p=0x83;	break;			/* B */
		case 12: p=0xc6;	break;			/* C */
		case 13: p=0xa1;	break;			/* D */
		case 14: p=0x86;	break;			/* E */
		case 15: p=0x8e;	break;			/* F */
		default: 			break;
	}
	return(p);
}

/* 延时t毫秒 */
void delay(uint t)
{
	uint i;
	while(t--)
	{
		/* 对于11.0592M时钟,约延时1ms */
		for (i=0;i<125;i++)
		{}
	}
} 
void display(void)//显示鞒绦

⌨️ 快捷键说明

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