Характеристики 1. Модуль: 20,5 мм x 41 мм 2. Вес модуля: 57 г введение в ЖК-дисплей 1602 1602 Основные технические параметры: 1. Емкость Дисплея: 16x2 символов 2. Чип Рабочее напряжение: 4,5-5,5 V 3. Ток: 2.0ма (5,0 в) 4. Модуль Оптимальное рабочее напряжение: 5,0 V 5. Размер символа: 2,95x4,35 (W ширина x высота) Мм 1 VSS GND 9 D2 2 VDD поставка катода 10 D3 3 ЖК-дисплей смещения 11 VL D 4 данные выберите 12 D5 4 RS данные/Командные данные выберите 13 D6 5 r /W для чтения/записи данных 6 включить сигнал e 14 D7 7 D0 данных 15 BLA подсветка катода 8 D1 16 BLK Blu анод 1th футов: VSS для источника питания. 2-я нога: VDD 5V источник питания. 3-я нога: регулятор контрастности ЖК-дисплея VL, затем положительный контраст, когда сила самого слабого, Заземление контрастности наивысшего коэффициента контрастности слишком высокого будет иметь «ghosting», используется 10K, когда потенциометр для регулировки контрастности. 4 ноги: RS для регистрации выбора, высокий уровень выбора данных, низкий уровень выбора регистров инструкций. 5-я ступня: r / w для чтения/записи сигнальных линий, высокий уровень для операций чтения, низкий уровень записи. Dang RS и R/W работают вместе для более низкого уровня инструкции или адрес может быть написан, когда RS выше для низкого уровня R/W уровень занят сигнал можно читать, как RS для высокого уровня R/W для низкого уровня данных могут быть написаны. 6th leg : e end - for - end, когда e duanyou - level переходит на низкий уровень, модуль LCD выполняет команду. Di7 ~ 14 футов: D0 ~ D7 для 8-разрядный двунаправленный линии передачи данных. 15 фут: Катодная подсветка. 16 фут: отрицательная подсветка. Описание команды 1602 LCD: 1602 LCD контроллер в общей сложности 11 заказов управления, как показано в таблице следующая таблица: Инструкция по порядковому номеру RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 Qing ping 0 0 0 0 0 0 0 0 1 2 курсор возвращает 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1*3 Режим сброса ввода 0 0 0 0 0 1 I/D s дисплей ВКЛ/ВЫКЛ управление 4 0 0 0 0 0 1 d c b 5 символ или курсор смещен 0 0 0 0 0 1 S/C R/L * 6 сброс функции f * 0 0 0 0 1 DL n * адрес памяти символов 0 0 0 1 7 адрес памяти символов сброса 8 сброс адреса памяти данных 0 0 1 отображает адрес памяти данных 9 0 1 счетчик BF чтение занят флаг или адрес записи Отсчитывайте до 10 или DDRAM CGRAM) 1 0 для записи содержимого данных 11 CGRAM или DDRAM чтение 1 1 чтение содержимого данных 1602 ЖК-модуля, чтение и запись, операции экрана и курсора достигаются через Директивное программирование. (Примечание: 1 высокий, 0 Низкий уровень) инструкции 1: четкое отображение, код заказа 01H, сброс положения курсора на адрес 00H. Инструкция 2: сброс курсора, курсор возвращается на адрес 00H. Порядок 3: курсор и настройки режима отображения I/D: направление движения курсора, перемещение вверх вправо, низкий уровень s влево: перемещение всего текста влево или вправо на экране. Высокий уровень является эффективным, низкий уровень не является допустимым. Инструкция 4: управление переключателем дисплея. D: управление дисплеем ВКЛ и ВЫКЛ, высокий уровень открытого дисплея, низкий уровень мощности плоский заблокированный дисплей c: управление курсором ВКЛ и ВЫКЛ, высокий уровень указывает, что курсор, низкий уровень указывает на отсутствие курсора b: Контролируйте, мигает ли курсор, мигает высокий уровень, низкий уровень не мигает. Директива 5: курсор или сдвиг дисплея S/C: текст для отображения движения на высоком уровне, мобильный курсор на низком уровне. Инструкция 6: особенность команды DL: высокий уровень представляет собой 4-бит, низкий уровень как 8-разрядный шины n: низкая обычно состоят из одного дисплея, высоковольтный двухлинейный дисплей f: низкоуровневый дисплей точечных матричных символов 5x7, высоковольтный дисплей 5x1 0 точечных матричных символов. Директива 7: настройки адресов RAM генератора символов. Директива 8: настройки Адреса DDRAM. Директива 9: чтение сигналов с напряжением и адреса курсора BF: для бесплатного входа модуль с напряжением линии не может получать команды или данные, если низкий уровень не занят. Директива 10: запись данных. Директива 11: чтение данных. Совместимый чип HD44780: чтение I RS = L,R/W = H,E = H o D0-D7 = status word Write commands RS = L,R/W = L, d0-D7 = скрипт, e = высокий выходной пульс не считывает ввод данных RS = H,R/W = H,E = H выходной D0-D7 = запись данных RS = H,R/W = L,D0-D7 = data E = высокий выходной пульс не инициализирован 1602LCD (сброс): задержка 15 мс инструкции для письма 38H (Сигнал занят не будет обнаружен) задержка 5mS Инструкция по написанию 38H (сигнал занят не будет обнаружен) задержка 5mS Инструкция по написанию 38H (сигнал занят не будет обнаружен) каждая последующая команда записи, операции чтения/записи данных необходимы для обнаружения насыщенного сигнала написанные инструкции 38H: настройки режима отображения написанные инструкции 08H: Выкл. Инструкции 01H: отображает четкий экран написанные инструкции 06H: отображает настройки курсора написание инструкции 0CH: отображение настроек открытия и курсора/ключевое сообщение char msgs[5][15] = {"Правая клавиша OK", "вверх клавиша OK", "вниз клавиша OK", "Левый ключ ок", " Выберите OK " }; int adc_key_val[5] ={30, 150, 360, 535, 760 }; int NUM_KEYS = 5; int adc_key_in; int Key =-1; int oldkey =-1; void setup() { pinMode(13, выход); /мы будем использовать светодиодный индикатор отладки для вывода сердцебиения lcd.init(); /дополнительно, Теперь Настройте наши настройки дисплея для конкретных приложений, перегоняя все, что ЖК-дисплей сделал в ЖК-дисплее. init() /lcd.com mandWrite(0x0F);/курсор, отображение, мигание. (Неприятный!) ЖК-дисплей. Прозрачный (); ЖК-дисплей. printIn("тестирование клавиатуры... Нажатие "); } петля void () { adc_key_in = analogRead(0); /считывание значения от датчика digitalWrite(13, HIGH); key = get_key(adc_key_in); /Конвертировать в нажатие кнопки if (ключ! = oldkey) /если обнаружен keypress {delay(50); /подождите времени дебатов adc_key_in = analogRead(0); /Чтение значения из сенсорной клавиши = get_key(adc_key_in); /преобразование в клавишу if (key != oldkey) { oldkey = key; if (клавиша> = 0){ lcd.cursorTo(2, 0); /линия = 2, x = 0 lcd.printIn(msgs[key]); }/задержка (1000); digitalWrite(13, LOW); } /Преобразование значения ADC в номер ключа int get_key (без входа int) { int k; Для (k = 0; k < num_keys;= "k + +)=" {= "" if = "(вход ="> ">< adc_key_val[k])=" " {=" return = "k;=" }= "if =" (k = ">= NUM_KEYS) k = -1; /Нет действительного нажатия кнопки return k; } LCD4Bit_mod.h 1(2)