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

Оффлайн electroGhost

  • Member
  • **
  • Сообщений: 16
  • Репутация: +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
  • **
  • Сообщений: 16
  • Репутация: +1/-0
    • Личное сообщение (Оффлайн)

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

 

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

[Наука] Re: Математика, комбинаторика: Кубик_Рубика от digitalman Февраль 23, 2018, 20:20:40
[Политика] Re: Информационная безопасность от Новичёк Февраль 23, 2018, 01:58:32
[Родители и дети - проблемы воспитания] Re: Дети и мобильные гаджеты от Новичёк Февраль 23, 2018, 00:09:45
[О разоблаченных шарлатанах и созданных ими "учениях"] Re: Разоблачение шарлатанов от Новичёк Февраль 22, 2018, 20:31:28
[Экономика] Re: Криптовалюта от Новичёк Февраль 22, 2018, 20:14:47
[Политика] Re: Универсиада и контрацептивы от simpl Февраль 22, 2018, 15:09:57
[Наука] Re: Новости науки и технологии от digitalman Февраль 22, 2018, 14:52:18
[Родители и дети - проблемы воспитания] школьник открыл стрельбу от meq Февраль 22, 2018, 08:08:42
[Наука] Re: Новости науки и технологии от Новичёк Февраль 21, 2018, 21:37:04
[Робототехника] Роботы и человек от Новичёк Февраль 21, 2018, 12:57:54
[Политика] Универсиада и контрацептивы от Новичёк Февраль 21, 2018, 12:54:16
[Для компьютера] Re: Мобильная клавиатура. Разработка. Рабочие материалы. от Новичёк Февраль 21, 2018, 12:49:00
[Политика] Re: Политика и виртуальная реальность от digitalman Февраль 21, 2018, 11:26:37
[Для компьютера] Re: Мобильная клавиатура. Разработка. Рабочие материалы. от digitalman Февраль 21, 2018, 10:51:53
[Политика] Политика и виртуальная реальность от Новичёк Февраль 20, 2018, 22:10:24
[Для компьютера] Re: Мобильная клавиатура. Разработка. Рабочие материалы. от Новичёк Февраль 20, 2018, 19:52:14
[Для компьютера] Re: Мобильная клавиатура. Разработка. Рабочие материалы. от john Февраль 20, 2018, 18:41:27
[Политика] Re: Информационная безопасность от Новичёк Февраль 20, 2018, 18:10:38
[История] Re: Тайны египетских пирамид от Новичёк Февраль 20, 2018, 18:06:21
[Для компьютера] Re: Клавиатура для ношения на руке, идея, (мозговой штурм) от Новичёк Февраль 20, 2018, 16:07:56
 Rambler's Top100