?? ds18b20_main.c
字號:
//溫度傳感器DS18B20試驗(yàn)
//間隔2s采集一次溫度值
//使用1602的液晶作為顯示
#include <iom16v.h>
#include <macros.h>
#include "18B20.h"
#include "1602.h"
uchar adc_0[]={"Temperature:"};
uchar adc_1[]={0xdf,0x43}; //溫度ascii代碼
//延時(shí)函數(shù)在16M時(shí)延時(shí)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;
//延時(shí)200ms
s_1ms(200);
//DS18B20復(fù)位
ds1820_reset();
//1602 初始化
LcdInit();
WriteChar(1,0,12,adc_0);
WriteChar(1,14,2,adc_1);
while (1)
{
//進(jìn)行一次轉(zhuǎn)換
ds1820_start();
s_1ms(1000);
i = ds1820_read_temp(); //讀取溫度數(shù)值
i = (i * 10) / 16; //數(shù)值處理 數(shù)值*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);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -