Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
выводимые данные должны размещаться, начиная с адреса 300Н
0E0 BE 07 OUTPUT:MOV R6,#07H;режим «Данные» (RS=1)
0E2 B9 00 MOV R1,#00H;обнуление указателя адреса
0E4 BA NN MOV R2,#NN ;установка счетчика байт
0E6 F9 LBL: MOV A,R1 ;запись
0E7 E3 MOVP3 A,@A ;очередного кода
0E8 AF MOV R7,A ;символа
0E9 14 00 CALL WRT ;в ОЗУ данных дисплея
0EB 19 INC R1 ;(опрос BF необязателен)
0EC EA E6 DJNZ R2,LBL ;конец массива?
0EF 83 RET ;
; п/п вывода бегущей строки на экран
100 14 EO SCROLL: CALL OUTPUT ;запись массива в ОЗУ данных
102 BE 06 LOOP2: MOV R6,#06H ;режим «Инструкция» (RS=0)
104 BF 18 MOV R7,#18H ;У.с. «Сдвиг экрана
106 14 00 CALL WRT ;или курсора»
108 B8 15 MOV R0,#15H ;скорость движения символов
10A 14 20 LOOP1: CALL TIME ;
10C E8 0A DJNZ R0,LOOP1;(опрос BF необязателен)
10E 24 02 JMP LOOP2 ;зацикливание
110 83 RET ;
3.1.2. Занесите подпрограммы WRT, READ, TIME, BUSY, INIT в память команд УМПК по вышеуказанным адресам.
3.1.3. Выполните инициализацию ЖК-дисплея. Основную программу разместите с адреса 400H. В случае правильного выполнения программы инициализации в крайней левой позиции первой строки дисплея включен мигающий курсор.
3.1.4. Занесите подпрограммы CLEAR, HOME, OFF, ON, LINE1, LINE2, EMPTY, OUTPUT в память команд УМПК по вышеуказанным адресам.
3.1.5. Занесите по адресу 300H (3-я страница памяти программ) код любого символа для ОЗУ данных ЖК-дисплея (см. рис. 4). Напишите программу вывода строки символов на ЖК-дисплей (используя подпрограмму OUTPUT), программу начните с адреса 410H. Выполните программу и объясните результаты.
3.1.6. Используя подпрограмму EMPTY, напишите с адреса 420H и выполните программу гашения курсора. Объясните полученные результаты.
3.1.7. Используя подпрограмму CLEAR, разработайте и выполните программу очистки дисплея. Начальный адрес – 430H.
3.1.8. Заполните ячейки памяти команд 300H .. 30FH кодами символов для индикации, пользуясь рис. 4. Запустите программу вывода строки символов (адрес 410H) и объясните результаты. Попробуйте заполнить ячейки ПК далее, вплоть до адреса 327H. Затем вновь выполните программу вывода строки символов и объясните полученные результаты.
3.1.9. Используя подпрограмму LINE2, разработайте и выполните программу перевода курсора на вторую строку дисплея. Начальный адрес программы – 440H. Затем вновь выполните программу вывода строки символов (адрес 410H) и объясните полученные результаты.
3.1.10. Используя подпрограмму SCROLL, разработайте программу вывода бегущей строки на ЖК-дисплей. Программу начните с адреса 450H. Выполните сначала программу инициализации дисплея (адрес 400H), затем программу гашения курсора (адрес 420H), а затем – разработанную программу вывода бегущей строки. Убедитесь, что информация из ячеек 300H .. 327H выводится на дисплей в виде слитной бегущей строки.
3.2. Задания для самостоятельной работы
3.2.1. Разработайте программу вывода (индикации) группы символов, начиная с заданного знакоместа ЖК-дисплея.
Исходные данные для программы:
- индицируемые символы хранятся в памяти команд, начиная с ячейки 300H (коды символов см. на рис. 4);
- адрес стартового знакоместа в видеопамяти хранится в ячейке 20H.
Формат команды «Установка адреса ОЗУ данных» см. в табл. 5, а соответствие адресов видеопамяти позиции дисплея – в табл. 4. Рекомендуется использовать подпрограмму OUTPUT, тогда количество индицируемых символов задается в регистре R2. Возможная блок-схема алгоритма такой программы приведена на рис. 7.
![]() |
3.2.2. Разработайте программу, выводящую на ЖК-дисплей реальное время, в виде, изображенном на рис. 8.
Позиция дисплея |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Выводимая информация |
Ч |
Ч |
: |
М |
М |
: |
С |
С |
||||||||
Рис. 8. Формат вывода реального времени на ЖК-дисплей
(ЧЧ – часы, ММ – минуты, СС – секунды)
Указания:
1) для хранения текущего времени используйте смежные ячейки ПД;
2) истечение секунды фиксируйте при помощи встроенного таймер-счетчика ОЭВМ в режиме таймера (см. л. р. № 5, м/ук 1922), инкремент счетчика секунд производится после подсчета определенного количества переполнений таймера;
3) инкремент счетчика минут производится при достижении значения «60» счетчиком секунд, а счетчика часов – при достижении значения «60» счетчиком минут;
4) обновление информации на дисплее целесообразно производить при помощи специальной служебной подпрограммы, которая должна запускаться по факту изменения данных в счетчике секунд.
4. СОДЕРЖАНИЕ ОТЧЕТА
Цель работы, временные диаграммы рис. 3, схема подключения ЖК-дисплея WM-C1602N-2YLY к УМПК-48, тексты программ по результатам выполнения пунктов задания 3.2.1, 3.2.2.
5. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Поясните назначение выводов ЖК-дисплея WM-C1602N-2YLY.
2. Пользуясь рис. 1, поясните принцип работы ЖК-дисплея WM-C1602N-2YLY.
3. Как осуществляется обновление информации на ЖК-дисплее WM-C1602N-2YLY?
4. Какие существуют способы соединения ЖК-модуля с управляющей системой
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.