реклама на сайте
подробности

 
 
> Применение DS1820 и LCD44780 для начинающих, Подключение нескольких DS1820 на шину.
SasaVitebsk
сообщение Nov 20 2006, 23:11
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Исследовал работу нескольких DS18B20/DS1820 "сидящих" на одной шине, а также возможность динамического подключения/замены данных датчиков на шине. Не нашёл. Некоторые библиотеки, в том числе выложенные на этом форуме являются нерабочими. Написал библиотеки, проверил и выложил их в виде библиотек в соответствующем разделе форума.

А здесь предлагаю для начинающих полный учебный проект использования данных библиотек. Написаны и проверены на стенде Nix-06 для начинающих который обсуждался в топике "getting started ..." и расположен по nix-06.nm.ru. Проект написан на IAR C и закончен, а то многие писали, что хотелось бы понять как применять те или иные библиотеки. Мои или другие.

Подключается несколько датчиков DS1820/ds18b20/ds18s20 в любом сочетании. На LCD дисплей выводится их количество и температура каждого. Допустимо подключения датчиков по двух-проводной схеме включения. Используется динамическое выделение памяти под ROM датчиков.

Библиотека LCD написана таким образом что допускает использование стандартных функций вывода outs и printf с элементами форматирования. Что и пременено в проекте. Имеется прямая индексация курсора и прочие вещи, которые облегчают написание меню и многоуровневых меню. В принципе должно работать для 4-ёх строчных дисплеев, но я не проверял.
Прикрепленные файлы
Прикрепленный файл  ds18b20.zip ( 17.94 килобайт ) Кол-во скачиваний: 522
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bodja74
сообщение Jan 19 2007, 01:58
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Саша ,сделай что то типа этого (проверка BUSY),и не нужно будет думать про задержки smile.gif
Идет с ходу ,что под текстовый ,что под графический,что в прерывании ,что без.

Код
;Модуль для ЖКИ

.def LCD_reg = R20
.equ LCD_PORT_command = PORTC
.equ LCD_PIN_command = PINC
.equ LCD_DDR_command = DDRC
.equ LCD_PORT_data = PORTD
.equ LCD_PIN_data = PIND
.equ LCD_DDR_data = DDRD
.equ E  = 2
.equ RW = 1
.equ RS = 0
.equ BUSY = 7

LCD_on:
   push  R16
   in    R16,LCD_DDR_command
   ori   R16,$07
   out   LCD_DDR_command,R16
   ori   R16,$FF
   out   LCD_DDR_data,R16
   pop   R16
   ret
LCD_data:
   sbi   LCD_PORT_command,RS
LCD_command:
   push  R16
   rcall LCD_pause
   sbi   LCD_PORT_command,E
   ldi   R16,$FF
   out   LCD_DDR_data,R16
   out   LCD_PORT_data,LCD_reg
   rcall LCD_pause
   cbi   LCD_PORT_command,E
   ldi   R16,$00
   out   LCD_DDR_data,R16
   out   LCD_PORT_data,R16
   cbi   LCD_PORT_command,RS
   sbi   LCD_PORT_command,RW
   rcall LCD_pause
   sbi   LCD_PORT_command,E
   rcall LCD_pause
   sbis  LCD_PIN_data,BUSY
   rjmp  (PC-1)
   cbi   LCD_PORT_command,E
   cbi   LCD_PORT_command,RW
   pop   R16
   ret
LCD_pause:
   ldi  R16,$10
   dec  R16
   cpi  R16,$00
   brne (PC-2)
   ret
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SasaVitebsk   Применение DS1820 и LCD44780 для начинающих   Nov 20 2006, 23:11
- - SasaVitebsk   Несколько человек обращалось по поводу сложности п...   Jan 19 2007, 01:31
- - SasaVitebsk   Я использую BUSY. А задержки всё равно нужны. 1) д...   Jan 19 2007, 02:54
- - GDI   В CV в примерах есть подобный проект с использован...   Jan 19 2007, 10:44
|- - SasaVitebsk   Цитата(GDI @ Jan 19 2007, 11:44) В CV в п...   Jan 20 2007, 05:20
|- - Qwertty   Цитата(SasaVitebsk @ Jan 20 2007, 05:20) ...   Jan 20 2007, 14:02
|- - SasaVitebsk   Цитата(Qwertty @ Jan 20 2007, 15:02) В CV...   Jan 20 2007, 15:31
|- - Andy Great   Цитата(Qwertty @ Jan 20 2007, 14:02) Прос...   Jan 21 2007, 19:06
|- - SasaVitebsk   Цитата(Andy Great @ Jan 21 2007, 20:06) Я...   Jan 21 2007, 19:20
|- - Qwertty   Цитата(SasaVitebsk @ Jan 21 2007, 19:20) ...   Jan 21 2007, 23:35
|- - SasaVitebsk   Цитата(Qwertty @ Jan 22 2007, 00:35) По а...   Jan 22 2007, 02:50
|- - Qwertty   Цитата(SasaVitebsk @ Jan 22 2007, 02:50) ...   Jan 22 2007, 04:03
|- - SasaVitebsk   Цитата(Qwertty @ Jan 22 2007, 05:03) Поче...   Jan 22 2007, 12:38
|- - Qwertty   Цитата(SasaVitebsk @ Jan 22 2007, 12:38) ...   Jan 22 2007, 14:25
- - GDI   Цитата(GDI @ Jan 19 2007, 11:44) * В CV в примера...   Jan 22 2007, 11:48
|- - WHALE   [quote name='GDI' date='Jan 22 2007, 1...   Jan 22 2007, 12:50
- - GDI   ЦитатаВ CV все либы доступны именно на С,посмотрит...   Jan 22 2007, 13:20
- - GDI   Признаю, что с HD44780 я ошибся   Jan 22 2007, 14:37
- - boez   Поделюсь опытом развешивания по дому DS18B20 в кол...   Jan 22 2007, 16:05
- - SasaVitebsk   Я же уже говорил моя библиотека удобна если издели...   Jan 22 2007, 17:08
- - WHALE   ЗвиняюсЬ,1-wire в CV действительно встроенная функ...   Jan 22 2007, 21:22
- - GDI   2 WHALE именно это я и имел ввиду, что в Си ее нет...   Jan 23 2007, 12:43
- - SasaVitebsk   Цитата(GDI @ Jan 23 2007, 13:43) 2 WHALE ...   Jan 23 2007, 14:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 23:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.38124 секунд с 7
ELECTRONIX ©2004-2016