Міністерство освіти, науки, молоді і спорту України
Національний університет водного господарства та природокористування
Лабораторна робота №3
На тему:
«Способи побудови схем відображення інформації»
З курсу
«Мікропроцесорна техніка»
Виконав:
Студент III курсу
Групи АУТП-33
Михайлюк Д.В.
Перевірив:
Круліковський Б.Б.
Рівне-2011 р
Мета роботи:
Вивчення схем динамічної й статичної індикації. Розробка програм для ОЕОМ сімейства MCS-51 для відображення цифрової інформації на пристроях динамічного й статичного типу, а також на одиничних індикаторах.
Програма роботи:
-
Вивчити принципи побудови і роботи різних методів відображення.
-
Розробити програми для роботи з одиничними світлодіодними індикаторами.
-
Розробити програми для роботи з статичними семисегментними світлодіодними індикаторами.
-
Розробити програми для роботи з динамічними семисегментними світлодіодними індикаторами.
-
Розробити програми для роботи з знакосинтезуючими світлодіодними індикаторами.
-
Завантажити в стенд розроблені програми.
.
Завдання:
№ |
Індивідуальне завдання |
1 |
Вивести на семисегментний світлодіодний індикатор, що під’єднаний по схемі динамічної індикації (HL2), рік Вашого народження. |
2 |
Вивести на семисегментний світлодіодний індикатор, що під’єднаний по схемі динамічної індикації (HL2), поточне значення годи і хвилин розділені двокрапкою. |
3 |
Декрементувати число FFh з частотою 1 Гц до нуля. Результат кожної операції декременту відображати на індикаторі HG1. |
4 |
Скласти програму, яка б створювала ефект „біжучого вогнику” на світлодіодах HL1-HL8. |
5 |
На знакосинтезуючому індикаторі HG1 здійснити плавне засвічення літери Я. |
Асемблерні мнемокоди складених програм Завданя 1
ORG 0 ;виведення на динамічний індикатор року народження 1991.
mov DPTR,#0A004h ;гасіння розрядів
mov A,#00Fh ;статичного індикатора.
movx @DPTR,A
Continue:
;підготовка першого ліворуч (№0) розряду HL2.
;адресація лівого розряду HL2.
mov A,#0000b ;запис в А адреси 00 розряду №0 динамічного індикатора HL2.
mov DPTR,#8002h ;запис у вказівник даних DPTR адреси 8002 (порту С).
movx @DPTR, A ;вміст А (адреса розряду №0) записати за адресою
;що знаходиться в DPTR, тобто в порт С.
;завантаження даних в розряд.
mov A,#00000110b ;запис семисегментного коду горіння цифри 1 (00000110) в А.
mov DPTR,#8001h ;запис у вказівник даних DPTR адреси 8001 порту В (дані виводяться на HL2).
movx @DPTR,A ;записати вміст А за адресою, що міститься в DPTR, тобто
;світимо сегменти В,С
call delay ;виклик підпрограми затримки
;підготовка другого ліворуч (№1) розряду HL2.
;адресація розряду №1 HL2.
mov DPTR,#8002h ;запис у вказівник даних DPTR адреси 8002 (порту С).
mov A,#0001b ;запис в А адреси 01 розряду №1 динамічного індикатора HL2.
movx @DPTR, A ;вміст А (адреса розряду №1) записати за адресою
;що знаходиться в DPTR, тобто в порт С.
;завантаження даних в розряд.
mov A,#01101111b ;запис семисегментного коду горіння цифри 9 (01101111) в А.
mov DPTR,#8001h ;запис у вказівник даних DPTR адреси 8001 порту В
movx @DPTR,A ;записати вміст А за адресою, що міститься в DPTR, тобто
;засвітити сегменти A,D,C,D,F,G
call delay ; виклик підпрограми затримки
;підготовка третього ліворуч (№2) розряду індикатора HL2.
;адресація розряду №2 HL2.
mov DPTR,#8002h ;запис у вказівник даних DPTR адреси 8002 (порту С).
mov A,#0010b ;запис в А адреси 10 розряду №2 динамічного індикатора HL2.
movx @DPTR, A ;вміст А (адреса розряду №2) записати за адресою
;що знаходиться в DPTR, тобто в порт С.
;завантаження даних в розряд.
mov A,#01101111b ;запис семисегментного коду горіння цифри 9 (01101111) в А.
mov DPTR,#8001h ;запис у вказівник даних DPTR адреси 8001 порту В, звідки дані виводяться на HL2.
movx @DPTR,A ;записати вміст А за адресою, що міститься в DPTR,
;засвітити сегменти A,B,C,D,F,G
call delay ;виклик підпрограми затримки
;підготовка четвертого ліворуч (№3) розряду індикатора HL2.
;адресація розряду №3 HL2.
mov DPTR,#8002h ;запис у вказівник даних DPTR адреси 8002 (порту С).
mov A,#0011b ;запис в А адреси 11 розряду №3 динамічного індикатора HL2.
movx @DPTR, A ;вміст А (адреса розряду №3) записати за адресою
;що знаходиться в DPTR, тобто в порт С.
;завантаження даних в розряд.
mov A,#00000110b ;запис семисегментного коду горіння цифри 1 (00000110) в А.
mov DPTR,#8001h ;запис у вказівник даних DPTR адреси 8001 порту В (дані виводяться на HL2).
movx @DPTR,A ;записати вміст А за адресою, що міститься в DPTR, тобто
;світимо сегменти В,С
call delay ;виклик підпрограми затримки.
Jmp Continue ;перехід на початок програми
delay : ;підпрограма затримки
mov R1, #0FFh
C2: mov R2, #002h
C4: djnz R2, C4
djnz R1, C2
ret
END