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


Пост N: 17
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.03.10 21:36. Заголовок: Проблемы с термометром.


Здравствуйте уважаемые форумчане!
Возникла такая проблемка. По теме Kea5_2 собираю термометр, только не на 16f84, а на 16f628a. Как положено, перепрописываю РОНы, прописываю CMCON, в самом начале основной програмы после START отключаю всю периферию, с банками всё корректно. При включении как и положено отображаются строки:
ТЕМПЕРАТУРА
+22,5
Через секунд пять, появляются такие искажения:
5ТЕМ+22,5УРА
+22,5
далее датчик меряет правильно, но цифиры остаются там, как показано выше. Иногда вместо символов запятой и следующей за ней цифрой 5 или 0 появляется абракадабра.
Монатж 100% правильный, собиролось на совершенно разных макетках, питание 100% нормальное, никаких пульсаций и помех. Дисплей работал в других девайсах без проблем. Если выдернуть DS1820 строка
ТЕМПЕРАТУРА не искажается, а вместо показаний температуры - минус нуль и следующие 3 символа - абракадабра. Заметил, что глюк появляется сразу при смене первоначально выданных датчиком данных о температуре, т.е. подали питание - показания +22,0 и через секунд пять +22,5 и сразу глюк. Или же бывает включаешь, всё нормально как только подул на датчик или зажал пальцами, смена показаний и глюк.
И немогу понять в чём дело, такое подозрение, что программа не совсем корректная.
Пробовал загнать в PROTEUS, ничего вообще не кажет (в этом варианте поменял латинскую кодировку символов), а на выводах данных RB5 и RB7 (D7, D5) горят жёлтые кубики - конфликт по шине!!!
Любые другие рабочие проги симулируются без проблем, отображая всё как положено и предписано. Я ещё не совсем въехал до конца в молекулярный уровень работы с далласкими датчиками, но так как программка именно учебная, хотелось бы, чтобы в ней сразу всё работало корректно, а тут такой глючок нехороший. Может и не в программе конечно дело, но тогда в чём же? Датчики тоже подкидывал, да и в других девайсах они работали без проблем. Нужно обязательно выяснить....
Подскажите, пожалуйста, в чём может быть проблема????????????????????
Помогите разобраться .....


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 32 [только новые]


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


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


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

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




Пост N: 1572
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 09.03.10 22:25. Заголовок: А при чем здесь датч..


А при чем здесь датчик? Мне кажется, у вас проблемы больше с индикатором. Там надо рыть.
Внимательней посмотреть на переходы в памяти программ. Погонять в симуляторе. Не в протеусе.

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


Пост N: 18
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.03.10 22:30. Заголовок: Так ведь структуру т..


Так ведь структуру то программы я и не нарушал, только перевёл РОНы и отключил всю периферию, т.е. полностью уравнял два типа контроллера во всех отношениях. Всё абсолютно зеркально.
По первоначальному отображению первой строки - ТЕМПЕРАТУРА видно, что с вычисляемым переходом вроде без проблем. А вот каким образом дальше в эту строчку прыгают цифры не могу понять, ведь вывод первой строчки должен происходить лишь в начале, далее информация в ней должна быть неизменной во времени. В симуляторе так и есть - закончился вывод табличных данных, далее рабочая точка крутится по замеру и отображению цифр в нижней строке, правда, как я уже отмечал, PROTEUS указывает на какой-то конфликт по шине и не хочет ничего отображать. Но по исходнику видно, куда бежит программа, по крайней мере я ни разу не увидел, что есть ещё заход на отображение верхней строчки, где используется вычисляемый переход. Ставил точку останова на addwf в паузе и продолжал крутить, на addwf больше не попадало. А в железе там фокусы интерестные, но непонятные...

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


Пост N: 19
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.03.10 22:32. Заголовок: При случае попробую ..


При случае попробую подкинуть индикатор...
MAZ, подскажите, в каком ещё симуляторе можно прогнать, просто я не знаю где ещё можно смоделировать подключение датчика DS, кроме как в Протеусе.
Да, и совсем забыл ещё сказать, что от дисплея до проца идёт жгут самого тонкого МГТФ где-то 35см. Но жгут не плотный, висяком. Наводки здесь могут ли быть???

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




Пост N: 1574
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 10.03.10 00:26. Заголовок: Dok_Alex пишет: в к..


Dok_Alex пишет:

 цитата:
в каком ещё симуляторе можно прогнать,


Для меня самый эффективный способ, макетка и отладчик ICD2. PiKKit2
Там все видно идеально. Поэтому. чтобы зря не мучится, программами типа Протеуса не пользуюсь.
Чисто субъективное мнение.
Почему похоже на индикатор.
У Вас начинают выводится данные температуры в 1 строчку, Т.е. надпись "Температура", насколько помню, выведена один раз, и только в 1 строку. Больше никаких обращений к 1 строке быть не должно.
А у вас при индикации значений температуры, появляются данные которые управляют не только второй,(может там остались старые значения), а еще и первой строчкой индикатора, куда пытаются вывести значения температуры, попутно стирая, находящиеся там значения.
А откуда обращение к 1 строке? Эта ошибка накапливается, и вы уже ничего не видете на индикаторе.
Конечно 35 см, крутовато будет для шлейфа.
Можно почитать еще здесь, может поможет.
Практикум по конструированию устройств на PIC контроллерах. Часть 2.
1/3. Особенности организации памяти программ ПИКов среднего семейства.


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


Пост N: 20
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.03.10 06:37. Заголовок: Похоже, теперь PicK..


Похоже, теперь PicKit2 обзавестись просто необходимо. Задам вопрос в тему про PiсKit2.
Спасибо Всем за ростолковку. Будет результат, отпишу обязательно.

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



Пост N: 1705
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг: 4
ссылка на сообщение  Отправлено: 10.03.10 07:06. Заголовок: Это я посоветовал ..


Это я посоветовал Алексею поднять сей вопрос на форуме. В этом случае, будет больше пользы.
Предположим, что переход с 84-го на 628-й произведен успешно (модуль компараторов отключен и регистры общего назначения прописаны в отображаемой, на все банки, области оперативной памяти).
Программа ds1820.asm построена так, что надпись "Температура", в 1-ю строку дисплея, выводится один раз за одно включение питания.
Далее, вплоть до выключения питания, рабочая точка "закольцовывается" в ПП работы с термодатчиком и в ПП вывода результатов измерения на индикацию.
В те времена, когда я "ваял" сию "железяку", любые отклонения от этой нормы были бы моментально замечены и "безжалостно удушены", но их не было и "железяка" работала совершенно чётко (придраться было не к чему).
Но сейчас "бяка" есть.
Давайте анализировать ситуацию.
После того как рабочая точка "штатно закольцевалась" в ПП работы с термодатчиком и в ПП вывода результатов измерения на индикацию (работа только во 2-й строке), факт вывода результатов замера температуры, в 1-ю строку, свидетельствует о том, что по каким-то причинам, происходит "несанкционированный прыжок" в "область" установки 1-й строки, чего, по логике программы, в упор быть не должно.
Сброс на начало (кстати, WDT выключен), отпадает, так как в этом случае, надпись "Температура" обновлялась бы, и все "вклинивания" в нее "уничтожались" бы записью "по верху".
"Вычисляемопереходная бяка", как первичная причина "безобразия" (но не как вторичная), тоже маловероятна, так как "объём" программы не превышает 256-ти слов.
"Безобразие" может быть как аппаратным, так и программным.
Вероятнее всего, "бяка" связана с термодатчиком.
Он очень критичен к временнЫм соотношениям (пределы дозволенного строго "расписаны". Выход за них недопустим).
Если предположить, что "Даллас" подсуетился и увеличил скорость обмена данными (что вполне естественно и ожидаемо), то его современные датчики "не вписываются" в тот "медленный" (относительно их прежней продукции. Я работал с ней) стандарт, под который "ваялась" программа ds1820.asm.
Или они работают "на грани фола", что может привести к сбоям в работе этой программы (а также и к сбоям в работе тех программ, которые "ваялись" мной под "медленные" термодатчики).
На сколько я помню, такого рода проблематика затрагивалась ранее (прошу прощения, но точно не помню кем и где. Склероз. Помню только суть).
Человек вышел из положения, уменьшив значения времязадающих констант.
Тем самым он "подстроил" ПП термодатчика под более высокую скорость работы.
Может быть и в этом случае сие "прокатит"?
Попытка не пытка. "Извилина должна шевелиться".
На истину не претендую. Просто высказываю версию.
Ну а если не получится, то будем думать дальше. Авось до чего-нибудь, всем миром, додумаемся.
И чем больше людей будет вовлечено в этот процесс, тем лучше для всех (мы тут все свои и это наша территория).
Первичной причиной "глюка" может быть "разрыв связки" вызов-возврат (стек. В конечном итоге, это либо "опустошение" стека, либо его переполнение), за которой следует трудно просчитываемая "цепная реакция ошибок" (она может быть такой, что "мозги собьются набекрень").
Главное - понять первопричину, а остальное - дело техники.

