Автор Тема: Подключение LCD к ардуино без использования библиотеки  (Прочитано 565 раз)

Оффлайн electroGhost

  • Member
  • **
  • Сообщений: 19
  • Репутация: +1/-0
    • Личное сообщение (Оффлайн)
Итак для начала узнаем как управлять LCD дисплеем в теории. В отличие от подключения с использованием библиотеки здесь мы подключаем не 4 вывода данных, а 8 старшие биты и младшие биты. Сначала включаем дисплей, потом инициализируем его, очищаем дисплей и только после этого можно изображать символы.
void setup() {
  pinMode(3, OUTPUT);    //Вывод RS(Register selection), если передаем команду, то подаем 0 на этот вывод, а если символ то 1   
  pinMode(4, OUTPUT);    //Вывод R/W(Read/Write), если надо записать информацию, то 0, а если считываем то 1
  pinMode(5, OUTPUT);    //Вывод E(Enable), в начале передачи или приема подаем 1, в конце 0
  pinMode(6, OUTPUT);    //Вывод DB0(Data bit 0) - младший бит
  pinMode(7, OUTPUT);    //Вывод DB1(Data bit 1) - младший бит
  pinMode(8, OUTPUT);    //Вывод DB2(Data bit 2) - младший бит
  pinMode(9, OUTPUT);    //Вывод DB3(Data bit 3)  - младший бит
  pinMode(10, OUTPUT);    //Вывод DB4(Data bit 4) - Старший бит
  pinMode(11, OUTPUT);    //Вывод DB0(Data bit 5) - Старший бит
  pinMode(12, OUTPUT);    //Вывод DB0(Data bit 6) - Старший бит
  pinMode(13, OUTPUT);    //Вывод DB0(Data bit 7) - Старший бит
}

void loop() {
                                               //Начало блока включения дисплея
  digitalWrite(3, 0);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 1);
  digitalWrite(9, 1);
  digitalWrite(10, 0);
  digitalWrite(11, 0);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока включения дисплея

                                               //Начало блока инициализации дисплея
  digitalWrite(3, 0);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 1);
  digitalWrite(9, 1);
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока инициализации дисплея

                                               //Начало блока отчистки дисплея
  digitalWrite(3, 0);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 1);
  digitalWrite(7, 0);
  digitalWrite(8, 0);
  digitalWrite(9, 0);
  digitalWrite(10, 0);
  digitalWrite(11, 0);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока отчистки дисплея

                                               //Начало блока символа h
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 0);
  digitalWrite(9, 1);
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа h

                                               //Начало блока символа t
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 1);
  digitalWrite(9, 0);
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа t

                                               //Начало блока символа t
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0); 
  digitalWrite(7, 0); 
  digitalWrite(8, 1); 
  digitalWrite(9, 0); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа t

                                               //Начало блока символа p 
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0); 
  digitalWrite(7, 0); 
  digitalWrite(8, 0); 
  digitalWrite(9, 0); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа p
 
                                               //Начало блока символа :
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0); 
  digitalWrite(7, 0);
  digitalWrite(8, 0); 
  digitalWrite(9, 1); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа :

                                               //Начало блока символа /
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 1);
  digitalWrite(7, 1);
  digitalWrite(8, 1);
  digitalWrite(9, 1);
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа /

                                               //Начало блока символа /
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0); 
  digitalWrite(11, 1); 
  digitalWrite(12, 0); 
  digitalWrite(13, 0); 
  digitalWrite(5, 0);   
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа / 

                                               //Начало блока символа m
  digitalWrite(3, 1);   
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 0); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа m

                                               //Начало блока символа s
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 1);
  digitalWrite(7, 1); 
  digitalWrite(8, 0); 
  digitalWrite(9, 0); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа s 

                                               //Начало блока символа e
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 0); 
  digitalWrite(8, 1); 
  digitalWrite(9, 0); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа e

                                               //Начало блока символа v
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0);   
  digitalWrite(7, 1);   
  digitalWrite(8, 1);   
  digitalWrite(9, 0);   
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);   
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа v

                                               //Начало блока символа m
  digitalWrite(3, 1);   
  digitalWrite(4, 0);   
  digitalWrite(5, 1);   
  digitalWrite(6, 1);   
  digitalWrite(7, 0);   
  digitalWrite(8, 1);   
  digitalWrite(9, 1);   
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа m

                                               //Начало блока символа .
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа .

                                               //Начало блока символа c
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 1); 
  digitalWrite(8, 0); 
  digitalWrite(9, 0); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа c

                                               //Начало блока символа o
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа o

                                               //Начало блока символа m
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 0); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа m 
 
  for (int i=0; i <24; i++) {    //Цикл для того чтобы перейти на следующую строчку
    down();    //Вызов подпрограммы down()
  }
 
                                               //Начало блока символа >
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа >

                                               //Начало блока символа >
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа >

                                               //Начало блока символа >
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 0); 
  digitalWrite(8, 1); 
  digitalWrite(9, 0); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа e 

                                               //Начало блока символа l
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0);   
  digitalWrite(7, 0);   
  digitalWrite(8, 1);   
  digitalWrite(9, 1);   
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);   
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа l

                                               //Начало блока символа e
  digitalWrite(3, 1);   
  digitalWrite(4, 0);   
  digitalWrite(5, 1);   
  digitalWrite(6, 1);   
  digitalWrite(7, 0);   
  digitalWrite(8, 1);   
  digitalWrite(9, 0);   
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);   
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа e

                                               //Начало блока символа c
  digitalWrite(3, 1);   
  digitalWrite(4, 0);   
  digitalWrite(5, 1);   
  digitalWrite(6, 1);   
  digitalWrite(7, 1);   
  digitalWrite(8, 0);   
  digitalWrite(9, 0);   
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа c

                                               //Начало блока символа t
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0); 
  digitalWrite(7, 0);   
  digitalWrite(8, 1);   
  digitalWrite(9, 0);   
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);   
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа t

                                               //Начало блока символа r
  digitalWrite(3, 1);   
  digitalWrite(4, 0);   
  digitalWrite(5, 1);   
  digitalWrite(6, 0);   
  digitalWrite(7, 1);   
  digitalWrite(8, 0);   
  digitalWrite(9, 0);   
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа r

                                               //Начало блока символа o
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа o

                                               //Начало блока символа G
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 0); 
  digitalWrite(10, 0);
  digitalWrite(11, 0);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа G

                                               //Начало блока символа h
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 0); 
  digitalWrite(7, 0); 
  digitalWrite(8, 0); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0); 
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа h

                                               //Начало блока символа o
  digitalWrite(3, 1); 
  digitalWrite(4, 0); 
  digitalWrite(5, 1); 
  digitalWrite(6, 1); 
  digitalWrite(7, 1); 
  digitalWrite(8, 1); 
  digitalWrite(9, 1); 
  digitalWrite(10, 0);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа o

                                               //Начало блока символа s
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 1);
  digitalWrite(7, 1);
  digitalWrite(8, 0); 
  digitalWrite(9, 0); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа s

                                               //Начало блока символа t
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 1);
  digitalWrite(9, 0); 
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 1);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа t

                                               //Начало блока символа <
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 1);
  digitalWrite(9, 1);
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа <

                                               //Начало блока символа <
  digitalWrite(3, 1);
  digitalWrite(4, 0);
  digitalWrite(5, 1);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 1);
  digitalWrite(9, 1);
  digitalWrite(10, 1);
  digitalWrite(11, 1);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(5, 0);
  delay(50);    //Пауза, чтобы была анимация
                                               //Конец блока символа <
 
  delay(10000);    //Пауза, чтобы дисплей обновлялся каждые 10 секунд иначе он будет постоянно обновляться.
}

