Индикатор 16x4
|
|
MasterPic |
Дата: Пт, 04.02.2011, 10:17 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
186
Замечания:
±
На сайте с 22.11.2008
Статус:
Offline
|
Всем привет! Вопрос такой? В протеусе при рисовании во всех 4 строках дисплея третья и четвертая отображаются не с самого начала, а с 4й позиции. Будет ли то же самое в реале? И как в протеусе все это исправить? И это, между прочим, не только в протоне. Вот высылаю скрин симуляции программы, написанной на рыбе. то же самое. Интересно, что с 20символьным дисплеем, работает как положено в протеусе. Код в рыбе: Code WriteAt(1,1,"0:", DecToStr(TMR0H*256 + TMR0L, 6)) WriteAt(2,1,"1:", DecToStr(TMR1H * 256 + TMR1L, 6)) WriteAt(3,1,"2:", DecToStr(TMR2,6)) WriteAt(4,1,"3:", DecToStr(TMR3H * 256 + TMR3L, 6)) Или вот Код на протоне: Code Print At 1,1, "Super Device! " Print At 2,1, "Start system! " Print At 3,1, "Closing valve! " Print At 4,1, "Start service! "
|
|
|
|
Matrix252005 |
Дата: Пт, 04.02.2011, 14:26 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток. MasterPic, это походу у Вас с прогой. Вот смотрите.
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
ivan_fd |
Дата: Пт, 04.02.2011, 15:54 | Сообщение # 3 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Matrix252005, Вы взяли дисплей 20х4, а не 16х4.
|
|
|
|
Matrix252005 |
Дата: Пт, 04.02.2011, 15:58 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Пардон... ivan_fd, Вы правы, не туда глянул...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Matrix252005 |
Дата: Пт, 04.02.2011, 16:30 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
По ходу я разобрался... MasterPic, попробуйте: Print $FE, $90, "Closing valve!" ' 3 строка Print $FE, $D0, "Start service!" ' 4 строка Посмотрите на стр 10!!!
THE TRUTH IS OUT THERE.
С уважением, Николай.
Сообщение отредактировал
Matrix252005 - Пт, 04.02.2011, 16:48
|
|
|
|
DAlexV |
Дата: Пт, 04.02.2011, 17:57 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (MasterPic) И как в протеусе все это исправить? В свойствах индикатора есть адресация для знакомест(Row1, Row2 и т.д.). Вписываем туда значения из мануала на реальный LCD и глюк должен уйти.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
MasterPic |
Дата: Сб, 05.02.2011, 03:39 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
186
Замечания:
±
На сайте с 22.11.2008
Статус:
Offline
|
Спасибо всем. Сделал, как сказал DAlexV, DalexV. Дело в том, что я еще не знаю, какой индикатор будет в конце концов(какой купят) и как там адреса будут. Но тогда вопрос такой. В протоне есть такая строка Declare LCD_Lines 4 ' Количество строк ЖКИ Получается, она не работает.? И еще, если в протеусе я могу поменять адреса, то как в реальности это сделать. Допустим, я могу написать в программе, как предложил Matrix252005, но тогда как это написать в рыбе? Не понятно. Кто что скажет?
|
|
|
|
DAlexV |
Дата: Сб, 05.02.2011, 11:58 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (MasterPic) но тогда как это написать в рыбе? Не понятно. Кто что скажет? Все просто. Рыба позволяем менять библиотеки под себя. Берем библиотеку LCD из папки \Swordfish\Library. Переносим ее в папку с проектом. Открываем ее в РЫБЕ и ищем процедуру под названием MoveCursor. { **************************************************************************** * Name : MoveCursor * * Purpose : Move the cursor to line and column * **************************************************************************** } public sub MoveCursor(pLine, pCol as byte) dec(pCol) select pLine case 1 : SetDDRAM(pCol) case 2 : SetDDRAM($40 + pCol) case 3 : SetDDRAM($14 + pCol) case 4 : SetDDRAM($54 + pCol) end select end sub { синим выделено то что нас интересует. Меняем на то что нужно и сохраняем под названием LCD1.bas. Осталось только вызвать измененную библиотеку в проекте: Include "LCD1.bas"
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
MasterPic |
Дата: Сб, 05.02.2011, 12:06 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
186
Замечания:
±
На сайте с 22.11.2008
Статус:
Offline
|
Ух ты! Спасибо Алекс, разъяснил. Что-то меня рыба заинтересовала. Думаю, сначала, углубленно поизучать VB. Так то пишу на нем, но на уровне интуиции. Многое непонятно. Например, я до сих пор не понимаю, для чего нужны структуры и как ими пользоваться.
|
|
|
|
DAlexV |
Дата: Сб, 05.02.2011, 12:15 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (MasterPic) Что-то меня рыба заинтересовала. Думаю, сначала, углубленно поизучать VB Будут вопросы, обращайся. Поможем. Только в соответствующей топик форума. А то еще в Offtop-е обвинят
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
MasterPic |
Дата: Сб, 05.02.2011, 12:34 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
186
Замечания:
±
На сайте с 22.11.2008
Статус:
Offline
|
Хорошо, тогда, если что, я задам вопрос в соответствующем форуме.
Сообщение отредактировал
MasterPic - Сб, 05.02.2011, 12:38
|
|
|
|