Сброс и инициализация дисплея16x2 - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Сброс и инициализация дисплея16x2 (Помогите!!!)
Сброс и инициализация дисплея16x2
S_moke Дата: Сб, 05.01.2013, 14:38  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 20
Репутация: 1   ±
Замечания:   ±
На сайте с 16.08.2011

Статус: Offline

Знающие люди, помогите пожалуйста решить проблему:
Имеется испытательный стенд, который должен работать непрерывно пол-года. Иногда дисплей подвисает и не выводит информацию, сам контроллер при этом исправно работает. Подскажите пример кода сброса дисплея и его инициализации для четырехбитного интерфейса (где-то слышал что дисплей при глюке переводится в режим 8 бит). Хочу в тексте программы его периодически сбрасывать и инициализировать периодически - может поможет.
ЯНДЕКС Дата: 05.01.2013
QWERTY Дата: Сб, 05.01.2013, 15:13  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 74
Репутация: 0   ±
Замечания:   ±
На сайте с 11.05.2008

Статус: Offline

Или дисплейчик тупит, или в железе управляющем дисплейчиком. Как часто подвисает дисплей? Попробуй заменить дисплей, если не поможет проверь схемы управления и источник питания. Из-за плохого питания, вполне допустимо возникновение помех на линиях управления дисплеем.
S_moke Дата: Сб, 05.01.2013, 15:24  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 20
Репутация: 1   ±
Замечания:   ±
На сайте с 16.08.2011

Статус: Offline

Нет, дисплей не тупит. Часто с ними работаю. Как я его заменю, если собраны четыре однотипных стенда? Советы по помехам и т.п. не приветствуются поскольку все обвешано кондерами и уложено жгутами, да и в теме поднят вопрос сброса-инициализации. Но все равно спасибо.
QWERTY Дата: Сб, 05.01.2013, 15:41  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 74
Репутация: 0   ±
Замечания:   ±
На сайте с 11.05.2008

Статус: Offline

На всех стендах наблюдается подобная фигня?

Добавлено (05.01.2013, 15:41)
---------------------------------------------
Кстати, обвешивание всего кондерами ни как не спасет от наводок

Andriy76 Дата: Сб, 05.01.2013, 16:11  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 239
Репутация: 10   ±
Замечания:   ±
На сайте с 06.04.2010

Статус: Offline

И у меня была такая же ерунда . Главное что - собрано две одинаковые платы . И вот на одной с большим дисплеем 122*44 мм , наблюдалось пропадание символов с дисплея . А второй обычный размером 80*36 мм без проблем . Заменил глючный на такой же по габаритам но без подсветки . А то запхал щупы от тестера в розетку - а дисплей чистый . А контроллер работает , реагирует на кнопки . Менял на другой фирмы от Райстар , результат тот же . А стоял Винстар . Поставил также Винстар . Почему так случаеться и не понял . angry
dimitriy-bc Дата: Сб, 05.01.2013, 17:06  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 190
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

Я с дисплеями сделал пока только одно изделие, начинающий в этом я. Глюк такой тоже имеет место. Но дело в том, что он проявляется и в Протеусе. Причем при незначительных изменения в программе проявляется по разному. То гаснет экран, то смещаются строки, то строки суммируются. У меня подозрения, что это как-то связано с четырехбитным интерфейсом и прерываниями.
mikhail09p Дата: Вт, 08.01.2013, 23:55  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 495
Репутация: 10   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Цитата (dimitriy-bc)
Я с дисплеями сделал пока только одно изделие, начинающий в этом я. Глюк такой тоже имеет место. Но дело в том, что он проявляется и в Протеусе. Причем при незначительных изменения в программе проявляется по разному. То гаснет экран, то смещаются строки, то строки суммируются. У меня подозрения, что это как-то связано с четырехбитным интерфейсом и прерываниями.

Или подозревайте дальше, или покажите код - сможем, поможем.

S_moke, была проблема с инициализацией при выходе из режима SLEEP. Решил так: выход на код -

DelayMS 50
Print $FE, $20
DelayMS 50
Print $FE, $28
DelayMS 50
Print $FE, $0C
DelayMS 50
Print $fe, $01
DelayMS 20
Print $FE, $06
DelayMS 20

Это для 4-х битной шины. LCD_Type ALPHA .
В данный момент работают 2 устройства - одно дома и выключается от сети почти каждый день (считает время в SLEEPе) - глюков не наблюдается.
dimitriy-bc Дата: Ср, 09.01.2013, 23:47  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 190
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

mikhail09p, здравствуйте. Обязательно покажу. только почищу от сора, и причешу комментарии.
dimitriy-bc Дата: Чт, 10.01.2013, 15:42  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 190
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

