Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

LCD+PIC16F84A+DS18B20

Пн ноя 05, 2012 03:42:27

Совсем недавно стал заниматься контроллерами и вот возникли такие вопросы.
1) Есть ли пример программы, в которой описано как именно работать с DS18B20, и если можно, то с комментариями, и без всяких макросов и библиотек, хочу понять, как работать с ними на базовом уровне.
2) Такой же пример нужен для работы с Mt16S2D
3) На отладочной плате поставлен mt16s2d, а в протеусе есть только lm016l, но контроллер у них один и тот же. Значит ли это, что программу под MT можно смело использовать на LM и ничего менять не надо будет?

Re: LCD+PIC16F84A+DS18B20

Пн ноя 05, 2012 09:45:43

как именно работать с DS18B20, и если можно, то с комментариями, и без всяких макросов и библиотек

На каком языке?
mt16s2d, а в протеусе есть только lm016l, но контроллер у них один и тот же.

Что мешает проверить совместимость в Протеусе? Боишся Протеус сжеч?

Re: LCD+PIC16F84A+DS18B20

Пн ноя 05, 2012 10:51:44

Странно... Имеется отладочная плата, а думают о каком то протеусе :facepalm:

Re: LCD+PIC16F84A+DS18B20

Пн ноя 05, 2012 23:35:32

Аlex писал(а):Странно... Имеется отладочная плата, а думают о каком то протеусе :facepalm:

Извините, платы нет, пока приходится так, мне для начала бы азы программирования постичь

Re: LCD+PIC16F84A+DS18B20

Пн ноя 05, 2012 23:37:40

otest писал(а):
как именно работать с DS18B20, и если можно, то с комментариями, и без всяких макросов и библиотек

На каком языке?
mt16s2d, а в протеусе есть только lm016l, но контроллер у них один и тот же.

Что мешает проверить совместимость в Протеусе? Боишся Протеус сжеч?


Да в принципе, хоть на асме, хоть на си, если что в си сам переброшу. Проверил их совместимость, такое ощущение, что MT использует свой знакогенератор, а LM ASCII таблицу, ибо коды от MT на LM не пошли

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 12:20:45

И кто может подсказать, что я сделал не так, ибо данные на индикаторе упорно не появляются, но на выходе порта они есть. В чем трабла может быть?

Код:
#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
Вложения
test1.rar
(10.75 KiB) Скачиваний: 367
Последний раз редактировалось Reaper666 Ср ноя 07, 2012 16:45:44, всего редактировалось 1 раз.

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 12:44:57

1) Есть ли пример программы, в которой описано как именно работать с DS18B20...
Пример работы с 1-Wire. Исходник открыт, разбирайтесь...

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 13:55:19

И кто может подсказать,

А где проект в Протеусе ?

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 16:44:34

otest писал(а):
И кто может подсказать,

А где проект в Протеусе ?

Уой, забыл про него. Вот, залил.
Вложения
test1.rar
(10.75 KiB) Скачиваний: 334

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 17:32:17

Вот, залил.

Это не проект , это схема.

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 17:36:53

проверил, схема рабочая
Изображение
Вложения
Reaper666.rar
(1.59 KiB) Скачиваний: 369
Безымянный.GIF
(21.39 KiB) Скачиваний: 2271

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 19:10:20

школьник писал(а):проверил, схема рабочая


Проверил, точно работает, просто есть кракозябры вот такие, но это ладно. Можно сам код программы, где я не так что сотворил?
Вложения
Снимок.JPG
(48.08 KiB) Скачиваний: 764

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 19:59:49

Код так сотворил. Проект не так сотворил и не показываеш.

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 20:05:01

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

Моя вас не понимать.

Мой вас тоже нихт фирштейн. Проект Протеус состоит из схемы, исходного кода , файла "нех". Всё в одной папке. Где всё это?

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 22:41:36

otest писал(а):
Моя вас не понимать.

Мой вас тоже нихт фирштейн. Проект Протеус состоит из схемы, исходного кода , файла "нех". Всё в одной папке. Где всё это?


otest - вы не правы. У меня проект Протеуса запускается без исходного кода.
Достаточно указать в схеме Протеуса (для микроконтроллера) местонахождение прошивки (файла "нех").

Re: LCD+PIC16F84A+DS18B20

Ср ноя 07, 2012 23:14:51

школьник писал(а):Поставьте руссификатор для индикаторов на HD44780 и аналогичных в Протеусе
http://labkit.ru/userfiles/file/soft/ID ... DALPHA.rar


За русификатор спасибо, а с LCD вопрос решен, переписал на СИ и все отлично работает. Теперь надо разбираться с термодатчиком.

Re: LCD+PIC16F84A+DS18B20

Чт ноя 08, 2012 09:39:18

otest - вы не правы.

Я не к Вам обращался. Я собрать проект умею. А вот проект Т.С. мы так и не увидели.

Re: LCD+PIC16F84A+DS18B20

Чт ноя 08, 2012 09:54:20

otest писал(а):
otest - вы не правы.

Я не к Вам обращался. Я собрать проект умею. А вот проект Т.С. мы так и не увидели.



Да я понял, что вы хотели, уж извините, про hex-файл не подумал, да это уже и значения не имеет.
Ответить