Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mk.rocesorna---lab.3.docx
Скачиваний:
2
Добавлен:
10.11.2018
Размер:
26.46 Кб
Скачать

Завданя 3

ORG 0 ;програма віднімаючого шістнадцяткового лічильника.

mov A,#011b ;запис 11b в акумулятор (00000011b код керування розрядами індикатора).

mov DPTR,#0A004h ;запис у вказівник даних DPTR адреси А004

;регістру керування точками і гасінням розрядів індикатора HG-1.

movx @DPTR,A ;запис в регістр з адресою, що міститься в DPTR,

;вміст A, тобто погасити ліві 2 розряди статичного індикатора

mov A,#0FFh ;записати в акумулятор число FFh.

Continue: ;початок циклу декрементування

mov DPTR,#0A001h ;запис у вказівник даних DPTR адреси молодших (правих)

;розрядів статичного індикатора.

movx @DPTR,A ;відобразити на HG1 вміст лічильника (А).

DEC A ;декремент акумулятора.

call DEL ;виклик підпрограми затримки.

Jmp Continue ;перехід на наступний цикл декрементування й відображення

DEL: ;підпрограма затримки приблизно на 1 сек.

mov R1, #002h

C1: mov R2, #0FFh

C2: mov R3, #0FFh

C4: djnz R3, C4

djnz R2, C2

djnz R1, C1

ret ;команда повернення в основну програму.

end

Завданя 4

ORG 0 ;програма біжучого вогнику на світлодіодах HL1-HL8.

mov DPTR,#0A004h ;гасіння розрядів

mov A,#00Fh ;статичного індикатора.

movx @DPTR,A

mov A,#00000001b ;запис в А числа 00000001.

mov DPTR,#0A006h ;встановлення у вказівник DPTR

cont:

RL A ;циклічний зсув акамулятора вліво

movx @DPTR,A ;засвічення діода

call delay ;виклик підпрограми затримки

jmp cont ;зациклення програми

delay: ;підпрограма затримки

mov R2,#0FFh

C2: mov R1,#0FFh

C1: djnz R1,C1

djnz R2,C2

ret

end

Завданя 5

ORG 0 ;програма засвічення літери Я.

mov DPTR,#0A004h ;гасіння розрядів

mov A,#00Fh ;статичного індикатора.

movx @DPTR,A

cont:

mov A,#00010000b ;занесення в А числа 10000b.

mov DPTR,#08000h ;встановити у DPTR адресу стовпців.

movx @DPTR,A ;засвітити перший зліва стовпчик(світить 1).

mov A,#086h ;занести в А число 86h(10000110b).

mov DPTR,#08002h ;встановити у DPTR адресу рядків.

movx @DPTR,A ;засвітити необхідні рядки першого зліва стовпчика(світить 0).

call delay ;виклик підпрограми затримки.

mov A,#00001000b ;занесення в А числа 00001000b.

mov DPTR,#08000h ;встановити у DPTR адресу стовпців.

movx @DPTR,A ;засвітити другий зліва стовпчик.

mov A,#010110101b ;занести в А число 010110101b.

mov DPTR,#08002h ;встановити у DPTR адресу рядків.

movx @DPTR,A ;засвітити необхідні рядки другого стовпця.

call delay ;виклик підпрограми затримки.

mov A,#00000100b ;занести в А число 00000100b.

mov DPTR,#08000h ;встановити у DPTR адресу стовпців.

movx @DPTR,A ;засвітити третій стовпчик.

mov A,#00110011b ;занести в А число 00110011b.

mov DPTR,#08002h ;встановити у DPTR адресу рядків

movx @DPTR,A ;засвітити рядки третього стовпчика.

call delay ;виклик підпрограми затримки.

mov A,#00000010b ;занести в А число 00000010.

mov DPTR,#08000h ;встановити у DPTR адресу стовпців.

movx @DPTR,A ;засвітити четвертий стовпчик.

mov A,#00000000b ;занести в А число 00000000b.

mov DPTR,#08002h ;встановити у DPTR адресу рядків

movx @DPTR,A ;засвітити рядки четвертого стовпчика.

call delay ;виклик підпрограми затримки

jmp cont ;зациклення програми

;підпрограма затримки

delay:

mov R2,#002h

C2: mov R1,#0FFh

C1: djnz R1,C1

djnz R2,C2

ret

end

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]