Міністерство освіти і науки Україниіі
Національний університет „Львівська політехніка”
Звіт
До лабораторної роботи №1
“ Ознайомлення з інтегрованим середовищем AVR Studio та програмою симуляції Proteus”
З дисципліни:
«Мікропроцесорні пристрої»
Мета роботи – ознайомитись з послідовністю створення та відладки програмно – апаратних засобів на основі мікроконтролерів сімейства AVR в програмах AVR Studio та Proteus 7.
Варіант 2
№ варіанту
К-сть охоронних шлейфів з НРЗ давачами
К-сть охорон. шлейфів з НЗМ давачами
Виводи для підкл.охоронних шлейфів з НРЗ давачами
Виводи для підкл.охоронних шлейфів з НРЗ давачами
Період опитування шлейфів
T_Scan,
с
Час постановки та зняття з охорони
T_Alarm , с
Частота імпульсів сирени та світлодіода
F_Blick, Гц
Вивід для підкл. світлодіода
Вивід для підкл. сирени
2
3
1
PD1,PD2, PD3
PD0
0,0001
2
500
PB2
PB6
Код програми мовою Assembler
.include "2313def.inc"
.def temp = R16
.def Delay1 = R17
.def Delay2 = R18
.def Delay3 = R19
.equ SH0_Px = PD1
.equ SH1_Px = PD2
.equ SH2_Px = PD3
.equ SH3_Px = PD0
.equ LED_Pin = PB2
.equ BLST_Pin = PB6
.equ Sw_Pin = PB0
.equ N1 = (8000-15)/5 ; T_scan
.equ N2 = 3199997 ; T_Alarm
.equ N3 = (8000000/500 - 15)/5 ;T_Blik
.cseg
.org 0
ldi temp, 0xDF
out SPL, temp
rcall Pin_Init
; опитування кнопки
L1:
in temp,PINB
andi temp, (1<<Sw_Pin)
brne L1
ldi Delay1, low (N2)
ldi Delay2, high(N2)
ldi Delay3, byte3(N2)
rcall Delay
; zatrymka
cbi PORTB, LED_Pin
Start:
in temp, PIND
andi temp, (1<<SH0_Px)
brne Next_1
rjmp Alarm
Next_1:
in temp, PIND
andi temp,(1<<SH1_Px)
brne Next_2
rjmp Alarm
Next_2:
in temp, PIND
andi temp,(1<<SH2_Px)
brne Next_3
rjmp Alarm
Next_3:
in temp, PIND
andi temp,(1<<SH3_Px)
breq Next_4
rjmp Alarm
Next_4:
in temp,PINB
andi temp, (1<<Sw_Pin)
brne Next_5
; T_Scan
ldi Delay1, low (N1)
ldi Delay2, high (N1)
ldi Delay3, byte3 (N1)
rcall Delay
rjmp Start
Next_5:
sbi PORTB, 2
rjmp L1
Alarm:
ldi Delay1, low (N2)
ldi Delay2, high (N2)
ldi Delay3, byte3(N2)
rcall Delay
in temp,PINB
andi temp, (1<<Sw_Pin)
breq L3
sbi PORTB, 2
rjmp L1
L3:
ldi R17, 0b01000100
in temp, PORTB
eor temp, R17
out PORTB, temp
ldi Delay1, low (N3)
ldi Delay2, high(N3)
ldi Delay3, byte3(N3)
rcall Delay
rjmp L3
Pin_Init:
cbi DDRD, SH3_Px
cbi DDRD, SH0_Px
cbi DDRD, SH1_Px
cbi DDRD, SH2_Px
cbi DDRB, Sw_Pin
sbi DDRB, LED_Pin
sbi DDRB, BLST_Pin
cbi PORTD, 0
cbi PORTD, 1
cbi PORTD, 2
cbi PORTD, 3
sbi PORTB, 0
sbi PORTB, 2
cbi PORTB,6
ret
Delay:
subi Delay1, 1
sbci Delay2, 0
sbci Delay3, 0
brcc Delay
nop
ret
Розрахунки:
CLK = 8000 - для T_Scan
CLK == 16 000 000 – для T_Alarm
CLK= = 16 000 – для T_Blick
N1 = (8000-15)/5 = 1597
N2= (16000000 -15)/5= 3199997
N3=(8000000/500 - 15)/5 = 3197
Висновок:
На даній лабораторній роботі я ознайомився з послідовністю створення та відладки програмно – апаратних засобів на основі мікроконтролерів сімейства AVR в програмах AVR Studio та Proteus 7, а також склав підпрограму за заданим вріантом - №2, розрахувавши час на виконання програми та кількість тактів, якими забезпечується виконання програми за заданий час.