Attiny2313 + Ds18B20 + Индикатор

6-05-2015, 02:21 От: admin Посмотрели: 621
Здравствуйте! Пытаюсь собрать простой термометр, вроде бы все написал, да только вот проблема: при моделировании в протеусе два правых индикатора мигают, а постоянно горит только 3й справа. Вот код:


#include <tiny2313.h>
#include <delay.h>
#asm
.equ __w1_port=0x12
.equ __w1_bit=3
#endasm
#include <1wire.h>
#include <ds18b20.h>
void set(int s)
{
int i,n;
int j;
unsigned int a[] = {0b11111100, 0b01100000, 0b11011010, 0b11110010, 0b01100110, 0b10110110, 0b10111110, 0b11100000, 0b11111110, 0b11110110};
unsigned int c;
n=1;
for (j=0; j<3; j++) {
c=a[s%10];
if (n==1) {PORTD.1=1; PORTD.2=1;}
if (n==2) {PORTD.0=1; PORTD.2=1; c=c+1;}
if (n==3) {PORTD.0=1; PORTD.1=1;}
PORTB.2=0;
for (i=0; i<8; i++)
{
PORTB.1=c%2;
PORTB.0=0;
PORTB.0=1;
c=c/2;
}
PORTB.2=1;
if (n==1) {PORTD.0=0;}
if (n==2) {PORTD.1=0;}
if (n==3) {PORTD.2=0;}
delay_ms(1);
n=n+1;
s=s/10;
}
}
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
PORTD=0b11110111;
DDRD=0b11110111;

w1_init();

while (1)
{
int temp;
temp=ds18b20_temperature(0)*10;
set(temp);
}
}

Я так понимаю, что проблема возникла из-за задержки при чтении температуры:


temp=ds18b20_temperature(0)*10;



Собственно, как можно решить данную проблему?

Схема в Протеусе

Attiny2313 + Ds18B20 + Индикатор
Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Attiny2313 + Ds18B20 + Индикатор все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031