Автор: Пользователь скрыл имя, 10 Февраля 2013 в 21:06, курсовая работа
В сучасному світі, світі, в якому з кожним роком науково-технічний прогрес стрімко розвивається, пристрої для дозування часу процедур набули широкого використання. Пристрій для дозування часу процедур – це таймер, що вимірює інтервали часу. Здебільшого під таймерами маються на увазі пристрої, що відмірюють заданий інтервал часу з моменту запуску.
ВСТУП………………………………………………………………………...6
АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ………………………………..7
РОЗРОБКА СХЕМИ ПРИСТРОЮ…………………………………...8
Вибір мікроконтролера та огляд його архітектури……….............8
Розробка функціональної схеми…………………………......11
Вибір додаткових елементів схеми……………………….....12
РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ………………......13
Розробка алгоритму функціонування пристрою…………...13
Організація пам’яті та розподіл адресного простору………15
Розробка програми, що керує роботою мікроконтролера…16
МОДЕЛЮВАННЯ РОБОТИ………………………………………...17
ВИСНОВКИ…………………………………………………………………18
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ…………………………………..19
ДОДАТКИ…………………………………………………………………...20
AVR Studio надає розробникові повне управління виконанням програми AVR- мікроконтроллера за рахунок використання вбудованої в мікроконтроллер налагоджувальної системи внутрішньосхемного емулятора або автономного симулятора AVR-инструкций. AVR Studio підтримує виконання програм на Асемблері, що відкомпілювалися ассемблером корпорації Atmel, а також програм на Сі, що відкомпілювалися програмами сторонніх виробників.
AVR Studio працює під операційними системами Microsoft Windows XP/Vista/7. Всі необхідні команди можуть бути виконані в AVR Studio, як на рівні вихідної коди так і на дезассемблированном рівні. Користувач може запустити програму на виконання виконати програму покроково як з переходом до обробки підпрограм, так і без, виконати крок назад, виконати програму до позиції курсора, зупинити програму, а також скинути поточний сеанс виконання програми. Крім того користувач може встановити необмежене число точок переривання за адресою пам'яті програм і до двох точок переривань по зверненню до адрес пам'яті даних, які альтернативно можуть утворювати маску
адрес пам'яті даних переривання виконання програми.
Лістинг програми мовою асемблера в додатку А.
4 МОДЕЛЮВАННЯ РОБОТИ
Додаток А
Лістинг програми
для мікроконтролера мовою
.include"2051def.inc"
.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def Temp4=R20
.def ResCnt=R21
.cseg
.org 0
rjmp Reset ;вектори преривань
rjmp INT_0
rjmp INT_1
rjmp Timer1_capt1
rjmp Timer1_comp1
rjmp Timer1_OVF1
rjmp Timer0_OVF0
rjmp UART_RX
rjmp UART_UDRE
rjmp UART_TX
rjmp ANA_COMP
;Reset:
INT_0:
INT_1:
Timer1_capt1:
;Timer1_comp1:
Timer1_OVF1:
Timer0_OVF0:
UART_RX:
UART_UDRE:
UART_TX:
ANA_COMP:
reti
;*****************************
; ІНИЦІАЛІЗАЦІЯ
;*****************************
Reset:
ldi Temp1,0 ;затримка запуску після скидання
ldi Temp2,0
l_res:
dec Temp1
brne l_res
dec Temp2
brne l_res
inc ResCnt ;інкремент лічильника скидань
ldi Temp,0b11111111
out DDRB,Temp
ldi Temp,0b01000000
out TIMSK,Temp
ldi Temp,0b00000011
out TCCR1B,Temp
ldi Temp,0x4C
out OCR1AH,Temp
ldi Temp,0x4B
out OCR1AL,Temp
ldi Temp,RamEnd ;встановлення вказівників стеку
out SPL,Temp
ldi Temp1,0 ;ініціалізація індикатора
ldi Temp,0 ;обнулення таймера
out TCNT1H,Temp
out TCNT1L,Temp
sei ;дозволити переривання
;*****************************
; ОСНОВНИЙ ЦИКЛ
;*****************************
Inf: rjmp Inf ;
;*****************************
; ОБРОБНИК ПРЕРИВАНЬ КОМПАРАТОРА
;*****************************
Timer1_comp1:
ldi Temp,0 ;обнулення таймера
out TCNT1H,Temp
out TCNT1L,Temp
SelectArray:
andi ResCnt,0b00000011
cpi ResCnt,0
brne Tst1
ldi ZH,High(Array0*2)
ldi ZL,Low(Array0*2)
rjmp ReadArray
Tst1: cpi ResCnt,1
brne Tst2
ldi ZH,High(Array1*2)
ldi ZL,Low(Array1*2)
rjmp ReadArray
Tst2: cpi ResCnt,2
brne Tst3
ldi ZH,High(Array2*2)
ldi ZL,Low(Array2*2)
rjmp ReadArray
Tst3: ldi ZH,High(Array3*2)
ldi ZL,Low(Array3*2)
rjmp ReadArray
ReadArray:
ldi Temp,0
add ZL,Temp1
adc ZH,Temp
lpm
mov Temp,R0
cpi Temp,0
breq Init
inc Temp1
rjmp Output
Init: ldi Temp1,0
rjmp SelectArray
Output: out PortB,Temp
reti
Додаток Б
Алгоритм функціонування пристрою
ні так
так ні
Информация о работе Пристрій для дозування часу процедур на МК АТ89С2051