Страница 1 из 2
LCD+PIC16F84A+DS18B20
Добавлено: Пн ноя 05, 2012 03:42:27
Reaper666
Совсем недавно стал заниматься контроллерами и вот возникли такие вопросы.
1) Есть ли пример программы, в которой описано как именно работать с DS18B20, и если можно, то с комментариями, и без всяких макросов и библиотек, хочу понять, как работать с ними на базовом уровне.
2) Такой же пример нужен для работы с Mt16S2D
3) На отладочной плате поставлен mt16s2d, а в протеусе есть только lm016l, но контроллер у них один и тот же. Значит ли это, что программу под MT можно смело использовать на LM и ничего менять не надо будет?
Re: LCD+PIC16F84A+DS18B20
Добавлено: Пн ноя 05, 2012 09:45:43
otest
как именно работать с DS18B20, и если можно, то с комментариями, и без всяких макросов и библиотек
На каком языке?
mt16s2d, а в протеусе есть только lm016l, но контроллер у них один и тот же.
Что мешает проверить совместимость в Протеусе? Боишся Протеус сжеч?
Re: LCD+PIC16F84A+DS18B20
Добавлено: Пн ноя 05, 2012 10:51:44
Аlex
Странно... Имеется отладочная плата, а думают о каком то протеусе

Re: LCD+PIC16F84A+DS18B20
Добавлено: Пн ноя 05, 2012 23:35:32
Reaper666
Аlex писал(а):Странно... Имеется отладочная плата, а думают о каком то протеусе

