Работа с ЖКИ на контроллере HD44780 и его аналогах

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

kybertech писал(а):...
На МК всегда фьюзы были выставлены по умолчанию, то есть заводсткие.
Ну так, отключите JTAG наконец, он включен в состоянии поставки.
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

smac писал(а):
kybertech писал(а):...
На МК всегда фьюзы были выставлены по умолчанию, то есть заводсткие.
Ну так, отключите JTAG наконец, он включен в состоянии поставки.
Ага. отключил на одном МК после чего он вообще перестал программироваться и читаться.
Контактная информация:
Реклама
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

Нет. Вы сначала покажите как у ВАС счас стоят
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

kybertech писал(а): Ага. отключил на одном МК после чего он вообще перестал программироваться и читаться.
Значит либо криво отключали, либо программатор у Вас кривой.
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Вот так у меня установлены фьюзы на данный момент.
Вложения
fuse.jpg
стандартные установки фьюзов
(36.32 КБ) 1012 скачиваний
Контактная информация:
Реклама
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

ну и что Вы хотите?
Правильно все советуют fuse JTAGEN галочку уберите
иначе порт С никогда у вас работать не будет как порт


а то что потом контроллер не видится так это не от этого
счас у вас кстати стоит работа от внутреннего генератора - по умолчанию

если надо для кварца то снимите галочки с fuse CKEL1,CKEL2,CKEL3

я же вам картинку давал

и не забудьте потом нажать Write
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

dt_andrew писал(а):ну и что Вы хотите?
Правильно все советуют fuse JTAGEN галочку уберите
иначе порт С никогда у вас работать не будет как порт


а то что потом контроллер не видится так это не от этого
счас у вас кстати стоит работа от внутреннего генератора - по умолчанию

если надо для кварца то снимите галочки с fuse CKEL1,CKEL2,CKEL3

я же вам картинку давал

и не забудьте потом нажать Write
На счёт кварца это я в курсе !
А на счёт JTagen может так совпало что как я только убрал галочку и попробовал на устройстве, видать спалил его. И он перестал определяться !
Ещё раз огромное спасибо !
Контактная информация:
Открыл глаза
Сообщения: 44
Зарегистрирован: Сб июн 14, 2008 11:51:50

Сообщение k000858 »

Всем привет.
Пытаюсь подключить WH1602O-YYB-CTK (winstar) а атмеге8.
схема подключения по 4х битному режиму
Замучался с инициализацией. Помогите плизки. как это сделать. прочитал кучу статей и примеров, по отдельности вроде все понятно но когда пытаюсь собрать все это вместе и применить к своему примеру голова начинает трещать по швам)))) (ассемблер)
Вложения
.JPG
(98.49 КБ) 989 скачиваний
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 168
Зарегистрирован: Сб фев 16, 2008 04:35:19
Откуда: г.Тольятти

Сообщение diim »

Товарищи коты,и гуру в программировании на СИ! Помогите с инициализацией дисплея NC0802A-YHY-TS подключаю как в даташите нарисовано,при включении загорается верхняя строка и всё больше ничего с ней не могу сделать я думаю что после инициализации где я выставляю мигающий курсор строка должна погаснуть и появиться мигающий курсор я прав?
кварц на 4мгц,питание 5.7 вольта от зарядника сотового,
вот код которым я пытаюсь его инициализировать:

Код: Выделить всё

 #include <tiny2313>
#include <delay>
#define RS  PORTD.4   // 
#define RW PORTD.5  //
#define E PORTD.6     //стробирующий выход
#define RESET 0x01   // очистка экрана
#define DATA PORTB
#define DB7 PORTB.7
#define DB6 PORTB.6
#define DB5 PORTB.5
#define DB4 PORTB.4
#define DB3 PORTB.3
#define DB2 PORTB.2
#define DB1 PORTB.1
#define DB0 PORTB.0


void init(void){
delay_ms(999);

RS=0;RW=0;
DB7=0;DB6=0;DB5=1;DB4=1;DB3=1;DB2=0;DB1=0;DB0=0;  /*DB4-установили 8 битный режим,
  DB3-2х строчный режим,DB2-5х7 точек*/
delay_us(40); //пауза в 40 мкс
RS=0;RW=0;
DB7=0;DB6=0;DB5=1;DB4=1;DB3=1;DB2=1;DB1=0;DB0=0;
delay_us(100);
RS=0;RW=0;
DB7=0;DB6=0;DB5=1;DB4=1;DB3=1;DB2=1;DB1=0;DB0=0;
delay_us(200);
RS=0;RW=0;
DB7=0;DB6=0;DB5=1;DB4=1;DB3=1;DB2=1;DB1=0;DB0=0;
delay_us(200);
RS=0;RW=0;
DB7=0;DB6=0;DB5=0;DB4=0;DB3=1;DB2=1;DB1=1;DB0=1;/*DB2-включили дисплей,
  DB1-включить кусор,DB0-курсор мигающий*/
delay_us(200);
RS=0;RW=0;
DB7=0;DB6=0;DB5=0;DB4=0;DB3=0;DB2=1;DB1=1;DB0=0;/*DB1-сдвиг курсора вправо*/ 
delay_us(200);

}
***********
Не трогайте мокрыми руками оголённые провода, они могут заржаветь.
***********
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

2k000858

Прилепил библиотеки.
Кое где кривовато, после того как написал руки не доходят всё окультурить. Думаю разберётесь.
Вложения
LCD.rar
(933 байт) 711 скачиваний
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск

Сообщение Chip115 »

Всем привет! Кто нибудь знает обучалку по юзанию аналогичных дисплеев?Я пишу на Си.просто никагда с ними не работал.решил начать.
Вот нарыл код

Код: Выделить всё

#include <mega8>

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd>

// Declare your global variables here

void main(void)
{
 char *_str="Hello word!"; //Создаем выводимую строку

PORTD=0x00; //Выставляем все выходы PORTD на ноль

DDRD=0x00; // Выставляем все выходы PORTD как входы

lcd_init(16); // Инициализация ЖКИ на 16 символов

lcd_gotoxy(0,0); // Переводим курсор на первый символ первой строки

lcd_puts(_str);   // Выводим строку _str на дисплей ЖКИ

if (PIND.6==0)
        {
            char *_str="Menu";   //ОШИБКА
            lcd_gotoxy(0,0);
            lcd_puts(_str);
        }
}
Выдает ошибку при компиляции Error: variable '_str' already initialized
Контактная информация:
Родился
Сообщения: 4
Зарегистрирован: Ср мар 25, 2009 19:47:42

Сообщение rehcraeser »

У меня вопросик небольшой. Тут выше писали, что BF (busy flag) не всегда можно прочитать. В каких случаях он недоступен или неверно отражает состояние? А то хотелось бы все таки обращаться к дисплею и анализировать флаг готовности, а не лепить задержки...
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Смотрите вложения
ЗЫ: Иногда создаётся впечатление, что ДАТАШИТОВ просто не существует.
Вложения
lcd.rar
(116.39 КБ) 698 скачиваний
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Родился
Сообщения: 4
Зарегистрирован: Ср мар 25, 2009 19:47:42

Сообщение rehcraeser »

Понял. Спасибо. :) Просто в моем даташите этого не было... Там просто паузы между командами расписаны без сносок, что нельзя читать BF.
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Для всех желающих научиться работать с LCD настоятельно рекомендую прочитать ... :cry:
Хотел прилепить файл, но он оказался слишком длинный 393кб не получилось. Кому надо пишите в личку перешлю.

Разбейте архиватором пополам и выложите. Заранее спасибо. Aheir
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Итак статейка о LCD на HD44780, оч.давно нарыл где-то на просторах инета, мне помогло освоиться, надеюсь поможет кому-то еще
(главное все по нашенски и доходчиво 8) ).
Всем удачи.
Спасибо Aheir, сам бы точно до такого не додумался, нормальные герои всегда идут в обход :)))
Вложения
lcd.part1.rar
(195.31 КБ) 1117 скачиваний
lcd.part2.rar
(173.65 КБ) 1100 скачиваний
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Даташит на МЭЛТовский дисплей, и флаг в руки + барабан на шею :)))
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Ну по МЭЛТовским пдфкам новичкам будет трудновато постичь азы применения.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Ну по МЭЛТовским пдфкам новичкам будет трудновато постичь азы применения.
Ну совсем не согласен! Когда я ещё только "понюхал" контроллеры, прокурил пдф мэлта, и практически без проблем запустил железяку!
Даже спрашивать ни у кого не пришлось!
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Родился
Сообщения: 10
Зарегистрирован: Сб мар 28, 2009 17:07:00

Сообщение Блуд »

а можно ли дописать библиотеку CodeVision для работы с русскими буквами?
Блуд не любит флуд = )
Контактная информация:
Ответить

Вернуться в «Периферия»