|
LCD и IAR, Не могу заставить работать |
|
|
|
May 30 2006, 05:52
|

Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 5-07-05
Из: Великий Новгород
Пользователь №: 6 536

|
Раньше писал на CV перешел на IAR. Нашел исходник для работы с LCD HD44780, написан был для ICC, переделал под IAR не могу никак заставить работать. Сначала думал что задержки не работают, они были организованы через for, заменил на стандартные, все-равно никакого эффекта, Тестовая плата и индикатор рабочие, старые прошивки сделанные в CV работают нормально. Проц Мега16, кварц 8 МГц, R/W у индикатора висит на земле, шина 4 бит. индикатор WinStar 1602A Помогите разобраться в чем причина. Исходники прилагаются...
Сообщение отредактировал ILYCHOFF - May 30 2006, 06:07
|
|
|
|
|
 |
Ответов
|
May 30 2006, 07:18
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 11-01-06
Из: Украина Ровно
Пользователь №: 13 066

|
Цитата(ILYCHOFF @ May 30 2006, 08:52)  Помогите разобраться в чем причина. Попробуй поковырять это. 4-бит. 1Х16 какой-то самсунговский индикатор, с которым противно было работать. одна строка, а вывод как в две по 8 но не рядом стоящие. ИАР. Работает точно. Это просто упражнения для попробовать. Так что оптимизировать-непаханое поле.
m48.rar ( 3.31 килобайт )
Кол-во скачиваний: 210
|
|
|
|
|
May 30 2006, 07:35
|

Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 5-07-05
Из: Великий Новгород
Пользователь №: 6 536

|
Цитата(aleksey_g @ May 30 2006, 11:18)  Цитата(ILYCHOFF @ May 30 2006, 08:52)  Помогите разобраться в чем причина.
Попробуй поковырять это. 4-бит. 1Х16 какой-то самсунговский индикатор, с которым противно было работать. одна строка, а вывод как в две по 8 но не рядом стоящие. ИАР. Работает точно. Это просто упражнения для попробовать. Так что оптимизировать-непаханое поле.
m48.rar ( 3.31 килобайт )
Кол-во скачиваний: 210Спасибо посмотрю.... Вот переписал инициализацию так void lcd_init(void) { delay_ms(50); LCDDDR = 0xF5; LCDPORT = 0x00; delay_us(100); LCDPORT = (DB5 + DB4); LCDPORT |= E; LCDPORT &= ~E; delay_us(100); LCDPORT |= E; LCDPORT &= ~E; delay_us(100); LCDPORT |= E; LCDPORT &= ~E; delay_us(100); LCDPORT = DB5; LCDPORT |= E; LCDPORT &= ~E; delay_us(40); lcd_write_byte(CTRL,0x28); lcd_write_byte(CTRL,0x0c); lcd_write_byte(CTRL,0x01); delay_us(500); lcd_write_byte(CTRL,0x06); delay_us(50); } все равно не работает... Цитата(A_Bolshev @ May 30 2006, 11:17)  Цитата(ILYCHOFF @ May 30 2006, 09:52)  Раньше писал на CV перешел на IAR.
Нашел исходник для работы с LCD HD44780, написан был для ICC, переделал под IAR не могу никак заставить работать.
Помогите разобраться в чем причина.
попробуйте симулировать в VMLAB - там есть остановка по неверным командам на LCD. Вам не кажется, что уже достаточно навязывать всем этот курс. Я помощи просил, а не вашу "щепотку си"...
|
|
|
|
|
May 30 2006, 08:14
|
Местный
  
Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064

|
а если так ? Код void lcd_init(void) { delay_ms(50); LCDDDR = 0xF5; LCDPORT = (DB5 + DB4); delay_us(100); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_ms(5); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_us(100); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_us(100); LCDPORT = DB5; delay_us(100); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_us(40); lcd_write_byte(CTRL,0x28); lcd_write_byte(CTRL,0x0c); lcd_write_byte(CTRL,0x01); delay_us(500); lcd_write_byte(CTRL,0x06); delay_us(50); }
|
|
|
|
|
May 30 2006, 08:25
|

Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 5-07-05
Из: Великий Новгород
Пользователь №: 6 536

|
Цитата(&-rey @ May 30 2006, 12:14)  а если так ? Код void lcd_init(void) { delay_ms(50); LCDDDR = 0xF5; LCDPORT = (DB5 + DB4); delay_us(100); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_ms(5); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_us(100); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_us(100); LCDPORT = DB5; delay_us(100); LCDPORT |= E; delay_us(450); LCDPORT &= ~E; delay_us(40); lcd_write_byte(CTRL,0x28); lcd_write_byte(CTRL,0x0c); lcd_write_byte(CTRL,0x01); delay_us(500); lcd_write_byte(CTRL,0x06); delay_us(50); } Все равно не работает, может у кого есть исходник рабочий для 16*2, просто сравнить, и задержки посмотреть уже не знаю на что думать...
|
|
|
|
|
May 30 2006, 08:41
|
Местный
  
Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064

|
Цитата(ILYCHOFF @ May 30 2006, 11:25)  Все равно не работает, может у кого есть исходник рабочий для 16*2, просто сравнить, и задержки посмотреть уже не знаю на что думать... выкладывал здесь свое, НО обратите внимание на подключение порта, оно не такое как у Вас, поэтому нужно еще подкорректировать Init_instruction и Write_LCD (добавить/убрать __swap_nibbles) ну и все что в хедере тоже .... http://electronix.ru/forum/index.php?showt...533;entry118409
|
|
|
|
|
May 30 2006, 08:47
|

Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 5-07-05
Из: Великий Новгород
Пользователь №: 6 536

|
Цитата(&-rey @ May 30 2006, 12:41)  Цитата(ILYCHOFF @ May 30 2006, 11:25)  Все равно не работает, может у кого есть исходник рабочий для 16*2, просто сравнить, и задержки посмотреть уже не знаю на что думать...
выкладывал здесь свое, НО обратите внимание на подключение порта, оно не такое как у Вас, поэтому нужно еще подкорректировать Init_instruction и Write_LCD (добавить/убрать __swap_nibbles) ну и все что в хедере тоже .... http://electronix.ru/forum/index.php?showt...533;entry118409 По ссылке выбрасывает на ваше сообщение.... непонимаю..
|
|
|
|
Сообщений в этой теме
ILYCHOFF LCD и IAR May 30 2006, 05:52 MMP Инициализация вроде так должна быть:
задержка 15 м... May 30 2006, 06:53 ILYCHOFF Цитата(MMP @ May 30 2006, 10:53) Инициали... May 30 2006, 07:09 &-rey согласен с MMP насчет DB4 DB5
вот только насчет за... May 30 2006, 07:11      &-rey Цитата(ILYCHOFF @ May 30 2006, 11:47) По ... May 30 2006, 08:56    otrog Цитата(ILYCHOFF @ May 30 2006, 12:25) Все... May 30 2006, 11:37 BVU Цитата(ILYCHOFF @ May 30 2006, 09:52) Ран... May 30 2006, 07:37 ILYCHOFF Задержки реализованы следующим образом
#ifndef D... May 30 2006, 07:46 BVU Посмотрите здесь, может дело прояснится:
http://el... May 30 2006, 09:04 defunct Цитата(ILYCHOFF @ May 30 2006, 11:25) Все... May 30 2006, 11:11 ILYCHOFF А что вам мешает писать
PORTB_Bit1=1;
~PORTB_Bit1... May 30 2006, 11:54 otrog То что нельзя записать так:
КодADCSRA.ADEN = 1;
А ... May 30 2006, 12:09 prottoss Привет всем!
Не вдавался в подробности обс... May 30 2006, 14:16 WHALE А ведь вам A_Bolshev ,нисмотря не на что,неплохой ... May 30 2006, 18:07 ILYCHOFF Всем спасибо за ответы разобрался все заработало к... Jun 1 2006, 06:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|