Извините, платы нет, пока приходится так, мне для начала бы азы программирования постичь
Re: LCD+PIC16F84A+DS18B20
Добавлено: Пн ноя 05, 2012 23:37:40
Reaper666
otest писал(а):как именно работать с DS18B20, и если можно, то с комментариями, и без всяких макросов и библиотек
На каком языке?
mt16s2d, а в протеусе есть только lm016l, но контроллер у них один и тот же.
Что мешает проверить совместимость в Протеусе? Боишся Протеус сжеч?
Да в принципе, хоть на асме, хоть на си, если что в си сам переброшу. Проверил их совместимость, такое ощущение, что MT использует свой знакогенератор, а LM ASCII таблицу, ибо коды от MT на LM не пошли
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 12:20:45
Reaper666
И кто может подсказать, что я сделал не так, ибо данные на индикаторе упорно не появляются, но на выходе порта они есть. В чем трабла может быть?
Код: Выделить всё
#include p16f84a.inc
__config 0x3FF2
#define E PORTA,2
#define RS PORTA,0
#define RW PORTA,1
CBLOCK 0x20 ;Начальный адрес блока констант
to_out
Reg_1
Reg_2
Reg_3
ENDC
;---------Контроллер--------------------------
Start
bsf STATUS,RP0
CLRF TRISB ; Портб на выход
CLRF TRISA ; Порта на выход
bcf STATUS,RP0
CLRF PORTA
CLRF PORTB
;---------ЖКИ----------------------------------
movlw b'00110000' ; первая команда
movwf to_out ; в байт сообщения
call to_port ; запись в порт
call zapis
call pause5
;----------------------------------------------
movlw b'00110000' ; вторая команда
movwf to_out ; в байт сообщения
call to_port
call zapis
call pause100
;----------------------------------------------
movlw b'00110000' ; вторая команда
movwf to_out ; в байт сообщения
call to_port
call zapis
call pause100
call pause100
;----------------------------------------------
movlw b'00110100' ; 8-битный интерфейс, 1 строка, символы 8*10
movwf to_out
call to_port
call zapis
call pause100
call pause100
;----------------------------------------------
movlw b'00001110' ; дисплей включен, курсор включен, мерцание выключено
movwf to_out
call to_port
call zapis
call pause100
call pause100
;----------------------------------------------
movlw b'00000110' ; инкремент позиции курсора, сдвиг дисплея выключен
movwf to_out
call to_port
call zapis
call pause100
call pause100
;---------- завершена-------------
;---------- информации--------------------
movlw .131 ; установка первого адреса 1 строки
movwf to_out
call to_port
call pause50
call zapis
call pause255
;---------- символа-----------------------
bsf RS
movlw 0x34
movwf to_out
call to_port
call pause50
call zapis
nop
nop
goto $-1
;------------Подпрограмма записи в LCD------------
zapis
bsf PORTA,2 ; E=1 write
nop
nop
bcf PORTA,2 ; E=0 turn off write
return
;---------- записи сообщения в защелки портов---------------
to_port
movf to_out,w
movwf PORTB
return
;---------- в 100 мкс-------------------------------------------
pause100 movlw .33
movwf Reg_1
wr decfsz Reg_1, F
goto wr
return
;---------- в 50 мкс--------------------------------------------
pause50 movlw .16
movwf Reg_1
wr1 decfsz Reg_1, F
goto wr1
nop
return
;---------Пауза в 255 мкс--------------------------------------------
pause255 movlw .84
movwf Reg_1
wr2 decfsz Reg_1, F
goto wr2
nop
nop
return
;--------Пауза в 5 мс------------------------------------------------
pause5 movlw .125
movwf Reg_1
movlw .7
movwf Reg_2
wr3 decfsz Reg_1, F
goto wr3
decfsz Reg_2, F
goto wr3
return
END
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 12:44:57
Аlex
1) Есть ли пример программы, в которой описано как именно работать с DS18B20...
Пример работы с 1-Wire. Исходник открыт, разбирайтесь...
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 13:55:19
otest
И кто может подсказать,
А где проект в Протеусе ?
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 16:44:34
Reaper666
otest писал(а):И кто может подсказать,
А где проект в Протеусе ?
Уой, забыл про него. Вот, залил.
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 17:32:17
otest
Вот, залил.
Это не проект , это схема.
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 17:36:53
школьник
проверил, схема рабочая

Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 19:10:20
Reaper666
школьник писал(а):проверил, схема рабочая
Проверил, точно работает, просто есть кракозябры вот такие, но это ладно. Можно сам код программы, где я не так что сотворил?
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 19:59:49
otest
Код так сотворил. Проект не так сотворил и не показываеш.
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 20:05:01
Reaper666
otest писал(а):Код так сотворил. Проект не так сотворил и не показываеш.
Чегооо? Моя вас не понимать. Серьезно, что у меня там не так. Сама схема верна, ну для протеуса верна, значит проблема в коде, и я хочу знать, где именно она может быть.
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 20:16:25
школьник
Поставьте руссификатор для индикаторов на HD44780 и аналогичных в Протеусе
http://labkit.ru/userfiles/file/soft/ID ... DALPHA.rar
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 20:48:23
otest
Моя вас не понимать.
Мой вас тоже нихт фирштейн. Проект Протеус состоит из схемы, исходного кода , файла "нех". Всё в одной папке. Где всё это?
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 22:41:36
школьник
otest писал(а): Моя вас не понимать.
Мой вас тоже нихт фирштейн. Проект Протеус состоит из схемы, исходного кода , файла "нех". Всё в одной папке. Где всё это?
otest - вы не правы. У меня проект Протеуса запускается без исходного кода.
Достаточно указать в схеме Протеуса (для микроконтроллера) местонахождение прошивки (файла "нех").
Re: LCD+PIC16F84A+DS18B20
Добавлено: Ср ноя 07, 2012 23:14:51
Reaper666
За русификатор спасибо, а с LCD вопрос решен, переписал на СИ и все отлично работает. Теперь надо разбираться с термодатчиком.
Re: LCD+PIC16F84A+DS18B20
Добавлено: Чт ноя 08, 2012 09:39:18
otest
otest - вы не правы.
Я не к Вам обращался. Я собрать проект умею. А вот проект Т.С. мы так и не увидели.
Re: LCD+PIC16F84A+DS18B20
Добавлено: Чт ноя 08, 2012 09:54:20
Reaper666
otest писал(а):otest - вы не правы.
Я не к Вам обращался. Я собрать проект умею. А вот проект Т.С. мы так и не увидели.
Да я понял, что вы хотели, уж извините, про hex-файл не подумал, да это уже и значения не имеет.