Информация к новости
  • Просмотров: 3267
  • Добавил: Dina
  • Дата: 27 декабря 2013
27 декабря 2013

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

Категория: Интеграция с ПК, Измерительная техника

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

Итак, приступим.Берем функции от прошлых проектов.

Термометр к ПК через 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 транзистора?". Отвечаю: эту штуку мы будем доделывать и переделывать, но это попозже...

Источник:
http://my-avr.at.ua

Метки к статье: термометр к ПК, схема термометра к ПК через СОМ порт



Добавление комментария

Имя:*
E-Mail:*
Введите два слова, показанных на изображении: *

Друзья и партнеры:

Архив новостей

Декабрь 2016 (4)
Ноябрь 2016 (1)
Сентябрь 2016 (3)
Июнь 2016 (1)
Май 2016 (1)
Апрель 2016 (1)
^
 
-->