Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
ЗВІТ
про виконання лабораторної роботи №1:
з курсу «Програмування мікроконтролерів СА»
Тема: «Створення простих програм мовою асемблер для МК AVR»
Варіант № 1
Мета роботи:
Зібрати у пакеті симуляції Proteus схему на основі МК ATmega32A та написати програму мовою асемблер для реалізації вказаного алгоритму.
Завдання:
Таблиця 1.
№
п/п
Завдання
Кнопка
Світлодіоди
Затримка
Алгоритм
1
PB3
PORTA
0,4 сек.
1
Таблиця 2. Варіанти алгоритмів роботи для світлодіодів
№
п/п
Опис алгоритму
1
Лінійка з 8-ми одноколірних світлодіодів. При натисканні кнопки світлодіоди почергово блимають від 0-виводу порту до 7.
P0→P1→P2→P3→P4→P5→P6→P7
/
Рис. 1. Схема підключення в пакеті Proteus
Остаточна версія програми:
.include "m32def.inc"
.def _temp =r16
.def _temp2 =r17
.def _outP =r18
.def _flag =r0
.def _temp3 =r19
ldi _temp, 0x00
ldi _temp2, 0xFF
out DDRA, _temp2
out PORTA, _temp
out DDRB, _temp
out PORTB, _temp2
main:
sbrc _flag, 0
rjmp tt
sbic PINB, 3
rjmp end
set
bld _flag, 0
ldi _outP, 1
tt: out PORTA, _outP
rcall pause
lsl _outP
brne end
clt
bld _flag, 0
out PORTA, _outP
end:
rjmp main
pause:
ldi _temp, 0x00
ldi _temp2, 0xc4
ldi _temp3, 0x09
delay: subi _temp, 1
sbci _temp2, 0
sbci _temp3, 0
brne delay
ret
/
Рис. 2. Результати роботи програми:
Висновок:
На даній лабораторній ми навчилися збирати у пакеті симуляції Proteus схему на основі МК ATmega32A. В результаті виконання даної роботи була написана програма мовою асемблер для реалізації вказаного алгоритму №1.