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

📄 callb20.c

📁 北京航空航天大学出版社 单片机与嵌入式系统 图书介绍 (2007年第2期) 通信地址: 北京市海淀区学院路37号 北京航空航天大学出版社 邮编: 1
💻 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 + -