PS: у 628-го, в слове конфигурации, нет бита DEBUG. Под отладку его "подвести" можно, но придется приобретать "спецустройство".
На мой взгляд, в этом случае, на отладчик уповать не нужно.


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




Пост N: 1474
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг: 2
Фото:
ссылка на сообщение  Отправлено: 10.03.10 07:47. Заголовок: Dok_Alex, выложите В..


Dok_Alex, выложите Вашу доработанную программу. Иначе, разговор ни о чём.
Советов можно давать множество, но не видя программы ........

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



Пост N: 98
Зарегистрирован: 03.09.08
Откуда: Россия, г.Иркутск
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.03.10 09:17. Заголовок: Dok_Alex пишет: Есл..


Dok_Alex пишет:

 цитата:
Если выдернуть DS1820 строка
ТЕМПЕРАТУРА не искажается, а вместо показаний температуры - минус нуль и следующие 3 символа - абракадабра



А разве не должно выводиться 127? датчик не подключен, линия подтянута к + т.е. там всегда 1. Странно.

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


Пост N: 1175
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 3
Фото:
ссылка на сообщение  Отправлено: 10.03.10 10:57. Заголовок: DerSpiwak пишет: А ..


DerSpiwak пишет:

 цитата:
А разве не должно выводиться 127

Если датчик не подключен, должно выводиться -0,1 или -0,01 или .... зависит уже от точности...

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



Пост N: 100
Зарегистрирован: 03.09.08
Откуда: Россия, г.Иркутск
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.03.10 14:50. Заголовок: Алексей пишет: Если..


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

 цитата:
Если датчик не подключен, должно выводиться -0,1 или -0,01 или .... зависит уже от точности...



Действительно, забыл про байт знака, он же тоже будет 1, стало быть произойдет инверсия в байте температуры.

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



Пост N: 176
Зарегистрирован: 20.10.08
Откуда: Россия, Горно-Алтайск
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.03.10 15:35. Заголовок: Не стОит забывать об..


Не стОит забывать об отличиях между 628 и 628А. Может здесь и собака зарыта? В русской версии (DS40048А) все различия указаны.

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


Пост N: 21
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.03.10 17:41. Заголовок: ;*******************..


termometr_628aВот текст программы: http://slil.ru/28771637

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


Пост N: 22
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.03.10 21:29. Заголовок: Вообщем проделал экс..


Вообщем проделал эксперемент, взял рабочую программу термостата, разработанную под 628-й ПИК, DS18b20, и такой же 2-х строчный дисплей, в Протеусе симулируется идеально. Программу доработал под DS1820 (18S20).
Ещё раз всё проверил в Протеусе с новым датчиком, всё хорошо работает. Взял из этой программы часть, которая работает с термодатчиком, начиная от инициализации, заканчивая проверкой контрольной суммы (там не так урезано, как в обучающем варианте) со всеми задержками и т.п. Весь этот кусок "Привязал" обучающей программе Евгения Александровича, вырезав из обучающей буквально всё по работе с термодатчиком, оставив лишь инициализацию на дисплей и вывод данных на дисплей.
Результат - такая же дрянь в железе .....В Протеусе также ничего не кажет. Протеус в данном случае не зря ругается, все опыты подтверждают это и спасибо ему за это.
Собрал схему термостата, из программы которой, выдрал часть по работе с термодатчиком, подключил свой дисплей, работает идеально, точно так же как и Протеус показал, ну всё буквально как в компе, так и в железе. Задействованы обе строки, в каждую выводятся данные, никаких глюков, всё замечательно. Кнопками задаём температуру, выводится текущая температура и т.д. Ни один из разрядов не дуркует.
Вообщем вывод напрашивается сам, что-то не то в первой части программы Евгения Александровича, там где происходит инициализация дисплея и вывод на дисплей инфы (скорее именно здесь) о температуре, потому, что действуем методом исключения, в данном случае уже смело можно исключить часть по работе с термодатчиком, т.к. эта часть весело и на ура работает в таком же контроллере. Заноза остаётся в части по выводу инфы на дисплей, это уже очевидно..... Да и Протеус всё время кажет на какой-то конфликт с дисплеем и неспроста. Мои рассуждения базируются чисто на проделанных эксперементах.... Давайте разбираться дальше. Пока всё. Программу термостата и моего гибрида не выкладываю, т.к. думаю в этом нет нужды, если что могу выложить....
628 или 628a в данном случае безразлично, т.к. абсолютно не задействуются те модули, по которым есть различия в работе. BOR<>PWRT(у 628а связаны отношениями), TMR1(у 628а под 32.768кГц), RC вместо ER(у 628а), INTOSC(2-х скоростной у 628a), защита кода памяти (у 628а сразу вся память, а не по секциям).
Продолжение следует...

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



Пост N: 1707
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг: 4
ссылка на сообщение  Отправлено: 10.03.10 21:58. Заголовок: ОК. Прекрасно. Рад..


ОК. Прекрасно. Рад за Вас. Инициатива видна даже невооруженным глазом. Сработаемся.
Оставляем одну графику. "Термодела" программно обходим.
Действия;
SNOVA
movlw <здесь задайте значение LSB>
movwf Temp_LSB
movlw <здесь задайте значение MSB>
movwf Temp_MSB
call DISPLAY
goto SNOVA
;;;SNOVA ………… это процедура работы с термодатчиком, которая не исполняется.

Если графика в порядке, то Вы не увидите "бяк" (на индикацию долгосрочно будет выводиться то значение температуры, которое задано).
Проверьте и отпишитесь (на форуме). После этого, будем соображать далее.


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


Пост N: 23
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 06:37. Заголовок: Так и сделал, подста..


Так и сделал, подставил обманку:
SNOVA
movlw .7
movwf Temp_LSB
movlw .7
movwf Temp_MSB
call DISPLAY
goto SNOVA

Результат:

ТЕМПЕРАТУРА
-1хх,5


вместо хх очень быстро бегают арабские цифирки. Глюков нет никаких...

Попробовал ещё такой вариант. В нашей обучающей программе заместил полностью кусок программы, выводящий на дисплей первую строку "ТЕМПЕРАТУРА" от рабочей программы термостата, исполнение далее остановил. Протеус перестал ругаться и вывел надпись в первую строку. Завязать вывод на дисплей по аналогией с программой термостата, чтобы выяснить причину сбоя методом сравнения, пока не получилось ...

Выкладываю текст программы со схемкой термостата, на всяк случай:

click here

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




Пост N: 1479
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг: 2
Фото:
ссылка на сообщение  Отправлено: 11.03.10 09:12. Заголовок: С утра не поленился ..


С утра не поленился спаял термометр.
Правда вместо DS1820 использовал DS18B20, но это думаю роли не играет. Программу прошил ту, которая глючила у Dok_Alex. При компиляции программы, МПЛАБ выдал кучу ERROR 113. Регистры STATUS и PORTA, в программе были прописаны где заглавными буквами, а где и прописными. Естественно пришлось привести всё к единому знаменателю. Индикатор от МЭЛТ. Датчик грел паяльником.
Работает всё без глюков. В первую строку никакая хрень не лезет, и во второй тоже всё нормально.
А иначе и быть не могло. Эта программа, до Вас Dok_Alex, была прошита не одну сотню раз другими людьми.
В неработоспособности устройства, на 99% виноват программист. Истина стара как мир.

ПО поводу ПРОТЕУСа.
Это конечно хороший инструмент. Раньше я его ругал. Сейчас мнение изменилось.
Но он работает, с жёстко прописанными в нём самом характеристиками элементов. Шаг вправо, шаг влево - расстрел.
Если реальный ЖКИ, хорошо себя чувствует с отступлениями, от технических требований установленных разработчиками на продолжительность задержек и порядок инициализации, то, ПРОТЕУСная модель в таких условиях работать просто отказывается.
Кстати, Евгений Александрович, в Самоучителе пишет ( если мне не изменяет память), что инициализация ЖКИ в его программа,х применена упрощённая, но рабочая(для реальных устройств) на 100%.




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


Пост N: 24
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 10:37. Заголовок: Стоп, я компилировал..


Стоп, я компилировал в MPLAB v8.30. Протеус при компиляции тоже обращается к MPLAB, так я настроил. Может быть у меня уже галлюцинации от недосыпа, но сейчас скачал файл для проверки, и с синтаксисом нет никаких проблем, где же там Вы увидели разницу в названиях регистров...??? И Status и PortA именно так как здесь, в программе Евгения Александровича. Я обычно пишу всё заглавными буквами, мне лично так удобнее. Незнаю, ребята, что за шутки, может сетевой полтергейст появился, или какой-то хакер под него закосил.
Могу сливать на чъю-либо почту, например к Евгению Александровичу, чтоб было 100% доверия.
Только что загнал в MPLAB и откомпилировал, без проблем, ни единой ошибки. Я в недоумении
А глюк есть, не придумал же я его. С моим дисплеем работают все программы, глюк обнаружил по ходу обучения как раз на этой нашей программе. Если можно покажите хоть 1% ошибок по тексту, буду только благодарен. Истина превыше всего, поэтому и хочу разобраться. Может быть действительно разные дисплеи ведут себя по разному, т.е. критичность к задержкам тоже разная, этого к сожалению не знаю.... Но факт в том, что дисплей гонит и в унисон этому явлению ругается Протеус.... Все остальные программы работают без глюков, и Протеус при этом всё отлично симулирует... Факт есть факт... И от него никуда не деться.
С уважением, ко всем участникам!!!

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



Пост N: 102
Зарегистрирован: 03.09.08
Откуда: Россия, г.Иркутск
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 11:14. Заголовок: Dok_Alex пишет: Мож..


Dok_Alex пишет:

 цитата:
Может быть действительно разные дисплеи ведут себя по разному, т.е. критичность к задержкам тоже разная, этого к сожалению не знаю....



А индикатор то какой используешь? У многих индикаторов есть свои особенности, например у того же МЭЛТа, тем более если по 4 проводному интерфейсу подключать.

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




Пост N: 1581
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 11.03.10 11:15. Заголовок: Dok_Alex пишет: дей..


Dok_Alex пишет:

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


менно так и происходит. Наступал на эти грабли с МЭЛТ, инициализация.
Откомпилировал текст. Dok_Alex Пост N: 21
Ни одной ошибки.







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




Пост N: 1480
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг: 2
Фото:
ссылка на сообщение  Отправлено: 11.03.10 11:47. Заголовок: Сейчас проверил. Зан..


Сейчас проверил. Заново скачал программу, засунул в МПЛАБ - ни одной ошибки.





На второй и третьей картинках видно, что написание регистров в шапке программы изменилось, а в тексте осталось прежним.
Извините - это мой недосмотр.

Но программа КЕА, работает без глюков - это точно. По крайней мере с моими двухстрочными индикаторами МЭЛТ.

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



Пост N: 1375
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 4
ссылка на сообщение  Отправлено: 11.03.10 13:16. Заголовок: igor пишет: Видимо ..


igor пишет:

 цитата:
Видимо у меня, в программе Петра так выставлены настройки, что в шапке программы автоматически изменяются прописные буквы названий регистров на заглавные.

Да, есть такая опция.



Если не требуется, нужно просто снять галочки.

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


Пост N: 25
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 13:22. Заголовок: Использую индикатор ..


Использую индикатор WH1602A-NGG-CT. Обычный, ходовой, без подсветки, фиолетовый цвет знаков.

Докладываю о проделанной работе:
Как и напрашивался эксперемент, полностью снёс в нашей самоучительской программе всё, что связано с работой дисплея и оставил всё по работе с термодатчиком. Сразу скажу о результате - глюк ликвидирован, работает отлично, в Протеусе симулируется отлично, никаких конфликтов по шинам (правда Протеус не поддерживает кириллицу, но это не важно). Пришлось включить PWRT, незнаю почему но без задержки, термометр на запускается. Хорошо бы разъяснить этот факт.
Возможно, что в программе я что-то перемудрил и можно всё упростить, так что сильно не ругайте, к тому же череп уже трещит. Надо передохнуть. Да и это лишь первая программа для работы с LCD, куда я влез в процессе обучения. Опыта совсем мало, да его вообще пока нет.
Большая просьба к Евгению Александровичу и к остальным знатокам тоже, подробно всё просмотреть и сделать выводы, заметив, чего где не хватало и в чём заключалась проблема. Думаю теперь это возможно будет сделать. Материалы есть. Вот выкладываю безглючный, симулирующийся в Протеусе гибрид:

Гибридная.

Давайте подумаем дальше...

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




Пост N: 1210
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг: 1
ссылка на сообщение  Отправлено: 11.03.10 13:29. Заголовок: Dok_Alex пишет: Про..


Dok_Alex пишет:

 цитата:
Протеус при компиляции тоже обращается к MPLAB

Не совсем понял, они у Вас по отдельности работают? Тогда очень рекомендую использовать их в связке. Очень удобно.


 цитата:
Протеус не поддерживает кириллицу

Во-первых, не Протеус, а модель индикатора, а во-вторых, очень даже поддерживает. Надо только её (модель) поменять. У меня, на сайте, выложена.

P.S.: Привет Чирчику. Аэродром-то ещё функционирует?

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


Пост N: 26
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 13:42. Заголовок: Dmitry Dubrovenko, с..


Dmitry Dubrovenko, спасибо за привет, от Чирчика взаимно, аэродром потихоньку работает.
И вопрос по ходу, что значит в связке, я то считал что при компиляции, если Протеус переводит компиляцию в MPLABовский MPASM (в настройках инструментов генерации кодов указывается путь) - это и есть связка.
Подскажите пожалуйста, как ещё можно связать эти проги.
И если можно, адрес сайта.

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



Пост N: 103
Зарегистрирован: 03.09.08
Откуда: Россия, г.Иркутск
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 15:34. Заголовок: В МПлабе тыкай на вк..


В МПлабе тыкай на вкладку Debugger-> Select Tool-> Proteus VSM

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


Пост N: 27
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 18:00. Заголовок: Так я пробовал уже, ..


Так я пробовал уже, но требует платную версию, хотя Протеус 7.6 SP0 крякнутый. Если откатится на старую версию, насколько известно новые проекты перестанут работать в старой версии, а наоборот без проблем. Несовсем в тему, но может подскажите, какая последняя версия Протеуса работает в связке.

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



Пост N: 1708
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг: 4
ссылка на сообщение  Отправлено: 11.03.10 18:14. Заголовок: Извините за времен..


Извините за временное отсутствие активности (отсыпался после "ваяния" системы авторазвёртки 3-канального режима).
Уже гораздо легче, так как можно произвести сравнение и сделать выводы.
Анализируем (по принципу "удава").
Вы заменили "нестандартную" инициализацию ЖК-модуля (ранее неоднократно говорилось, что Протеус о нее "спотыкается". Вероятнее всего, по причине непредсказуемости, его "смущает" флаг BF), с задействованием флага BF (а заодно и "элементы обслуги"), на стандартную, без задействования флага BF, после чего графика заработала.
Можно сказать по-другому: Вы заменили более быстрое на более медленное (и даже с большим запасом).
Это с одной стороны.
С другой стороны, свою программу я "ваял" под официальные временные стандарты, заданные разработчиками и на протяжении нескольких лет, многие люди повторяли это устройство без проблем (не было не одной претензии).
Из этого можно сделать предварительный вывод о том, что временные параметры Вашего ЖК-модуля хуже заданных разработчиками стандартов (или "на грани фола"), что приводит к необходимости увеличения программных задержек.
Проще говоря, он "тормозной", что, в приложении к моей программе, вполне может привести к ситуации типа: следующая инструкция "возникает" тогда, когда предыдущая инструкция еще до конца не отработана.
Это одна версия.
Другая версия: это что-то связанное со стробом и с соответствующими задержками. Например, с той, которая отрабатывается после формирования стробирующего импульса.
Попробуйте ее увеличить.
Другого объяснения у меня пока нет. В приложении к тем временным стандартам, под которые "ваялась" моя программа, шибок в ней я пока не нахожу (рад бы придраться, но не знаю, к чему).
Сказанное - только версия, требующая либо практического подтверждения, либо практического опровержения. И то, и другое есть хорошо (мы, в любом случае, в выигрыше).


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




Пост N: 1481
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг: 2
Фото:
ссылка на сообщение  Отправлено: 11.03.10 18:14. Заголовок: У меня 7.6, тоже отк..


У меня 7.6, тоже отказывалась работать с МПЛАБом.
Поставил 7.5.3 и всё пришло в норму.

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



Пост N: 104
Зарегистрирован: 03.09.08
Откуда: Россия, г.Иркутск
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 18:42. Заголовок: igor пишет: Использ..


igor пишет:

 цитата:
Использую индикатор WH1602A-NGG-CT



Я тоже пользуюсь индикаторами Winstar, инициализация урезана до минимума сигнал BF не использую, в протеусе не запускается, а в железе работает всегда нормально. Видимо дело все таки в таймингах вашего модуля. Кстати чем протеус 7.6 лучше чем 7.2? Библиотека компонентов больше?

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


Пост N: 28
Зарегистрирован: 14.02.10
Откуда: Узбекистан, г.Чирчик
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.03.10 22:36. Заголовок: Убрал все задержки 1..


Убрал все задержки 125мкс, в Протеусе симулируется нормально, а в железе страшные глюки.
Значит всё так и есть. И по методу этого самого удава.....

Выводим окончательно 2 постулата контроллерщика, работающего с ЖК дисплеями-модулями.

1. ЖКИ индикаторы бывают тормозные, и таким нужно дать задержек побольше между процедурами примерно в 125мкс. В принципе не страшно, т.к. просто решается, попросил ЖК дисплей задержек, показав глюки, дал ему на здоровье и дело в шляпе.

2. Чтоб всё хорошо симулировалось в Протеусе, надо чуток пожадничать, не нужно ему давать работать с флагами BF.

Конечно же хотелось определить более точно между какими процедурами нужно увеличивать задержки.
Всё дело в том, что сбой внезапно исчез, и теперь по первоначальной программе всё работает нормально. Но теперь ясно одно - проблема была действительно в самом ЖК индикаторе, у него явно нестабильные параметры.

Мучения не прошли даром. Предупреждён, значит вооружён.
Всем большое спасибо за участие в проблеме,
с уважением, Алексей.

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



Пост N: 1709
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг: 4
ссылка на сообщение  Отправлено: 12.03.10 00:46. Заголовок: Бывает и такое. Э..


Бывает и такое. Это как кому повезет.
Например, мне всегда попадается то, с чем проблем нет, и когда ко мне обращаются люди с просьбой разобраться с аппаратно-программными "глюками", то я частенько бываю в большом затруднении, так как своими органами чувств я это не ощущал.
Поэтому и советую форум.
Здесь есть люди со всяческим опытом. Грамотные и неравнодушные.
Советую приобрести МЭЛТ. Не знаю как у кого, а у меня с их продукцией (и с ЖК-модулями, и с граф модулем) никогда проблем не было ("тьфу-тьфу чтоб не сглазить").
С Протеусом я вообще не работаю. Это не отладчик, а по сути своей, тот же симулятор-"моделятор"-"виртуатор", только с "сервисными прибамбасами", без которых, на мой взгляд, вполне можно обойтись (по крайней мере я, обхожусь).
Мне и MPLABа "за глаза хватает" (плюс, программные "уловки", мозги и буйное воображение, которое смоделирует всё что угодно и с высоким качеством).

Если у кого-то из Вас возникнет желание пообсуждать "Протеусные дела", то просьба перейти в соответствующую тему (отсутствием внимания к Протеусу форум не страдает).

PS: мою версию, о потенциальной возможности увеличения разработчиками скорости работы термодатчиков, сбрасывать со счетов не нужно. Если они этого не сделают, то по нынешним временам, это плоховатые разработчики (не "держащие нос по ветру").


Безумству храбрых поем мы песню (А.М.Горький) Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

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



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