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

📄 call20b.c

📁 单片机C语言教程
💻 C
字号:
/*************************************************************
/* 这是调用DS1620的汇编程序(DS1620B.ASM)的C51程序,         */
/* 文件名CALL20B.C                                           */
/* 功能:本程序主要是读出DS1620芯片的温度转换值,转换值先放   */
/*       在变量temp1中。转换值范围-55℃~125℃。 若flag0=0为  */
/*       正温度,若flag0=1为负温度值,最终结果在浮点变量cc中。 */
/*************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

void delay1(uint x);

extern  uint chai;          //把全局变量chai声明为外部变量
extern  uint a_func(uchar); //把a_func 声明为外部函数

uint idata temp1;
uchar flag0,temp2;
float idata cc;

void delay1(uint x)          //延时程序
{
 uchar tw;
 while (x-->0){
 for (tw=0;tw<125;tw++){;}
 }
}

void main()                   //主程序
{
      SP=0xcf;
      delay1(1000);
      EA=0;
      flag0=0;
      chai=a_func(0x0a);      // 读出DS1620的温度转换值
      temp1=chai;             // 放入变量temp1中
      temp1=temp1&0x01ff;     // 保留数值有用部分
      //若flag0=0为正温度,若flag0=1为负温度值,结果在变量cc中。
      if  (temp1>0xff) {
      	flag0=1;
      	temp2=temp1-256;
      	temp2=~temp2+1;
      	temp1=temp2;
      	}
      cc=(float)temp1/2.0;    //计算出温度值
      while(1);
}

⌨️ 快捷键说明

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