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

📄 bootloader.c

📁 操作DS18B20器件并且在1602上显示
💻 C
字号:
/******************************************************************************/
/**
/** 模 块 名: -------------------Virtual_UART.C-----------------------------
/**            -----------------虚拟串口调试------------------------------*/
/** 功能描述: 
/**
/** 创 建 人: huangtiexiong   	日期:2006-11-28   */
/** 修 改 人:                 	日期:2006-11-28   */ 
/** 其他说明: 
/******************************************************************************/
#include "Includes.h"

int8u bdata gTmp;
sbit t0 = gTmp^0;
sbit t1 = gTmp^1;
sbit t2 = gTmp^2;
sbit t3 = gTmp^3;
sbit t4 = gTmp^4;
sbit t5 = gTmp^5;
sbit t6 = gTmp^6;
sbit t7 = gTmp^7;

/*************************************************
    子函数定义                  
*************************************************/

/*******************************************************************************
*** 函 数 名: void main(void)
*** 功能描述: 本例程调试用故仅对DS18B20执行一次读操作,不支持温度实时显示,有此需要者适当修改本例程
			  在Proteus 6.9SP4下调试通过,其他版本未知
*** 全局变量: 
*** 输		入: 
*** 输		出: 
*** 创 建 人:huangtiexiong			  日期:2006-11-28
*** 修 改 人:			 							日期:2006-11-28
*** 函数说明: 
/******************************************************************************/
void main(void)
{
	int8u datTm[2];
	int8u dispBuf[7];
	float temp;
	int8u buftmp;
	LCD_Init();
	
	DS18B20_Init();
	DS18B20_RomCmd(0xcc);	//Skip Rom command;
	Delay_Xms(20);
	DS18B20_MemCmd(0x44);	//Convert T command;
	
	DS18B20_Init();
	DS18B20_RomCmd(0xcc); //Skip Rom command
	DS18B20_MemCmd(0xbe);	 //读暂存存储器
	DS18B20_ReadDat(2,datTm);
		
	LCD_Display(0,"Temperature:");
	gTmp = datTm[0];
	temp = (int8u)t0 * 0.0625 + (int8u)t1 * 0.125 + (int8u)(t2) * 0.25 + (int8u)(t3) * 0.5;
	buftmp = (int8u)(temp*10);
	dispBuf[2] = '.';
	dispBuf[3] = buftmp + '0';
	
	buftmp = (int8u)t4 + (int8u)t5*2 + (int8u)t6*4 + (int8u)t7*8;
	gTmp = datTm[1];
	gTmp &= 0x07;
	buftmp += (gTmp * 16);
	dispBuf[0] = (buftmp/10) + '0';
	dispBuf[1] = (buftmp%10) + '0';
	
	dispBuf[4] = 0xdf;		//摄氏度;
	dispBuf[5] = 'C';
	dispBuf[6] = '\0';
	LCD_Display(1,dispBuf);
	
	while(1);
	}

/*******************************************************************************
****                              End Of File
*******************************************************************************/

⌨️ 快捷键说明

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