Чтобы при температуре 20 градусов включался лог 1 на порт Д.0
и при меншей на Порт Д.0 был лог 0.
вот код программы
#include <mega8>
#include <delay>
#asm
.equ __w1_port=0x18 ;PORTB
.equ __w1_bit=0
#endasm
#include <1wire>
#include <ds18b20>
void main(void)
{
unsigned char devices;
int temp;
devices = w1_init();
PORTD = 0x00; //Выставляем все выходы порта D на 0, то есть, выключаем весь порт D
DDRD = 0xFF;
while (1)
{
temp=ds18b20_temperature(0); //читаем температуру
if (temp>20)
{
PORTD.0 = 1;
}
else PORTD.0 = 0;
}
}
но почемуто он не пашет помогите разобраться
датчик подключен к порту Б.0
прилагаеться файл протеуса
- Вложения
-
- 1233.rar
- (7.31 КБ) 368 скачиваний


