Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DS1621_Atmega32_LCD_16x2
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
RED_BULLok
Здравствуйте. Много тем встретил на форуме про датчик и работу с ним, но чтото никак не могу разобраться с выводом температуры на LCD.

в CV есть готовые библиотеки для этого датчика, так что остановился на этой программе.
Моделирую работу в Proteus 7.1 sp2

код

#include <mega32.h>

// I2C Bus functions
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=1
.equ __scl_bit=0
#endasm

#include <i2c.h>

// DS1621 Thermometer/Thermostat functions
#include <ds1621.h>

// Alphanumeric LCD Module functions

#asm
.equ __lcd_port=0x1B ;PORTA
#endasm

#include <lcd.h>
#include <stdio.h>
#include <math.h>

// Declare your global variables here
char display_buffer[33];


void main(void)
{

// Declare your local variables here
int t0;

// I2C Bus initialization
i2c_init();

// DS1621 Thermometer/Thermostat initialization
// tlow: 10°C
// thigh: 20°C
// Tout polarity: 1
ds1621_init(0,10,20,1);

// LCD module initialization
lcd_init(16);

while (1)
{
t0=ds1621_temperature_10(0);
// Place your code here
sprintf(display_buffer,"t0=%-i.%-u%cC",
t0/10,abs(t0%10),0xdf);

/* display the temperatures */
lcd_clear();
lcd_puts(display_buffer);
};
Нажмите для просмотра прикрепленного файла
RED_BULLok
Тема закрыта. Всё работает; нужно правильно читать datasheet'ы sad.gif
Obama
А в чем конкретно дело было ?
RED_BULLok
Цитата(Obama @ Apr 21 2008, 17:55) *
А в чем конкретно дело было ?

Дело было в задержках. Преобразование температуры в этом датчике (точнее измерительном преобразователе) занимает как минимум 400 ms. Написал программку, поставил задержки, ( готовые библиотеки Code Vision AVR просто ужасны ) и всё заработало.
Кстати, кому интересно, есть программка для Atmega32 реализации цифрового гигрометра. Погрешность определения влажности ниочЭнь, но можно DS'ки выкинуть, поставить что толковое.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.