main.c

来自「Keil C 写的51单片机DS18B20温度传感器的驱动」· C语言 代码 · 共 57 行

C
57
字号
#include<reg51.h>
#include<stdio.h>
#include"inc/define.h"		//数据类型定义
#include"inc/exactdly.h"	//精确延时函数
#include"inc/ds18b20.h"

extern u8 gActive_DS18B20;

void SerialInit(void);

int main()
{
	u8 i;
	s16 tempert;
	u8 ramData[9] = {0};
	u8 serialNO[8] = {0};
	
	SerialInit();
	while(1)
	{	
		SetAlarm(100,-30);
		GetRAMData(ramData);
		/*keil c的printf跟ansi c的printf不太一样。如果数据是8位的话需要加上b */
		printf("The High alarm Temperature is: %bd\n",(s8)ramData[2]);
		printf("The Low alarm Temperature is: %bd\n",(s8)ramData[3]);
		
		if(0==GetSerialNO(serialNO,1))
		{
			printf("serial number: ");
			for(i=0;i<8;i++)
				printf("%#bx  ",(u8)serialNO[i]);
			printf("\n");
		}
		else
		{
			printf("Wrong serial number Getted! Try again!\n");
		}
			
		tempert=GetTempert(1);
		if(-0x8400 != tempert)	//获得的温度数据正确
			printf("Now temperature is %4.1f\n",tempert/16.00);	
		else
			printf("Wrong temperature Getted! Try again!\n");
		printf("\n");

	}  
		
	return 0;
}

void SerialInit()	//串口初始化,为使用printf()和scanf()做准备
{
	SCON=0x53;	
	TMOD=0x20;
	TH1=0xFD;
	TR1=1;
}

⌨️ 快捷键说明

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