Как сохронить данные введёные с на LCD?
|
|
Alexej79 |
Дата: Сб, 17.05.2014, 14:30 | Сообщение # 16 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
71
Замечания:
±
На сайте с 16.08.2010
Статус:
Offline
|
Цитата Matrix252005 ( ) клавиатура какая Клавиатура спаянна по такой вот схеме, но резисторы и расположение их другое, но принцип такой. Вот фрагмент кода моей программы. Часть где обрабатывается нажатие кнопок Код Dim K As Byte 'переменная для опроса клавиатуры Dim A As Bit 'переменная для опроса нажатия кнопок Dim Z As Byte 'переменная для присвоения цифры с таблицы Dim Zahl As Byte 'переменная фактически нажатой кнопки Dim I As Byte 'переменная флаг для формулы после запятой Dim R As Word 'переменная для целых чисел Dim G As Float 'переменная для десятичных чисел Dim X As Byte 'переменная позиции курсора для вывода запятой A=0:R=0:I=0:X=1 ........ Start: K=ADIn 1 'опросить клавиатуру с вывода 3 AN1 DelayUS 1'пауза для разрядки кондёра Z=LookDownL K,<=[35,42,50,55,57,68,74,80,86,92,94,96]' таблица присваивания Zahl=LookUpL Z, [3, 6, 9,11, 0, 8, 5, 2, 1, 4, 7,10]' фактически нажатая цифра Print $FE,$0F' мигающий курсор If Zahl=10 And K<240 And A=0 Then A=1: I=1:Print At 1,X,"."'если нажата запятая If Zahl=11 And K<240 And A=0 Then A=1: R=0:I=0:X=1:Cls' если нажат ENTER If K<240 And A=0 And I=0 Then DelayMS 10:R=(R*10)+Zahl:Print At 1,1, Dec R: A=1:X=X+1' формула для целых чисел If K<240 And A=0 And I=1 Then DelayMS 10:G=R+(Zahl/10):Print At 1,1, Dec1 G: A=1' формула для десятичных чисел If K>240 Then DelayMS 10: A=0' когда отпущена кнопка Goto Start Вот как то так я реализовал эту часть программы. Если есть какие замечания пишите.
Сообщение отредактировал
Alexej79 - Сб, 17.05.2014, 14:34
|
|
|
|
Matrix252005 |
Дата: Пн, 19.05.2014, 14:25 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
Цитата If Zahl=10 And K<240 And A=0 Then A=1: I=1:Print At 1,X,"."'если нажата запятая If Zahl=11 And K<240 And A=0 Then A=1: R=0:I=0:X=1:Cls' если нажат ENTER If K<240 And A=0 And I=0 Then DelayMS 10:R=(R*10)+Zahl:Print At 1,1, Dec R: A=1:X=X+1' формула для целых чисел If K<240 And A=0 And I=1 Then DelayMS 10:G=R+(Zahl/10):Print At 1,1, Dec1 G: A=1' формула для десятичных чисел If K>240 Then DelayMS 10: A=0' когда отпущена кнопка
Alexej79, возьмите себе за правило, не пишите все в одну строчку!!!!!!!! Это тяжело читать и не поймешь где ошибка...
If Zahl = 10 And K < 240 And A = 0 Then ' если нажата запятая A = 1 I = 1 Print At 1, X, "." EndIf
С уважением, Николай.Добавлено (19.05.2014, 14:25) --------------------------------------------- Alexej79, а где у Вас идет обнуление "Х"??? Присваивание 1 вижу.... Инкремент "Х" вижу... А обнуление не вижу....
Или я что то не так понял...
Если можно, выложите весь проект вместе с схемой в протеусе...
С уважением, Николай.
Сообщение отредактировал
Matrix252005 - Пн, 19.05.2014, 14:14
|
|
|
|
ADMIN |
Дата: Ср, 21.05.2014, 03:04 | Сообщение # 18 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Alexej79, здесь, судя по всему, вам будет полезно почитать
|
|
|
|
Alexej79 |
Дата: Пт, 23.05.2014, 23:55 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
71
Замечания:
±
На сайте с 16.08.2010
Статус:
Offline
|
ADMIN, спасибо за ссылку, полезная для меня статья. Цитата Matrix252005 ( ) Если можно, выложите весь проект вместе с схемой в протеусе... Да, я выложу проект но позже сейчас я уже сам там запутался. Всё это время разбирался в Протеусе как запустить отладку программы. Дело в том что окно с названием Variables - U1 остаётся всегда пустым хотя там должны показываться переменные которые присутствуют в моей программе. Вот так выглядит это. может где в настройках галку поставить надо? Уже не знаю что сделать.
|
|
|
|
ivan_fd |
Дата: Сб, 24.05.2014, 17:03 | Сообщение # 20 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Тут дел, скорее всего в Протоне, а не в Протеусе. Попробуйте через COFF? или ставьте последнюю версию Протона.
|
|
|
|
Alexej79 |
Дата: Пн, 26.05.2014, 23:08 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
71
Замечания:
±
На сайте с 16.08.2010
Статус:
Offline
|
Цитата ivan_fd ( ) Попробуйте через COFF? или ставьте последнюю версию Протона. Что значит COFF а Протон у меня версии IDE 2.0.0.8 Loader 3.5.1.5 Compiler 3.5.1.7
|
|
|
|
ivan_fd |
Дата: Пн, 26.05.2014, 23:35 | Сообщение # 22 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Declare Create_Coff = On
И в Протеусе выбираете не BAS, а coff.
И все таки скачайте новую версию ПРОТОНА и все будет хорошо.
|
|
|
|
Alexej79 |
Дата: Пн, 26.05.2014, 23:53 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
71
Замечания:
±
На сайте с 16.08.2010
Статус:
Offline
|
Цитата ivan_fd ( ) И все таки скачайте новую версию ПРОТОНА и все будет хорошо. Спасибо за совет я не знал о существовании новой версии. Скачал установил всё заработало.
|
|
|
|