void down() {
                                               //Начало блока символа m
  digitalWrite(3, 1); 
  digitalWrite(4, 0);   
  digitalWrite(5, 1);   
  digitalWrite(6, 0);   
  digitalWrite(7, 0);   
  digitalWrite(8, 1);   
  digitalWrite(9, 0);   
  digitalWrite(10, 1); 
  digitalWrite(11, 0); 
  digitalWrite(12, 0); 
  digitalWrite(13, 0); 
  digitalWrite(5, 0);   
  delay(1);    //Пауза, чтобы была анимация
                                               //Конец блока символа m
}
« Последнее редактирование: Июнь 21, 2017, 14:00:15 от electroGhost »

Оффлайн electroGhost

  • Member
  • **
  • Сообщений: 19
  • Репутация: +1/-0
    • Личное сообщение (Оффлайн)

Схема подключения
« Последнее редактирование: Июль 11, 2017, 18:26:52 от john »

 

Последние сообщения на форуме:

[О разоблаченных шарлатанах и созданных ими "учениях"] Re: Разоблачение шарлатанов от Новичёк Июль 21, 2018, 22:43:55
[Технические вопросы по работе форумов] Re: Новый форум от Новичёк Июль 21, 2018, 21:22:05
[Технические вопросы по работе форумов] Новый форум от Melaniaurise Июль 21, 2018, 16:10:17
[Поздравления] С днем рождения Олег от Melaniaurise Июль 21, 2018, 15:23:16
[Наука] Re: Новости науки и технологии от Новичёк Июль 21, 2018, 00:50:48
[Родители и дети - проблемы воспитания] Re: Дети и мобильные гаджеты от Новичёк Июль 19, 2018, 22:36:23
[Наука] Re: Новости науки и технологии от Новичёк Июль 18, 2018, 19:33:50
[Робототехника] Восстание машин? от Новичёк Июль 18, 2018, 19:30:05
[Экономика] Покупки за рубежом от Новичёк Июль 18, 2018, 19:22:56
[Наука] Re: Новости науки и технологии от Новичёк Июль 17, 2018, 22:35:53
[Автолюбителям] Re: Технологии автоматизированного вождения от Новичёк Июль 17, 2018, 22:33:36
[Религия] Re: Религия - опиум для народа от Новичёк Июль 16, 2018, 21:42:39
[Религия] Re: Религия - опиум для народа от Новичёк Июль 16, 2018, 11:34:53
[Экономика] Re: Зачем супермаркеты делают скидки пенсионерам? от john Июль 15, 2018, 20:36:56
[Религия] Re: Религия - опиум для народа от john Июль 15, 2018, 20:29:59
[Ремонт и модернизация электроники] Re: Как переделать приёмник? от john Июль 15, 2018, 20:25:34
[Религия] Re: Религия - опиум для народа от Новичёк Июль 15, 2018, 14:59:17
[Экономика] Зачем супермаркеты делают скидки пенсионерам? от meq Июль 15, 2018, 07:11:10
[Политика] Путин поспорил с Путиным: почему президент изменил свое решение, от meq Июль 15, 2018, 06:38:06
[Наука] Re: Новости науки и технологии от Новичёк Июль 14, 2018, 23:24:21
 Rambler's Top100