АвторСообщение
постоянный участник


Пост N: 153
Info: Среднее
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 0
Фото:
ссылка на сообщение  Отправлено: 27.01.07 19:28. Заголовок: Индикатор на основе HD44780


Ребята, что-то я начал парить по черному. Объясните мне вкратце каким образом общаться с данным индикатором при 4х проводном интерфейсе? Что-то я начал путаться совсем. В самоучителе при инициализации модуля даются совершенно другие команды. Да вот еще что, я запутался как же выставить в 4х проводном интерфейсе бит выбора страницы, он кажется 1й. Когда разбирался с 8ми проводным все было ясно как день и команды соответствовали даташитовским, а тут... короче заааапутался.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 181 , стр: 1 2 3 4 5 All [только новые]


постоянный участник




Пост N: 909
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 3

Награды: Отлично!',
ссылка на сообщение  Отправлено: 17.05.08 16:19. Заголовок: Пётр пишет: Соедени..


Пётр пишет:

 цитата:
Соеденил вывод "E" индикатора с RA3 ПИКа.


в твоём случае так нельзя, так у тебя регистр с защёлкой. Я использовал CD4094, хотя он тоже был с защёлкой, но там при подаче "1" на вывод защёлки данные на выходе менялись по ходу поступления тактовых импульсов. А в случае 595-ой я чего-то понять не могу. Даташит как будто не "русскими" составлен. Надо проверить на железе. Сейчас пойду куплю его. К вечеру должны быть результаты (нюхом чую ).

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 704
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 17.05.08 17:51. Заголовок: Alberto пишет: в тв..


Alberto пишет:

 цитата:
в твоём случае так нельзя, так у тебя регистр с защёлкой.

А при чём тут регистр?
Ведь я не отсоединял от него выводы ПИКа а всего лишь задействовал для управления выводом "E" индикатора свобоный вывод контроллера.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 910
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 3

Награды: Отлично!',
ссылка на сообщение  Отправлено: 17.05.08 19:29. Заголовок: Пётр пишет: Ведь я ..


Пётр пишет:

 цитата:
Ведь я не отсоединял от него выводы ПИКа


невнимательность , я подумал про вывод RA2, который управляет защёлкой.
Купил 74НС595. Вечером попробую, завтра отпишусь.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 383
Зарегистрирован: 26.12.06
Откуда: Украина, Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 17.05.08 19:53. Заголовок: Петр, я могу предло..