mikhail09p, здравствуйте.Станок предназначен для укладки резиновых рукавов, разных диаметров, в бухты.
Для управления станком используются пины микроконтроллера.
1. RC1 кнопка без фиксации, для выбора типа собираемого рукава.
2. RA1 кнопка с фиксацией, работа или программирование.
3. RA3 конечный датчик, нулевой отметки.
4. RЕ0 кнопка без фиксации, установить каретку на стартовую отметку.
5. RЕ1 кнопка без фиксации, начать укладку рукава.
6. RЕ2 кнопка без фиксации, остановить укладку рукава.
Алгоритм работы.
Кнопкой RC1, выбираем рукав. При необходимости заходим в режим программирования, кнопка RA1, и изменяем параметры. Для изменения параметров на клавиатуре используются кнопки + и -, для перемещения по дисплею, и кнопка =, для ввода в память.
Нажимаем кнопку RЕ0. Каретка укладчика двигается влево. По достижении датчика нулевой отметки, нажать и отпустить RA3, переключается на движение вправо, при этом начинает работать энкодер горизонтального перемещения. Когда энкодер отсчитает введенное значение, position_start, каретка останавливается.

После этого нажимаем кнопку СТАРТ RЕ1. Станок начинает укладку рукава. По достижении введенного количества витков, станок прекращает укладку рукава, вращение катушки, и перемещает каретку вправо до датчика нулевой отметки. После этого, опять устанавливает ее в положение СТАРТ. В дальнейшем, если не нажималась кнопка СТОП RЕ2, для продолжения работы достаточно нажать СТАРТ RЕ1.
При необходимости, можно нажать кнопку СТОП RЕ2. Станок остановился. Если можно продолжать укладку, нажимаем кнопку СТАРТ RЕ1. Если надо начать укладку по новому, нажимаем кнопку RЕ0, и после этого обязательно нажать и отпустить RA3.
Переключение направления движения каретки, выполняется пневматикой.
Программа находится в packer_4a.bas. микросхема pic16f874a. Программа OS_1000.bas. и микросхема pic16f873 являются вспомогательными, и эмитируют работу механической части станка.
Механическая работа станка идет без сбоев, а вот индикатор периодически сбоит как в ПРОТЕУСе, так и в железе.
В ПРОТОНЕ, как Вы видите, я новичок. Поэтому, если ткнете носом в ошибку, буду очень благодарен.
Прикрепления: PACKER.rar(170Kb)

Сообщение отредактировал dimitriy-bc - Чт, 10.01.2013, 16:06
retas Дата: Пн, 14.01.2013, 02:01  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

dimitriy-bc!
Если индикатор периодически сбоит как в ПРОТЕУСе, так и в железе, то я склонен предположить что это глюк Протона. Я бы пробовал
в асм коде найти это глючное место и вставить там команду сброса индикатора (наверное это тоже придётся ставить в виде асм).


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
dimitriy-bc Дата: Пн, 14.01.2013, 20:04  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 190
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

retas, здравствуйте. Спасибо за ответ.
Очень грустно возвращаться в асм, ведь только начал из него выбираться cry
retas Дата: Вт, 15.01.2013, 00:23  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Ну я ещё напридумал.
1. Если подобный оператор работы с этим индик. есть в PicBasicPro и если о его глючности неизвестно, взять его скомпилированного в асм
да и вставить у себя.
2. Оратиться в английский форум (Гогл нормально переводит с русского). Мож в каких то версиях Протона такого глюка не было.
3. Перейти на мониторы от мобилок.
4. Я тут с мануала прикрепил - асм как бы и не нужен.
Удачи.
Прикрепления: 6900671.jpg(91Kb)


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
Сообщение отредактировал retas - Вт, 15.01.2013, 16:37
dimitriy-bc Дата: Вт, 15.01.2013, 22:32  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 190
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

retas, здравствуте. Пока непонятно, но буду разбираться.
Сообщение отредактировал dimitriy-bc - Вт, 15.01.2013, 22:33
retas Дата: Вт, 15.01.2013, 23:55  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Вот на что набрёл  http://www.microchip.su/showthread.php?t=14810&page=4  (пост 81):

"Из опыта: на некоторых объектах глючат дисплеи (знакосинтезирующие, 4 строки по 20 символов). На что только не грешили, что только не делали -
глючат, и всё. Решение нашлось топорное: делать переинициализацию
дисплея раз в минуту. Даже питание передёргивать не пришлось. Теперь
работает. Но не отпускает ощущение, что надо было сделать как-то
по-другому, правильнее, что ли."

Тогда что,  думать что дело в самих индикаторах.


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
dimitriy-bc Дата: Ср, 16.01.2013, 02:50  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 190
Репутация: 1   ±
Замечания:   ±
На сайте с 19.03.2012

Статус: Offline

retas, здравствуте. Еще раз спасибо за помощь. Вот что мне удалось, выискал в инете.
Прикрепления: hd44780u_rus.pdf(385Kb)
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Сброс и инициализация дисплея16x2 (Помогите!!!)
Страница 1 из 212»
Поиск: