Вывод на LCD
|
|
Broka |
Дата: Чт, 19.01.2012, 17:14 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Здравствуйте! Хотел узнать о такой проблеме...... Не давно изобрёл для себя, устройство 3В1 ( Часы,таймер, терморегулятор), но вот проблема в том, при выводе на LCD рядом со знаком С° всегда присутствует палочка ( \ ), ни как убрать программным путём не могу. Как её убрать , не приложу ума....., всё сделал вроде как правильно.. Подскажите , если кто с этим сталкивался! LCD применён МЭЛТ - 16S2H c интерфейсом HD44780 Палочка это ещё ладно......., не могу разобраться с командой Branch читал здесь: http://terrarus.ucoz.ru/proton_....ch.html , всё вроде верно прописал в программе, в железяке всё меню прыгает по очереди, хотя переменая INDEX в команде Branch не меняется. Пробовал просто инкриментировать переменую М , ни какого эфекта..
Наладчик КИП и А
Сообщение отредактировал
Broka - Чт, 19.01.2012, 21:39
|
|
|
|
anatol |
Дата: Чт, 19.01.2012, 21:52 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Зачем ?Quote Dec2 HOURDec2, MINUTES, Dec3 XM, Dec1 TempIND и что это не вьехал - Quote Print At 2 ,1,Dec2 HOUR,TEXT,Dec2 MINUTES,$20,$20,$20,Dec1 TempIND,$20,"C",8,$20,$20 Print At 2 ,1,Dec2 HOUR,TEXT,Dec2 MINUTES,$20,$20,$20,Dec1 TempIND,$20,"C",0,$20,$20
|
|
|
|
Broka |
Дата: Чт, 19.01.2012, 23:36 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Print At 2 ,1,Dec2 HOUR,TEXT,Dec2 MINUTES,$20,$20,$20,Dec1 TempIND,$20,"C",8,$20,$20 Print At 2 ,1,Dec2 HOUR,TEXT,Dec2 MINUTES,$20,$20,$20,Dec1 TempIND,$20,"C",0,$20,$20 А помоему всё понятно... Hour, Minutes - это байтовые переменые и выводятся они на экран LCD. Text - это переменая - мигающее двоеточие между часами и минутами. TempIND - переменая типа Float, тоже выводится на экран (измереная температура) Вот эта строка по моему не нужна Print At 2 ,1,Dec2 HOUR,TEXT,Dec2 MINUTES,$20,$20,$20,Dec1 TempIND,$20,"C",0,$20,$20, которая стоит после команды OWrite DQ, 1, [$CC,$44] это ведь МК дал команду старта измерения датчику DS18B20 ( мой косяк извеняюсь ) тем более там вместо 0 должна быть 8, для отображения правильного знака градуса Но это не самое главное........, не могу победить Оператор Branch, вроде всё просто как 3 копейки, а не фига
Наладчик КИП и А
|
|
|
|
anatol |
Дата: Пт, 20.01.2012, 01:36 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Пока не сплю. "0" и "8" в каком виде должны быть представлены - десятичная, битовая, шестнадцатиричная К примеру $20 - это пробел. Dec2 HOUR - зачем декремент переменной HOUR и т.д. К чему вычисления при отображении . т.е. печати. Branch после перехода не должен указывать на метку в которую вошел, иначе кольцо. также при памяти больше 2048 применяется BranchL
|
|
|
|
Broka |
Дата: Пт, 20.01.2012, 11:48 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Только без обиды.......... Вы что меня проверяете? Hour_ у нас байтовая переменая ( часы ) , а так как у нас байтовая переменая 0 - 255, что бы отобразить часы, нам надо написать DEC2, так как нам надо отобразить всего 2 цифры ( 00 - 23, часы ).Quote (anatol) Branch после перехода не должен указывать на метку в которую вошел, иначе кольцо. также при памяти больше 2048 применяется BranchL Так там у меня такого и нет..
Наладчик КИП и А
|
|
|
|
anatol |
Дата: Пт, 20.01.2012, 14:46 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Quote (Broka) Только без обиды.......... Вы что меня проверяете? Ни в коем случае . Лезть в чужой код полностью лень, наверно, каждому. Так слегка посмотрел, что укололо глаза о том и спросил. Модель запустил и "палок" не увидел. Но в модели свой знакогенератор . Поэтому и про DEC спросил. А вот "знак градуса" - "8" - это я действительно не понял, по идее $99 должно быть Вот здесь ваш контроллер http://www.gaw.ru/pdf/lcd/lcm/melt/char/MT-16S2H.pdf на страницах 8, 9 - коды символов
Сообщение отредактировал
anatol - Пт, 20.01.2012, 15:06
|
|
|
|
Broka |
Дата: Пт, 20.01.2012, 17:11 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Я пробовал прописать в программе $99 ни чего не выходит. Вот Вы пробовали загрузить проект? Всё работает? Так почему у меня в железе по очерёдно начинает все меню прыгать по очереди...... ни как не могу догнать почему... 10 раз уже проверил
Наладчик КИП и А
|
|
|
|
anatol |
Дата: Пт, 20.01.2012, 23:45 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Извини пока нет сил разбираться. может за сбт вск посмотрю
|
|
|
|
Andriy76 |
Дата: Сб, 21.01.2012, 10:44 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
231
Замечания:
±
На сайте с 06.04.2010
Статус:
Offline
|
У Вас сделано так U_hour: Cls ---------------НЕ НАДО If PLUS = 0 Then DelayMS 20:Inc HOUR If HOUR > 23 Then HOUR = 0 If MINUS = 0 Then DelayMS 20:Inc MINUTES If MINUTES >= 60 Then MINUTES = 0 Print At 1 ,1,$AB,$41,$43,$AE Print At 2 ,1,Dec2 HOUR,":",Dec2 MINUTES If MENU = 0 Then DelayMS 100:Cls:M = 2:GoTo U1_Tim_Vkl --- при переходах Вы очищаете . Зачем еще ? DelayMS 300 Cls ---------НЕ НАДО GoTo U_hour Если сделать так то индикатор будет мигать в даной подпрограмме Зачем очищать ЖКИ дважды в каждом цикле . Если делаю себе очищаю при переходах из программы в программу . А если на ЖКИ ничего не меняеться по размещению зачем очищать ?
Сообщение отредактировал
Andriy76 - Сб, 21.01.2012, 10:46
|
|
|
|
Broka |
Дата: Сб, 21.01.2012, 11:13 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Всё правильно........ в каждоим цикле очищать не требуется, пардон. На ЖК ничего не меняется по размещению..., это называется я тороплюсь, хочется по быстрее сделать. Всё исправлю.... по индикации всё понятно. Не понятно с командой Branch, всё прописано в программе правильно в Proteus работает правильно, в железяке меню по очерёдно скачет, хотя по идее переменая М не должна инкриментироваться , если не нажата кнопка MENU или при выходе из любого раздела установки , изначально М = 0, значит при включении устройства программа доходя до команды Branch должна идти на метку main, а этого не происходит, начинает прыгать все разделы установки........, странно как то... , как будто каждый раз к М прибавляется +1
Наладчик КИП и А
Сообщение отредактировал
Broka - Сб, 21.01.2012, 11:18
|
|
|
|
brown |
Дата: Сб, 21.01.2012, 18:06 | Сообщение # 11 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Broka, похоже дребезг кнопки МЕНЮ.
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
Broka |
Дата: Сб, 21.01.2012, 19:09 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
дело в том, что я отпаял все кнопки (хотел попробовать во обще без них), такая же ерунда, всё пляшет. Даже пробовал вот так сделать вместо команды Branch M,[main,U_hour,U1_Tim_Vkl,U1_Tim_Vikl,U_Tem] if M > 4 then M = 0 if M = 0 then goto main if M = 1 then goto U_hour if M = 2 then goto U1_Tim_Vkl if M = 3 then goto U1_Tim_Vikl if M = 4 then goto U_Tem Всё в той же паре, всё также пляшет по очереди , так что дребезг контакта отпадает. Попробовал переписать программу только для показа температуры....., всё отлично работает. я просто никогда не работал с этим оператором Branch, вот попробовал..., ан нет ,не получается не фига. Может в программе не правильно место для него выбрал, я уже не знаю......
Наладчик КИП и А
Сообщение отредактировал
Broka - Сб, 21.01.2012, 19:30
|
|
|
|
brown |
Дата: Сб, 21.01.2012, 21:07 | Сообщение # 13 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Посмотрите мой давнишний проект, может чем-то поможет.
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
Broka |
Дата: Сб, 21.01.2012, 22:47 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Спасибо.., я посмотрел. Принцип тот же.., значит у меня что то в железяке не правильно собрано, пойду смотреть. (хотя навряд ли, я редко ошибаюсь.... Добавлено (21.01.2012, 22.47.54) --------------------------------------------- Всю плату просмотрел 33 раза, всё ОК! Что я в программе не правильно сделал ?
Наладчик КИП и А
|
|
|
|
Andriy76 |
Дата: Вс, 22.01.2012, 20:30 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
231
Замечания:
±
На сайте с 06.04.2010
Статус:
Offline
|
При работе в Протоне заметил глюк . Сделал вроде все правильно а не работает код . Переделывал код , чуть не на корню . Добавлял задержки перед сравнением . Так бывает
|
|
|
|