Петр, я могу предложить осцилограмки временнЫх интервалов инициализации и вывода
данных ЖКИ на HD44780, (4.17 обмена). Может быть тогда будет проще разобраться.




Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 705
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 17.05.08 22:53. Заголовок: vintik пишет: (4.17..


vintik пишет:

 цитата:
(4.17 обмена).

Большое спасибо за наводку.
Уж незнаю что конкретно было в проге, но когда адаптировал инициализацию под свой исходник, всё заработало.
Предполагаю что проблема была либо в глючной ПП задержки или в некорректной передаче команды 00101000
Раньше она отправлялась полностью (сначала 0010, а потом 1000), а теперь только первая часть.
Счас разбиратся буду где конкретно "грабли" были.

Сейчас всё Ок.

PS.
Я же говорил что проблема где-то в инициализации.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 387
Зарегистрирован: 26.12.06
Откуда: Украина, Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 17.05.08 23:25. Заголовок: Вот, правда все не у..


Вот, правда все не успел разрисовать, теперь уже не актуально
Тут видно, сначала передается 4бита b'0010', а потом установка 4х битного режима, команда b'00101000'.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 911
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 3

Награды: Отлично!',
ссылка на сообщение  Отправлено: 18.05.08 00:14. Заголовок: Пётр пишет: Сейчас ..


Пётр пишет:

 цитата:
Сейчас всё Ок.


вот и хорошо . Теперь я знаю что идея работает и её можно использовать . "Падаю" на свои проблемы.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 706
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 2
ссылка на сообщение  Отправлено: 18.05.08 13:31. Заголовок: :sm1: :sm1: Научи..



Научился выводить текст на две строки.
В принципе работа с индикатором не очень сложная.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 441
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 1
Фото:
ссылка на сообщение  Отправлено: 18.05.08 20:57. Заголовок: DISPLAY ;-----------..


DISPLAY 
;-------------------------------------------
; Вывод надписи в 1-ю строку.
;-------------------------------------------

clrf PCLATH
movlw .128 ; Выбор ячейки DD RAM с адресом 46h, что соответствует
; установке курсора в третье слева знакоместо 2-й строки.
call ENTER_BF ; "Плавающая" задержка со стробом под команду 11000010.

movlw .16 ; Запись числа .16 (количества выводимых в строку
movwf COUNT ; символов) в регистр Count.
WR_1 movf COUNT,W ; Копирование содержимого регистра Count в W.
sublw .16 ; .16-Count=... (результат записывается в W).
call STR_1 ; Условный переход в ПП EEPR.
bsf PORTA,RS ; Установка на линии RS "1" (режим записи данных).
movwf FSR
movfw INDF
addlw 30h
call ENTER_BF ; "Плавающая" задержка со стробом под вывод
; данных на индикацию.
decfsz COUNT,F ; Подготовка к выводу на индикацию
; следующего символа таблицы.
goto WR_1 ; Если результат декремента не=0, то переход в ПП WR_1.
; Если результат декремента =0, то программа
; исполняется далее.
goto STROKA_2

STR_1 addwf PCL,F
retlw LED_T
retlw LED_k
goto MINUS_1
retlw LED00
retlw LED01
retlw LED_Z
retlw LED02
retlw LED__
retlw LED_T
retlw LED_u
goto MINUS_2
retlw LED10
retlw LED11
retlw LED_Z
retlw LED12
retlw LED__

;=============================================================================================
; Вывод результатов измерения во 2-ю строку.
;=============================================================================================

STROKA_2 movlw .192 ; Выбор ячейки DD RAM с адресом 46h, что соответствует
; установке курсора в третье слева знакоместо 2-й строки.
call ENTER_BF ; "Плавающая" задержка со стробом под команду 11000010.

movlw .16 ; Запись числа .16 (количества выводимых в строку
movwf COUNT ; символов) в регистр Count.
WR_2 movf COUNT,W ; Копирование содержимого регистра Count в W.
sublw .16 ; .16-Count=... (результат записывается в W).
call STR_2 ; Условный переход в ПП EEPR.
bsf PORTA,RS ; Установка на линии RS "1" (режим записи данных).
movwf FSR
movfw INDF
addlw 30h
call ENTER_BF ; "Плавающая" задержка со стробом под вывод
; данных на индикацию.
decfsz COUNT,F ; Подготовка к выводу на индикацию
; следующего символа таблицы.
goto WR_2 ; Если результат декремента не=0, то переход в ПП WR_1.
; Если результат декремента =0, то программа
; исполняется далее.
return
; GOTO INIDS

STR_2 addwf PCL,F
retlw LED_T
retlw LED_p
goto MINUS_3
retlw LED20
retlw LED21
retlw LED_Z
retlw LED22
retlw LED__
goto MINUS_DN
retlw LED_DN_10
retlw LED_DN_1
retlw LED_m
retlw LED_b
goto MINUS_UP
retlw LED_UP_10
retlw LED_UP_1

MINUS_1 btfsc FLAG,0
retlw LED_M
retlw LED__
MINUS_2 btfsc FLAG,1
retlw LED_M
retlw LED__
MINUS_3 btfsc FLAG,2
retlw LED_M
retlw LED__
MINUS_DN btfsc FLAG,4
retlw LED_M
retlw LED__
MINUS_UP btfsc FLAG,3
retlw LED_M
retlw LED__

Где то обещал выложить исходник, как работать с двумя строками. Все сделано на основе информации из самоучителя. Здесь извлечение данных из нужных регистров происходит через косвенную адресацию одновременно с преобразованием цифр к аски коду, поэтому для вывода статичных надписей возникают некоторые проблемы, необходимо отнимать от кода символа 30h чтобы в результате получить правильные данные на индикаторе. Регистры в названии которых нет цифр, это буквы. Лучшего ничего не придумал, так как необходимо было выводить показания трех термометров ДС по пять разрядов для каждого и еще 4 разряда. всего 19 разрядов постоянно изменяются. Пока есть задумка сделать универсальную подпрограмму для работы с любым символьным индикаторам на HD44780 и не плодить для каждой строки свою процедуру. сделать одну для работы с любым количеством строк.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 40
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг: 0
ссылка на сообщение  Отправлено: 30.06.08 14:01. Заголовок: Алексей, хорошая зад..


Алексей, хорошая задумка, но похоже она выльется в большой объем программы, половину символов надо анализировать и выставлять соответствующий код таблицы знакогенераторов. Всегда, как выясняется, говоря о применении знакогенераторов нужно оговариваться, с каким и под какой ЖКИ вы работали, приводя выдержку из программы. Получается: по таблице составь свою таблицу.
Поясню
....."необходимо отнимать от кода символа 30h чтобы в результате получить правильные данные на индикаторе."
ЖКИ Winstar WH1602A.. одна таблица знакогегнератора, что касается латинских символов идет один к одному и без какой либо коррекции выводиться на дисплей. Что касается кирилицы тут сплошная утопия (хотел сходу составить подпрограмму преобразований кодов...), во -первых, какие буквы совпадают с латиницей (A,P,H,...) те должны браться оттуда, 22 буквы символа кирилицы имеют разницу про которую вы говорите 30h, другие по разному (21h., 2eh,...) усидчивости не хватило проработать до конца. То есть отдельные программы по фирмам, это более реально. Что касается МЭЛТ (МТ-10S1), можно сказать, что в этом плане молодцы, у них две таблицы знакогенератора, "0" совпадает с Winstar, а вот в "1" кирилица совпадает с кодами выставляемые таблицей компа, можно писать тексты соответствующими символами кирилицы, не задумываясь о кодах (но опять надо прыгать со страницы на страницу). Спрашивается, почему не поместить в "0" таблицу, чтобы и латиница и кирилица были в одном месте - непонятно(я работаю в MPLAB, другие программы могут иметь и другие знакогенераторы). А почему не оттолкнуться от отработанной таблицы ASCII, мне лично не понятно, какие сложности в этом процессе...

Ремонт начинается с питания, а программирование МК со спецификации (datasheet) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 469
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 1
Фото:
ссылка на сообщение  Отправлено: 30.06.08 21:51. Заголовок: Смутно припоминаю пр..


Смутно припоминаю про что идет речь, согласен, программа не без недостатков...
nik_nik пишет:

 цитата:
но похоже она выльется в большой объем программы

извините, но одна универсальная программа выльется в десятки раз больший объем кода. Данная программа предназначена для вывода статичных надписей и символов, для которых в любом конкретном случае нужно будет составлять таблицу, а отнять вручную 30h от кода символа во время написания программы не составляет большого труда. А также для вывода изменяющихся цифровых данных, в данном случае вывод значений тепмератур с трех различных DS18B20, при чем считывание с каждого датчика проиходит одновременно, следовательно и значения на индикаторе желательно бы менять одновременно, в результате цикл индикации занимает не 3 с., а чуть меньше 1 секунды. Показания на индикаторе от любого датчика фиксируются и отображаются одновременно с периодом чуть меньше 1 секунды. Т.е. прога предназначена в основном для вывода на индикацию изменяющихся цифровых данных, при этом, как Вы уже заметили нет необходимости преобразовывать в коды символов аски, программа это делает самостоятельно.
nik_nik пишет:

 цитата:
Алексей, хорошая задумка

Рад, что Вы разобрались с программой... Косвенная адресация великая вещь, если хорошенько с ней разобраться, можно наворотить такого... Было дело нужно было измерять в прерывании один сигнал, спустя время уже два, а потом вообще четыре. для одного сигнала прерывание получилось примерно в десять команд, для двух примено в два раза больше, для четырех этот способ оказался слишком сложным и пришлось придумывать чтото новое, пришла на помощь косвенная адресация и прерывание получилось чуть больше чем для одного сигнала, хотя измерялись все четыре, правда все они разнесены по фазе что и дало возможность такое сделать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 41
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг: 0
ссылка на сообщение  Отправлено: 03.07.08 06:20. Заголовок: Алексей, я вообще то..


Алексей, я вообще то про твою фразу:"Пока есть задумка сделать универсальную подпрограмму для работы с любым символьным индикаторам на HD44780", и мое сообщение про коды, а не про программу, видимо я вас не совсем понял, а вы меня. Я сейчас как раз на индикаторах топчусь. Вопрос: есть ли какие ограничения использования (F84A) RB регитсра как под данные (RB4-7)? так и под управление (RB0-3) (HD44780). А то с использованием RA проходит(RS, RW,E) , а перехожу на RB не хочет работать, вроде при организации записи не изменяю младший бит использую наработку Самоучителя ПП ENTER № 49, 43), а все равно не хочет выводить?

Ремонт начинается с питания, а программирование МК со спецификации (datasheet) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 477
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 1
Фото:
ссылка на сообщение  Отправлено: 03.07.08 07:24. Заголовок: Нет, ограничений нет..


Нет, ограничений нет, только обязательно надо позаботиться о неизменном состоянии RS, RW,E при установке данных. Мне кажется у тебя именно эта проблемка, изменяется какой либо из этих сигналов при установке данных. Это делается при помощи двух или трех логических операций. Плюс ко всему уже необходимо тщательно следить за регистром трис.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 42
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг: 0
ссылка на сообщение  Отправлено: 03.07.08 23:46. Заголовок: Спасибо Алексей, про..


Спасибо Алексей, проблема оказалась банальной, при пайке перепутал RS с RW? проводки попутал на индикатор, все пошло. Можно было и програмно переопределить, ну ...а паяльник уже нагрелся.

Ремонт начинается с питания, а программирование МК со спецификации (datasheet) Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 14
Зарегистрирован: 29.07.08
Откуда: Россия, Саратов
Рейтинг: 0
Фото:
ссылка на сообщение  Отправлено: 28.08.08 10:27. Заголовок: HD44780 + PortA и прочие вкусности


Целиком демо-проект с сырцами
+ схема подключения в разноброд
на любые (!) лини портов, в любом порядке.
Кириллица, латиница, любое количество строк,
анимация через дорисовку и покадровая.

Использована 4х проводная шина + 2 управляющих + 2 питание
т.е. всего 8 проводов. Делайте рисунки своих плат более простыми и удобными.

http://miliamper.narod.ru/Source_HD44780.rar

Лучше скажи мало, но хорошо. Козьма Прутков Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1
Зарегистрирован: 14.02.09
Рейтинг: 0
ссылка на сообщение  Отправлено: 14.02.09 09:25. Заголовок: Здравствуйте форумча..


Здравствуйте форумчане. У меня такая проблема возникла:
LCD DataVision. Если интерфейс 8-и проводной всё ОК. Если же 4-х проводной, не работает автоинкремент.
Прописываю при инициализаци, но ЖК выдаёт только первй символ и всё.
Если для каждого знака указывать знакоместо и не прописывать автоинкремент- тоже всё ОК.
Помогите советом.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 712
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг: 2
Фото:
ссылка на сообщение  Отправлено: 14.02.09 14:56. Заголовок: Совет один - внимате..


Совет один - внимательно посмотреть текст программы и найти ошибку. Очень помог бы отладчик ICD2.

В радиотехнике, существует два вида неисправностей-есть контакт там, где его не должно быть никогда и, нет контакта там, где он должен быть постоянно.
Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 982
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг: 1
ссылка на сообщение  Отправлено: 14.02.09 20:27. Заголовок: koll пишет: LCD Dat..


