📄 callb20.c
字号:
/*************************************************************
/* 这是调用DS18B20的汇编程序(DS18B20B.ASM)的C51程序, */
/* 文件名CALLB20.C */
/* 功能:本程序主要是读出单个DS18B20芯片的温度转换值,转换值放*/
/* 在变量temp1中。转换值为BCD码,范围-55℃~99℃。若flag0*/
/* =1为负温度值,若flag0=0为正温度值。 */
/*************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
void timedelay(uint timess);
void delay1(uint x);
extern uint chai; //把全局变量chai声明为外部变量
extern uint a_func(uchar); //把a_func 声明为外部函数
uint idata temp1 ;
uchar flag0;
void timedelay(uint timess) //延时程序
{
uint tj;
for (tj=timess;tj>0;tj--){;}
}
void delay1(uint x) //延时程序
{
uchar tw;
while (x-->0){
for (tw=0;tw<125;tw++){;}
}
}
void main() //主程序
{
SP=0xcf;
timedelay(10000);
delay1(1000);
EA=0;
flag0=0;
chai=a_func(0x00); // 读出DS18B20采集的温度转换值
temp1=chai; // 放入变量temp1中。
//若flag0=0为正温度;若flag0=1为负温度值。
if (temp1>255){flag0=1;temp1=temp1-256;}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -