Форум myROBOT.ru » Роботы и робототехника » Делимся опытом » Atmega16+ЖК дисплей FDCC1602L помогите с инициализацией

Страниц (1): [1]
 

1. Def1988 - 15 Сентября, 2010 - 12:40:33 - перейти к сообщению
Помогите пожалуйста написать программу для WINAVR на С по инициализации LCD экрана FDCC1602L для МК Atmega16
А то уже перепробовал многое но нечего не получается
E подключено к PC2
R/W подключено к PC3
RS подключено к PC4
DB0-DB7 подключено к PD0-PD7
Буду очень благодарен
2. nest - 15 Сентября, 2010 - 19:23:11 - перейти к сообщению
самое важное у дисплейев - на каком контроллере он собран.
скорее всего на каком то клоне HD44780.

так что для этого контроллера и ищите методы управления.
их уже на каждом углу в интернете есть.

заодно можете скачать даташит на HD44780 и почитать.

а ещё обычно эти дисплеи подключают по 4-ёх битной шине... так экономнее с ногами.
хотя кому как нравится

Def1988 пишет:
уже перепробовал многое но нечего не получается
покажите, что уже попробовали.
3. Def1988 - 15 Сентября, 2010 - 21:37:38 - перейти к сообщению
вот я пробовал по этой статье делать
http://www.robotsspace.ucoz.ru/publ/9-1-0-15
и по этой то же
http://www.robotsspace.ucoz.ru/publ/9-1-0-15
но нечего не получается

подключил я правильно, сто ко раз перепроверял
в общем вот схема
http://cs9473.vkontakte.ru/u7044...4/x_e3ed8969.jpg

даташейп я скачивал и для самого экрана и для контролера
там одинаково, перепробовал кучу вариантов где поставить задержки, даже по кнопкам делал что бы по очереди команды перебирались
4. cjA - 15 Сентября, 2010 - 21:56:49 - перейти к сообщению
Значит что-то не правильно Улыбка
Не поленитесь , полностью свою схемку кинте.
5. nest - 15 Сентября, 2010 - 22:21:41 - перейти к сообщению
Def1988 пишет:
вот я пробовал по этой статье делать: http://www.robotsspace.ucoz.ru/publ/9-1-0-15
и по этой то же: http://www.robotsspace.ucoz.ru/publ/9-1-0-15
но нечего не получается

а что получалось, как реагировал экран?

да, и схему бы нормальную, а не фотографию.
и код, который у вас получился покажите.
6. Def1988 - 15 Сентября, 2010 - 23:04:10 - перейти к сообщению
http://cs10041.vkontakte.ru/u704...0/x_ec976b9d.jpg
вот схема как соединил

реакция программы, ну после включения питания загорается подсветки и верхняя строка закрашивается черными кубиками и все, дальше нечего нет не каких эффектов.
(Добавление)
#include <avr/io.h>
#include <util/delay.h>

void main(void)

{
DDRA = 0xff;
DDRC = 0xff;
DDRD = 0xff;
DDRB = 0x00;

PORTA=0b11111111;
PORTC=0b00000000;
PORTD=0b00000000;

_delay_ms(300);

//1----------------------------- ----1
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00110000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00110000;//Светолдиод
_delay_ms(5);
//2----------------------------- ----2
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00110000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00110000;//Светолдиод
_delay_ms(100);
//3----------------------------- -----3
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00110000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00110000;//Светолдиод
_delay_ms(200);
//4----------------------------- -------4
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00010000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00010000;//Светолдиод
_delay_ms(5);
//5----------------------------- --------5.1
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00010000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00010000;//Светолдиод
_delay_ms(5);
//5.2
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b10000000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b10000000;//Светолдиод
_delay_ms(5);
//6----------------------------- ---------6.1
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00000000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00000000;//Светолдиод
_delay_ms(5);
//6.2
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b10000000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b10000000;//Светолдиод
_delay_ms(5);
//7----------------------------- ----------7.1
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00000000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00000000;//Светолдиод
_delay_ms(5);
//7.2
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00010000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00010000;//Светолдиод
_delay_ms(5);
//8----------------------------- ----------8.1
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00000000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b00000000;//Светолдиод
_delay_ms(5);
//8.2
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b01110000;
_delay_ms(5);
PORTC=0b00000000;
PORTA=0b01110000;//Светолдиод
_delay_ms(5);
//--------------------------

//выдоча инф
PORTC=0b00000100;
_delay_ms(3);
PORTD=0b00000000;
_delay_ms(50);
PORTC=0b00000000;
_delay_ms(255);
PORTC=0b00010100;
PORTD=0b00110000;
_delay_ms(50);
PORTC=0b00010000;

PORTA=0b00110000;//Светолдиод
_delay_ms(5);
while(1) { // Бесконечный цикл
}
return 0;
}
7. Def1988 - 26 Сентября, 2010 - 00:00:42 - перейти к сообщению
Все я разобрался =)