Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Индикатор 16x4 (Некорректное тображение строки)
Индикатор 16x4
MasterPic Дата: Пт, 04.02.2011, 10:17  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 196
Репутация: 2   ±
Замечания:   ±
На сайте с 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!  "
Прикрепления: 9613825.png(14Kb) · 6188525.png(5Kb)
ЯНДЕКС Дата: 04.02.2011
Matrix252005 Дата: Пт, 04.02.2011, 14:26  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 676
Репутация: 36   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток.
MasterPic, это походу у Вас с прогой. Вот смотрите.
Прикрепления: 9170640.jpg(353Kb)


THE TRUTH IS OUT THERE.

С уважением, Николай.
ivan_fd Дата: Пт, 04.02.2011, 15:54  |                                                                                                                Сообщение # 3
Группа: Модераторы
Ранг:  Специалист
Сообщений: 911
Репутация: 50   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Matrix252005, Вы взяли дисплей 20х4, а не 16х4.

Меня все время преследуют умные мысли...но я быстрее!!!
Matrix252005 Дата: Пт, 04.02.2011, 15:58  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 676
Репутация: 36   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Пардон... ivan_fd, Вы правы, не туда глянул...

THE TRUTH IS OUT THERE.

С уважением, Николай.
Matrix252005 Дата: Пт, 04.02.2011, 16:30  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 676
Репутация: 36   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

По ходу я разобрался...

MasterPic, попробуйте:

Print $FE, $90, "Closing valve!" ' 3 строка

Print $FE, $D0, "Start service!" ' 4 строка

Посмотрите на стр 10!!!

Прикрепления: hd44780_1.pdf(397Kb)


THE TRUTH IS OUT THERE.

С уважением, Николай.

Сообщение отредактировал Matrix252005 - Пт, 04.02.2011, 16:48
DAlexV Дата: Пт, 04.02.2011, 17:57  |                                                                                                                Сообщение # 6
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (MasterPic)
И как в протеусе все это исправить?
В свойствах индикатора есть адресация для знакомест(Row1, Row2 и т.д.). Вписываем туда значения из мануала на реальный LCD и глюк должен уйти.


Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)
MasterPic Дата: Сб, 05.02.2011, 03:39  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 196
Репутация: 2   ±
Замечания:   ±
На сайте с 22.11.2008

Статус: Offline

Спасибо всем. Сделал, как сказал DAlexV, DalexV. Дело в том, что я еще не знаю, какой индикатор будет в конце концов(какой купят) и как там адреса будут. Но тогда вопрос такой. В протоне есть такая строка
Declare LCD_Lines 4 ' Количество строк ЖКИ
Получается, она не работает.?

И еще, если в протеусе я могу поменять адреса, то как в реальности это сделать. Допустим, я могу написать в программе, как предложил Matrix252005, но тогда как это написать в рыбе? Не понятно. Кто что скажет?

DAlexV Дата: Сб, 05.02.2011, 11:58  |                                                                                                                Сообщение # 8
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 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"

smile


Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)
MasterPic Дата: Сб, 05.02.2011, 12:06  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 196
Репутация: 2   ±
Замечания:   ±
На сайте с 22.11.2008

Статус: Offline

Ух ты! Спасибо Алекс, разъяснил. Что-то меня рыба заинтересовала. Думаю, сначала, углубленно поизучать VB. Так то пишу на нем, но на уровне интуиции. Многое непонятно. Например, я до сих пор не понимаю, для чего нужны структуры и как ими пользоваться.
DAlexV Дата: Сб, 05.02.2011, 12:15  |                                                                                                                Сообщение # 10
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (MasterPic)
Что-то меня рыба заинтересовала. Думаю, сначала, углубленно поизучать VB
Будут вопросы, обращайся. Поможем. Только в соответствующей топик форума. А то еще в Offtop-е
обвинят sad


Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)
MasterPic Дата: Сб, 05.02.2011, 12:34  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 196
Репутация: 2   ±
Замечания:   ±
На сайте с 22.11.2008

Статус: Offline

Хорошо, тогда, если что, я задам вопрос в соответствующем форуме.
Сообщение отредактировал MasterPic - Сб, 05.02.2011, 12:38
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Индикатор 16x4 (Некорректное тображение строки)
Страница 1 из 11
Поиск: