Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

Термометр к ПК через COM порт

Здесь я хочу показать Вам принцип соединения термодатчика с компьютером, чтобы освоить роботу передачи данных на ПК.
Итак, приступим. Берем функции от прошлых проектов.

Справа блок, который присоединен к МК, а это схема на MAX232, присоединена к СОМ порту.

а вот сам код программы:

#include <mega8.h>
#asm
.equ __w1_port=0x18 ;PORTB
.equ __w1_bit=0
#endasm
#include <1wire.h>
#include <delay.h>
#include <ds18b20.h>
#include <stdio.h>
void main(void)
{
int temp;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600 (Double Speed Mode)
UCSRA=0x02;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x67;

w1_init();
printf(«Start PC Termometr\r»);
while (1)
{
temp=ds18b20_temperature(0);
if(temp>1000)
{ temp=4096-temp;
temp=-temp;
}
printf(«Temp=%i\xf8C»,temp);
delay_ms(1000);
printf(«\n\r»);
};
}

Фюзы прошить на 8 МГц.

Дальше, чтобы проверить работоспособность схемы делаем следующее.
Запускаем программу Hуper Terminal, выбираем порт к которому подключились (СОМ1 или СОМ2….),
потом выставляем скорость обмена 9600 и жмем подключить.

Мы увидим следующую надпись

Start PC Termometr
Temp=27*

Мы видим, что термометр рабочий, «свежие» данные от термометра будут приходить с интенсивностью в 1 секунду.
Наш термометр готов. Вы спросите меня:»А вот зачем использовать такую дорогую микросхему для сопряжения термометра с ПК, если есть
простые схемы, где используются только 2 транзистора?». Отвечаю: эту штуку мы будем доделывать и переделывать, но это попозже…

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *