📄 main.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -