МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ЗВІТ
про виконання лабораторної роботи №3
з курсу “Мікропроцесорні пристрої”
на тему:
“Побудова інфрачервоних детекторів руху
на AVR-мікроконтролерах”
Львів 2009
Мета роботи – ознайомитись з побудовою інфрачервоних детекторів руху і їх програмно-апаратною реалізацією на AVR-контролерах.
Варіант №3
Розрахунки
TSET:
N=(5*106*11-15)/5
Led_TSET:
N=(5*106*4-15)/5
V=70*10-6*1924=134,68 мВ=0,13468 В
V-=2,5-0,13468=2,36532
V+=2,5+0,13468=2,63468
V_N=(4096*2,36532/8)=1926
V_P=(4096*2,63468/8)=2127
N=0,03*5*106/64=2344
Текст програми
.include "2313def.inc"
.def Result_l=R16
.def Result_h=R17
.def temp1=R18
.def temp2=R19
.def Delay1=R20
.def Delay2=R21
.def Delay3=R22
.equ PIR=10999997
.equ Led=3999997
.equ Led_Pin=PD2
.equ DOUT=PB3
.equ SCLK=PB4
.equ CS=PB5
.equ SHDN=PB6
.equ Nx2=1926
.equ Nx1=2127
.cseg
.org 0
rjmp Main
.org 0x004
rjmp DD
Main:
ldi temp1, 0xDF
out SPL, temp1
sbi DDRB, CS
sbi PORTB, CS
sbi DDRB, SCLK
cbi PORTB, SCLK
cbi DDRB, DOUT
cbi PORTB, DOUT
sbi DDRB, SHDN
cbi PORTB, SHDN
sbi DDRD, Led_Pin
sbi PORTD, Led_Pin
ldi Delay1, low(PIR)
ldi Delay2, high(PIR)
ldi Delay3, byte3(PIR)
;rcall Delay
ldi temp1,high (2344)
out OCR1AH,temp1
ldi temp1, low (2344)
out OCR1AL, temp1
ldi temp1, (1<<OCIE1A)
out TIMSK, temp1
ldi temp1, (1<<CTC1)+(1<<CS10)+(1<<CS11)
out TCCR1B, temp1
ldi temp1, (1<<SE)
out MCUCR, temp1
sei
Wait_loop:
sleep
nop
rjmp Wait_Loop
DD:
rcall Adc_conv
ldi temp1, low(Nx1)
ldi temp2, high(Nx1)
sub temp1, result_l
sbc temp2, result_h
brcs Alarm
ldi temp1, low(Nx2)
ldi temp2, high(Nx2)
sub temp1, result_l
sbc temp2, result_h
brsh Alarm
sbi PORTD, PD2
rjmp L2
Alarm:
cbi PORTD, PD2
ldi Delay1, low(Led)
ldi Delay2, high(Led)
ldi Delay3, byte3(Led)
rcall Delay
sbi PORTD, PD2
L2:
reti
Adc_conv:
clr Result_l
clr Result_h
sbi PORTB, SHDN
ldi temp1, 20
L1:
dec temp1
brne L1
cbi PORTB, CS
nop
eoc:
sbis PinB, DOUT
rjmp eoc
rcall Bit_Read
bld result_h,3
rcall Bit_Read
bld result_h,2
rcall Bit_Read
bld result_h,1
rcall Bit_Read
bld result_h,0
rcall Bit_Read
bld result_l,7
rcall Bit_Read
bld result_l,6
rcall Bit_Read
bld result_l,5
rcall Bit_Read
bld result_l,4
rcall Bit_Read
bld result_l,3
rcall Bit_Read
bld result_l,2
rcall Bit_Read
bld result_l,1
rcall Bit_Read
bld result_l,0
sbi PORTB, CS
cbi PORTB, SHDN
ret
Bit_Read:
sbi PORTB, SCLK
nop
nop
cbi PORTB, SCLK
nop
nop
in temp1, PinB
bst temp1, DOUT
ret
Delay:
subi Delay1, 1
sbci Delay2, 0
sbci Delay3, 0
brcc Delay
nop
ret
Схема симуляції в Proteus
Висновок: на даній лабораторній роботі я ознайомився з побудовою інфрачервоних детекторів руху і їх програмно-апаратною реалізацією на AVR-контролерах.