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

📄 ds18b20_main.c

📁 16个单片机c语言实验程序
💻 C
字号:
//温度传感器DS18B20试验
//间隔2s采集一次温度值
//使用1602的液晶作为显示
#include <iom16v.h>     
#include <macros.h>
#include "18B20.h"
#include "1602.h"

uchar adc_0[]={"Temperature:"};
uchar adc_1[]={0xdf,0x43};   //温度ascii代码

//延时函数在16M时延时1ms
void s_1ms(unsigned int ms)
{
    unsigned int aa;
	for(;ms>=1;ms--)
	{
	for(aa=0;aa<=2000;aa++)
	{;}
	}
}	
 

void main()
{ 
unsigned int i,tem3,tem2,tem1;
//端口初始化
DDRA = 0xff;      
PORTA = 0x00;      
DDRB = 0xFF;    
PORTB = 0xF0;       
DDRC = 0x00; 
PORTC = 0xFF; 
DDRD = 0xff; 
PORTD = 0xff;
 
//延时200ms
s_1ms(200); 
//DS18B20复位
ds1820_reset();      
//1602 初始化
LcdInit();   
WriteChar(1,0,12,adc_0);
WriteChar(1,14,2,adc_1);

while (1) 
  {
  //进行一次转换
  ds1820_start();    
  s_1ms(1000);     
  i = ds1820_read_temp();   //读取温度数值
  i = (i * 10) / 16;        //数值处理     数值*0.625
  //第3位没有显示
  i = i % 1000;  
  //显示第2位
  tem2= i / 100;
  WriteNum(1,12,tem2); 
  i = i % 100;  
  //显示第1位
  tem1= i / 10;
  WriteNum(1,13,tem1);
  } 
}

⌨️ 快捷键说明

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