|
Помогите запустить LCD под CodeVision, под Bascom работает, под CodeVision - нет |
|
|
|
Jul 23 2008, 11:46
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 22-03-08
Из: Харьков
Пользователь №: 36 149

|
Цитата(AHTOXA @ Jul 23 2008, 14:36)  А JTAG-то — отключили? Я уже перебрался на порт А =) На счет JTAG я уже отвечал, с ним еще не работал Цитата(Stas_R @ Jul 23 2008, 14:30)  В папке \cvavr\lib\ есть файл LCD.lib который является текстовым на С с ASM вставками. В нем описаны все процедуры работы с LCD. Можно подредактировать и сделать процедуру обмена как на Баскоме - без чтения с ЛСД?
|
|
|
|
|
Jul 23 2008, 12:06
|
Группа: Участник
Сообщений: 12
Регистрация: 18-10-05
Из: г.Донецк
Пользователь №: 9 806

|
Можно немного модернизировать LCD.lib. Там есть такое описание #asm .equ __lcd_direction=__lcd_port-1 .equ __lcd_pin=__lcd_port-2 .equ __lcd_rs=0 .equ __lcd_rd=1 .equ __lcd_enable=2 .equ __lcd_busy_flag=7 #endasm
__lcd_busy_flag используется только в _lcd_ready() замените sbrc r26,__lcd_busy_flag rjmp __lcd_busy на задержку вставте несколько _lcd_delay(); если есть осцилограф посмотрите длительности по нему. Удачи.
Сообщение отредактировал Stas_R - Jul 23 2008, 12:07
|
|
|
|
|
Jul 23 2008, 12:53
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 22-03-08
Из: Харьков
Пользователь №: 36 149

|
Цитата(Stas_R @ Jul 23 2008, 15:06)  Можно немного модернизировать LCD.lib. Там есть такое описание #asm .equ __lcd_direction=__lcd_port-1 .equ __lcd_pin=__lcd_port-2 .equ __lcd_rs=0 .equ __lcd_rd=1 .equ __lcd_enable=2 .equ __lcd_busy_flag=7 #endasm Здесь задается к какому пину порта какой вывод ЛСД должен подключаться? Цитата(Stas_R @ Jul 23 2008, 15:06)  __lcd_busy_flag используется только в _lcd_ready() замените sbrc r26,__lcd_busy_flag rjmp __lcd_busy на задержку вставте несколько _lcd_delay(); если есть осцилограф посмотрите длительности по нему. Удачи. Что на что менять, честно говоря, не понял =)
|
|
|
|
|
Jul 23 2008, 18:45
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(Ветал @ Jul 23 2008, 15:53)  Что на что менять, честно говоря, не понял =) Вам предлагают забить на ожидание готовности от ЖКИ, и сделать задержки больше чем по даташиту на Ваш ЖКИ. Цитата(Ветал @ Jul 23 2008, 15:53)  Здесь задается к какому пину порта какой вывод ЛСД должен подключаться? это определения линий, про порт здесь ничего не сказанно
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
Jul 24 2008, 11:11
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 22-03-08
Из: Харьков
Пользователь №: 36 149

|
Уважаемые друзья! Сегодня проблема была решена. Библиотеки правда не редактировал. Деревенским методом навешал проводов, так, чтоб не резать дорог на плате, по схеме из Хелпа CodeVision. ЛСД выдал то, что от него просили. Проблема была аппаратная. Подвесил к порту С, JTAG не мешает. Единственное, не хочет писать на второй строке . Поковыряю, может найду в чем тут дело. И функция lcd_gotoxy(unsigned char x, unsigned char y) не управляет координатыами курсора, а начинает писать с начала верхней строки.
Вопрос снят, lcd_gotoxy() работает. Забыл, что программисты начинает считать с нуля )))
|
|
|
|
|
Jul 24 2008, 18:16
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Metallist64 @ Jul 25 2008, 00:06)  ... Попробуйте убрать lcd_clear(); тогда будет менее заметно. (Не забудьте только дополнить все пункты меню пробелами справа, и после lcd_puts(adc); добавьте lcd_puts(" ")  Ну и числа, меняющиеся через 250 мс - сложно воспринимаются, я бы увеличил интервал.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Jul 24 2008, 19:36
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Metallist64 @ Jul 25 2008, 01:13)  все конечно хорошо, а вот 0-я строка перестала обновляться. 1-я в порядке.В чем бага??? Подскажите пожалуйста. Дык, добавьте перед выводом пункта меню lcd_gotoxy(0,0); Раньше это делала за вас ф-я lcd_clear().
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Jul 25 2008, 12:45
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 29-01-08
Пользователь №: 34 558

|
Согласен! Спасибо! Сегодня днем только дошло,что надо курсор переводить на другую позицию Утро вечера мудренее!!!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|