| Почему такое происходит. И как должно быть? | 
|  | 
| 
 
 
 
 | vladh | Дата: Ср, 23.10.2013, 16:52  |                                                                                                                Сообщение # 1 |  
 | ![vladh]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 258
 
 
 Замечания: ± На сайте с 15.10.2007
 
 
 Статус: 
 Offline
 
 | Уважаемые форумчане. Вот пересаживаюсь с Протона на мВ и сразу столкнулся с кучей вопросов. Вопрос 1. В приложении привожу схему. В этой схеме МК соединен с ЖКИ и клавиатурой 3х4. Создал код на базе того, который с успехом у меня работает в Протоне. Здесь же код капризничает. В коде есть закоментированные строки в которых анализируется появление 1 в 3 столбце типа:
 'If Ver3 = 1 Then
 'Key = 3
 'GoSub Pik
 'Return
 'end if
 Если убрать коментарии и попробовать откомпилировать код, то компилятор ругается. Причем не совсем понятно, что ему не нравится. Может быть кто то поймет причину ругачки?
 Вопрос 2. Почему в Протеусе в режиме прогона программы маркер бегает по экрану, и значение клавиши появляется в разных местах программы.
 И последний 3 вопрос. Как должен быть организован код программы на листке редактора кода. Сам компилятор делит на две части программы. Это раздел определений и раздел самой программы. В других компиляторах я тоже делил на два раздела. Раздел определений и установок и раздел собственно самой программы. В мВ при попытке разместить скажем символы в разделе определений но после раздела определений переменных, компилятор ругается. Также, если в этом разделе(разделе определений) разместить команды присвоения, например, после строчек определения переменных присвоить переменной Key постоянного значения, компилятор опять ругается?
 |  
 |  |  |  | 
| 
 
 
 
 | Matrix252005 | Дата: Ср, 23.10.2013, 17:13  |                                                                                                                Сообщение # 2 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 636
 
 
 Замечания: ± На сайте с 12.10.2007
 
 
 Статус: 
 Offline
 
 | Приятного времени суток!!! 
 vladh, сейчас я гляну код!!!
 
 А почему Вы не хотите использовать готовую библиотеку мВ??? Она вроде бы нормально работает!!! И может лучше сделать вместо подпрограмм процедуры???
 
 THE TRUTH IS OUT THERE.
 
 С уважением, Николай.
 |  
 |  |  |  | 
| 
 
 
 
 | vladh | Дата: Ср, 23.10.2013, 17:24  |                                                                                                                Сообщение # 3 |  
 | ![vladh]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 258
 
 
 Замечания: ± На сайте с 15.10.2007
 
 
 Статус: 
 Offline
 
 | Наверное. Хотя при попытке её использования тоже свои проблемы. Но об этом в другой раз.Цитата Matrix252005 (  ) А почему Вы не хотите использовать готовую библиотеку мВ??? Она вроде бы нормально работает!!!Добавлено (23.10.2013, 17:24)---------------------------------------------
 
 Мне думается это не принципиально.Цитата Matrix252005 (  ) И может лучше сделать вместо подпрограмм процедуры??? |  
 |  |  |  | 
| 
 
 
 
 | Matrix252005 | Дата: Ср, 23.10.2013, 17:29  |                                                                                                                Сообщение # 4 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 636
 
 
 Замечания: ± На сайте с 12.10.2007
 
 
 Статус: 
 Offline
 
 | Я посмотрел Ваш код и схему и есть вопросы: 
 1) lcd_Out (1,1,"Bóo㸼 ºoã º»a³¸Á¸")  - это что??? Я так понял что тут должен был быть русский шрифт
 2) у Вас Symbol   HorB = PORTC.0
 
 Ниже в тексте
 
 HorB.0 = 1
 3) код нормально компилировался!!!
 
 Сейчас попробую проверить сам код в работе...
 
 P.S. я не сильно люблю эту "клаву"... Сколько не пытался на ней сделать отладку, ничего из этого не выходило... Я клавиатуру набирал из кнопок...
 Добавлено (23.10.2013, 17:29)---------------------------------------------
 Да!!! Вот еще что забыл спросить:
 
 А почему у Вас входа "висят" в воздухе???
 
 THE TRUTH IS OUT THERE.
 
 С уважением, Николай.
 |  
 |  |  |  | 
| 
 
 
 
 | vladh | Дата: Ср, 23.10.2013, 17:38  |                                                                                                                Сообщение # 5 |  
 | ![vladh]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 258
 
 
 Замечания: ± На сайте с 15.10.2007
 
 
 Статус: 
 Offline
 
 | Да, это текст кириллицой выводимый на экран ЖКИ.Цитата Matrix252005 (  ) 1)Второй вопрос не понял. Выводы висящие в воздухе при моделировании не влияют.
 |  
 |  |  |  | 
| 
 
 
 
 | Matrix252005 | Дата: Ср, 23.10.2013, 17:54  |                                                                                                                Сообщение # 6 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 636
 
 
 Замечания: ± На сайте с 12.10.2007
 
 
 Статус: 
 Offline
 
 | По поводу второго вопроса: 
 В начале программы идет присвоение имен для портов, для вывода PORTC.0 имя HorB, а ниже в коде написано: HorB.0 = 1
 Добавлено (23.10.2013, 17:54)---------------------------------------------
 ОК!!! Я сегодня уже не успею подправить код... Сейчас приду домой и гляну!!!
 
 THE TRUTH IS OUT THERE.
 
 С уважением, Николай.
 |  
 |  |  |  | 
| 
 
 
 
 | vladh | Дата: Ср, 23.10.2013, 20:54  |                                                                                                                Сообщение # 7 |  
 | ![vladh]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 258
 
 
 Замечания: ± На сайте с 15.10.2007
 
 
 Статус: 
 Offline
 
 | Цитата Matrix25200513221В начале программы идет присвоение имен для портов, для вывода PORTC.0 имя HorB, а ниже в коде написано: HorB.0 = 1Да, действительно, это моя опечатка. Должно было быть HorB = 1 |  
 |  |  |  | 
| 
 
 
 
 | ivan_fd | Дата: Ср, 23.10.2013, 23:39  |                                                                                                                Сообщение # 8 |  
 |   
 
 
 
 
  Группа:
  Модераторы
 
  Ранг: 
 
 Специалист
 
  
 Сообщений: 
 
 
 891
 
 
 Замечания: ± На сайте с 12.01.2009
 
 
 Статус: 
 Offline
 
 | У меня все нормально компилируется. 
 Второй вопрос, не понятно, что Вы имеете ввиду.
 
 Третий вопрос, посмотрите в справке раздел Program Organization
 
 
 Код program <program name> include <include other modules>
 
 '********************************************************
 '* Declarations (globals):
 '********************************************************
 
 ' symbols declarations
 symbol ...
 
 ' constants declarations
 const ...
 
 ' structures declarations
 structure ...
 
 ' variables declarations
 dim Name[, Name2...] as [^]type [absolute 0x123]  [external] [volatile] [register]
 
 [sfr]' procedures declarations
 sub procedure procedure_name(...)
 <local declarations>
 ...
 end sub
 
 ' functions declarations
 sub function function_name(...) as return_type
 <local declarations>
 ...
 end sub
 
 '********************************************************
 '* Program body:
 '********************************************************
 
 main:
 ' write your code here
 end.
 Сообщение отредактировал 
 
 ivan_fd - Ср, 23.10.2013, 23:42
 
  |  
 |  |  |  | 
| 
 
 
 
 | vladh | Дата: Чт, 24.10.2013, 07:17  |                                                                                                                Сообщение # 9 |  
 | ![vladh]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 258
 
 
 Замечания: ± На сайте с 15.10.2007
 
 
 Статус: 
 Offline
 
 | Цитата ivan_fd 13230Третий вопрос, посмотрите в справке раздел Program Organization
 Спасибо. Этот важный раздел я почему то не увидел.
 Теперь первые два вопроса. После того как я исправил ошибку на которую указывал Matrix252005, я убрал символы комментария" ' " и все вроде стало компилироваться. Но при пошаговой симуляции у меня в тех строчках где стояли символы комментариев отсутствует нумерация строк и строки эти в симуляции не участвуют. Как результат программа не видит 3 колонки клавиатуры (клавиши 3, 6, 9, #). И последнее, исходя из задумки номер нажатой клавиши должен отображаться на 3 строке в 4 позиции. При пошаговой симуляции вроде так и происходит. Но вот в динамике код отображается в нескольких местах на этой строке. Почему?
 
 Сообщение отредактировал 
 
 vladh - Чт, 24.10.2013, 09:20
 
  |  
 |  |  |  | 
| 
 
 
 
 | Matrix252005 | Дата: Чт, 24.10.2013, 08:47  |                                                                                                                Сообщение # 10 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 636
 
 
 Замечания: ± На сайте с 12.10.2007
 
 
 Статус: 
 Offline
 
 | Приятного времени суток!!! 
 Владимир, я "подправил" Ваш код, посмотрите что вышло... Все норм работает!!! Подправил схему в протеусе, заменил клавиатуру...
 
 THE TRUTH IS OUT THERE.
 
 С уважением, Николай.
 |  
 |  |  |  | 
| 
 
 
 
 | vladh | Дата: Чт, 24.10.2013, 09:48  |                                                                                                                Сообщение # 11 |  
 | ![vladh]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 258
 
 
 Замечания: ± На сайте с 15.10.2007
 
 
 Статус: 
 Offline
 
 | Спасибо, Николай. Быстро посмотрел. Вроде бы как надо. Сейчас буду разбираться почему так. А схему можно было и не трогать. Там все ОК.Цитата Matrix252005 (  ) Владимир, я "подправил" Ваш код, посмотрите что вышло... Все норм работает!!! |  
 |  |  |  | 
| 
 
 
 
 | Matrix252005 | Дата: Чт, 24.10.2013, 09:50  |                                                                                                                Сообщение # 12 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 636
 
 
 Замечания: ± На сайте с 12.10.2007
 
 
 Статус: 
 Offline
 
 | Мне не нравится та клава... Сколько не пробовал на ней отлаживать, всегда были бока... Вот и поменял на кнопки... 
 THE TRUTH IS OUT THERE.
 
 С уважением, Николай.
 |  
 |  |  |  | 
| 
 
 
 
 | vladh | Дата: Чт, 24.10.2013, 10:02  |                                                                                                                Сообщение # 13 |  
 | ![vladh]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 258
 
 
 Замечания: ± На сайте с 15.10.2007
 
 
 Статус: 
 Offline
 
 | Во время пошаговой симуляции кнопка более наглядна для отладки работы клавиатур. Но на последующих этапах, особенно когда клавиатура в вашей программе второстепенна, то удобнее стандартная Протеус'овская. "Я так думаю" (ф.Мкртчан в фильме "Мимино"). |  
 |  |  |  | 
| 
 
 
 
 | ivan_fd | Дата: Чт, 24.10.2013, 10:23  |                                                                                                                Сообщение # 14 |  
 |   
 
 
 
 
  Группа:
  Модераторы
 
  Ранг: 
 
 Специалист
 
  
 Сообщений: 
 
 
 891
 
 
 Замечания: ± На сайте с 12.01.2009
 
 
 Статус: 
 Offline
 
 | Извиняюсь, что не в тему.  Но вот теперь можно сказать, так как код более больший, а не мигание светодиода. 
 Я сейчас тоже балуюсь с клавиатурой, но на Протоне. У меня код немного больше и запутанее. Так же, специально добавил вывод на LCD (для сравнения), у меня он не используется.
 Так вот: код на протоне занимает всего 770 слов на том же контроллере, что у Вас.
 На МикроБасике - 1224 слова.
 
 Еще раз извините, я ничего не навязываю, просто для сравнения.
   
 Сообщение отредактировал 
 
 ivan_fd - Чт, 24.10.2013, 10:24
 
  |  
 |  |  |  | 
| 
 
 
 
 | Matrix252005 | Дата: Чт, 24.10.2013, 10:48  |                                                                                                                Сообщение # 15 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Разобрался
 
  
 Сообщений: 
 
 
 636
 
 
 Замечания: ± На сайте с 12.10.2007
 
 
 Статус: 
 Offline
 
 | Цитата ivan_fd (  ) Еще раз извините, я ничего не навязываю, просто для сравнения.Я тоже извиняюсь, я тоже не хочу ничего не восхвалять или унизить!!!
 
 Провел тест с библиотекой клавиатуры 4х4 из мВ, предварительно убрав тот код!!!
 
 Сейчас программа скан. клавиатуры занимает:
 Used ROM (program words): 498 (6%)  Free ROM (program words): 7694 (94%)
 
 А там на любителя!!!
 
 P.S. Если нужно, могу выложить код программы.
 
 THE TRUTH IS OUT THERE.
 
 С уважением, Николай.
 |  
 |  |  |  |