koll пишет:

 цитата:
LCD DataVision.

Означает ли данная фраза, что программа пробовалась с другими индикаторами?
Если нет, то, скорее всего, как Игорь сказал, программа.
В противном случае, индикатор.

igor пишет:

 цитата:
Очень помог бы отладчик ICD2.

Почему именно он?
Мне, например, здорово Протеус помогает.

Obligatus Servus Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 714
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг: 2
Фото:
ссылка на сообщение  Отправлено: 14.02.09 20:34. Заголовок: А разве Протеус знак..


А разве Протеус знаком с флагом BF?
Ему же нужны фиксированные задержки.
Или я ошибаюсь?

В радиотехнике, существует два вида неисправностей-есть контакт там, где его не должно быть никогда и, нет контакта там, где он должен быть постоянно.
Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1184
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 3

Награды: Отлично!',
ссылка на сообщение  Отправлено: 14.02.09 23:29. Заголовок: Есть еще индикаторы ..


Есть еще индикаторы фирмы Fordata, в них применяются контроллеры SPLC780D не совместимые с HD44780 по каким-то параметрам именно в 4-х битном интерфейсе, т.е. если просто воткнуть такой ЖКИ вместо, например, Winstar'овского, то он работать не будет. Надо исправлять программу. Хотя и стоят они раза вполтора дешевле чем "нормальные" ЖКИ, но иметь несколько несовместимых ЖКИ как-то не сильно охота.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 986
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг: 1
ссылка на сообщение  Отправлено: 16.02.09 14:28. Заголовок: igor пишет: Или я о..


igor пишет:

 цитата:
Или я ошибаюсь?

Действительно, есть у него такая "беда". Но она общеизвестная и решается легко.


Obligatus Servus Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 4
Зарегистрирован: 14.02.09
Откуда: РФ, Белгород
Рейтинг: 0
ссылка на сообщение  Отправлено: 20.02.09 12:13. Заголовок: спасибо всем кто отк..


спасибо всем кто откликнулся. повозился с кодом и нашёл програмную ошибку(обидно! совсем очевидная ошибка, что и внимания не обращал).

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 751
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 20.02.09 20:23. Заголовок: Когда сам найдешь ош..


Когда сам найдешь ошибку и исправишь, это есть движение вперед. Спросить можно, но лучше самому разобраться. Успехов

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 5
Зарегистрирован: 14.02.09
Откуда: РФ, Белгород
Рейтинг: 0
ссылка на сообщение  Отправлено: 26.02.09 10:47. Заголовок: Здравствуйте. Подска..


Здравствуйте. Подскажите, почему при включении двух строк ЖКИ контрасность хуже чем при включении только одной.
Подстройка сопротивлением не решает проблемы. Задержки везде с опросом флага BF. Ещё иногда не высвечивается строчка по горизонтали в первой строке.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 943
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг: 4
ссылка на сообщение  Отправлено: 26.02.09 10:54. Заголовок: koll пишет: почему ..


koll пишет:

 цитата:
почему при включении двух строк ЖКИ контрасность хуже чем при включении только одной.


Никогда с подобной проблемой не сталкивался. Может индикатор битый или левый?

Удивление рождает жажду познания... Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1219
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 4

Награды: Отлично!',
ссылка на сообщение  Отправлено: 26.02.09 12:57. Заголовок: RW1ZK пишет: Никогд..


RW1ZK пишет:

 цитата:
Никогда с подобной проблемой не сталкивался. Может индикатор битый или левый?


никогда такого не встречал. А какой индикатор?

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 594
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 1
Фото:
ссылка на сообщение  Отправлено: 26.02.09 21:12. Заголовок: А не слишком ли част..


А не слишком ли часто выводите надписи на индикатор? Ему достаточно один раз вывести и забыть, только обновлять если что изменилось.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 6
Зарегистрирован: 14.02.09
Откуда: РФ, Белгород
Рейтинг: 0
ссылка на сообщение  Отправлено: 28.02.09 21:40. Заголовок: Индикатор DataVision..


Индикатор DataVision 16230

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 958
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг: 4
ссылка на сообщение  Отправлено: 28.02.09 21:54. Заголовок: Дай программу инициа..


Дай программу инициализации и вывода.

Удивление рождает жажду познания... Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 8
Зарегистрирован: 14.02.09
Откуда: РФ, Белгород
Рейтинг: 0
ссылка на сообщение  Отправлено: 28.02.09 21:56. Заголовок: Алексей пишет: А не..


Алексей пишет:

 цитата:
А не слишком ли часто выводите надписи на индикатор? Ему достаточно один раз вывести и забыть, только обновлять если что изменилось.



Инициализация, потом вывод данных и уход в вечное кольцо. Результат такой же.
Всё равно видно, но печально(наверное бракованный).

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 9
Зарегистрирован: 14.02.09
Откуда: РФ, Белгород
Рейтинг: 0
ссылка на сообщение  Отправлено: 28.02.09 21:57. Заголовок: RW1ZK пишет: Дай пр..


RW1ZK пишет:

 цитата:
Дай программу инициализации и вывода.



Ладно, только не сегодня. С собой нет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 959
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг: 4
ссылка на сообщение  Отправлено: 28.02.09 21:58. Заголовок: См. л/с. ..


См. л/с.


Удивление рождает жажду познания... Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 10
Зарегистрирован: 14.02.09
Откуда: РФ, Белгород
Рейтинг: 0
ссылка на сообщение  Отправлено: 28.02.09 22:01. Заголовок: Да кстати, думаю пре..


Да кстати, думаю представить для всеобщего обозрения прогу. У меня она работает с клавиатурой из 4 кнопок, ЖК и шаговым мотором.
На ЖК положение мотора(верхняя строка), и задаёшь смещение(нижняя). Работает в железке. Вот только прогу красиво оформлю.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 960
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг: 4
ссылка на сообщение  Отправлено: 28.02.09 22:03. Заголовок: koll пишет: кстати,..


koll пишет:

 цитата:
кстати, думаю представить для всеобщего обозрения прогу


Будем рады.

Удивление рождает жажду познания... Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 11
Зарегистрирован: 14.02.09
Откуда: РФ, Белгород
Рейтинг: 0
ссылка на сообщение  Отправлено: 28.02.09 22:08. Заголовок: Всё, мне пора. Ляльк..


Всё, мне пора. Лялька плачет, домой хочет. Был рад пообщаться.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 708
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг: 4
ссылка на сообщение  Отправлено: 28.02.09 22:17. Заголовок: Если после вывода ..


Если после вывода данных в обе строки и goto $, контрастность строк разная,
то ЖКИ можно выбросить.
Если нормальная, то ошибка в программе.
Вернее всего, она связана с коротким циклом (кристаллы не успевают повернуться
на "нужный" угол).

Безумству храбрых поем мы песню (А.М.Горький) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 9
Зарегистрирован: 26.03.07
Откуда: Россия , Зеленогорск
Рейтинг: 0
ссылка на сообщение  Отправлено: 03.09.09 17:40. Заголовок: Друзья! Прочитал вес..


Друзья!
Прочитал весь пост и пришёл к выводу: "...я отстал от поезда!..." Последнее сообщение аж в марте 2009 года!
Неужели HD44780 капитулировал на наших условиях?
...
Начиная с первых строк "Самоучителя" про HD44780, меня не оставляла мысль о том, чтобы прицепить индикатор целиком на один порт (в моём случае, PortB PIC16F628A), 4х-проводный интерфейс и по максимуму задействовать флаг BF. Ибо, по моему скромному мнению, задействование флага BF позволяет писать наиболее гибкие программы, а посему, хотелось бы с оным дружить! Но толи по невнимательности, или отсутствии систематических занятий или какой ещё причине, не удалось мне воплотить мою идею в жизнь. А главное, нет ясности, возможно ли это в принципе?
Используя материалы "Самоучителя" и коллег, мне удалось составить программу которая прилежно работала в MPLab'е, но отказывалась работать в "железе". По поведению дисплея предполагю, что програма останавливается при первом обращении к ПП Enter BF.
Я не прошу готовых решений, но если это не возможно (один Port*, 4х-проводный интерфейс + флаг BF), так может я зря трачу время? Не хотелось бы. Ведь всё-таки мечта.

Станислав Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 7
Зарегистрирован: 15.07.08
Откуда: Украина, Макеевка
Рейтинг: 0
ссылка на сообщение  Отправлено: 03.09.09 17:45. Заголовок: Прекрасно работает н..


Прекрасно работает на одном порту с флагом БФ ,не помешало бы взглянуть на ваш исходник!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 885
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 1
Фото:
ссылка на сообщение  Отправлено: 03.09.09 18:33. Заголовок: Да, прекрасно работа..


Да, прекрасно работает на одном порту. Только необходимо разделять сигналы управления и данные. Т.е. в порт нужно выдавать полубайт данных, не изменяя состояния второго полубайта на порту. Это реализуется при помощи трех логических операций над данными в порту и выдавемыми данными в порт. Посказка, одна из команад будет ANDLW или ANDWF 11110000 или 00001111 в зависимости от того куда подключена шина данных индикатора...

Еще неизвестно, что хуже: постоянный бардак или непостоянный порядок? Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 10
Зарегистрирован: 26.03.07
Откуда: Россия , Зеленогорск
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.09.09 18:05. Заголовок: andrey пишет: не по..


andrey пишет:

 цитата:
не помешало бы взглянуть на ваш исходник


Фрагмент HD44780 - PIC.


Скрытый текст
; RB7 - DB7.

# # #
Фрагмент, подпрограмма опроса флага BF

ENTER_BF movwf Mem ; Сохраняем данные в регистре памяти.
andlw b'11110000' ; Блокируем младший полубайт.
movwf PortB ; Выводим данные в порт.

nop ; Задержка в 1 м.ц.
bsf PortB,E ; Установка на линии E "1".
nop ; Задержка в 1 м.ц.
bcf PortB,E ; Установка на линии Е "0" (активный перепад).

movfw Mem ;
swapf Mem,W ; Меняем местами полубайты.
andlw b'11110000' ; Блокируем младший полубайт.
movwf PortB ;

nop ; Задержка в 1 м.ц.
bsf PortB,E ; Установка на линии E "1".
nop ; Задержка в 1 м.ц.
bcf PortB,E ; Установка на линии Е "0" (активный перепад).

;=========================================
; Проверка флага BF.
;=========================================
Bank1 ;
movlw b'11110000' ;
movwf TrisB ;
Bank0 ;

bcf PortB,RS ;
bsf PortB,RW ;
nop ;
bsf PortB,E ;
SNOVA nop ;

btfsc PortB,BF ;
goto SNOVA ;

clrf PortB ;
Bank1 ;
clrf TrisB ;
Bank0 ;

return ; Возврат по стеку.

`

Сделал "свёрнутый текст" (RW1ZK)

Станислав Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 181 , стр: 1 2 3 4 5 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет



Создай свой форум на сервисе Borda.ru
Текстовая версия