Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

Цель работы: Исследование логических операций микропроцессорных систем.

Лабораторное задание: Разработать программу для микроконтроллера TinyAVR, обеспе-чивающую сброс микроконтроллера по сторожевому таймеру.

Порядок выполнения работы:

1. Собрал схему устройства в программе «Proteus» в соответствии с заданием.

 

2. В вкладке «Source Code» набрал следующий код программы:
.device ATtiny2313
.def temp=r16
.equ PERIOD_1=0
.equ PERIOD_2=0
.cseg
.org 0
rjmp Init

Init:
ldi temp,low(RAMEND)
out SPL,temp

clr temp
out DDRD,temp
ldi temp,0x03
out PORTD,temp
ser temp
out DDRB,temp
clr temp
out PortB,temp

SW:
ldi temp,0b11001100
out PortB,temp

ldi temp,(0<<WDIE | 1<<WDTON | 1<<WDE)
out WDTCR,temp
ldi temp,(0<<WDIE | 1<<WDTON | 1<<WDE)
out WDTCR,temp

WAIT_SW0:
sbic PIND,PERIOD_1
rjmp WAIT_SW1
ser temp
out PortB,temp
ldi temp,(1<<WDTON | 0<<WDIE | 1<<WDE | 0<<WDP3 | 1<<WDP2 | 0<<WDP1 | 1<<WDP0)
out WDTCR,temp
ret

WAIT_SW1:
sbic PIND,PERIOD_2
rjmp WAIT_SW0
ldi temp,0b00110011
out PortB,temp
ldi temp,(1<<WDTON | 0<<WDIE | 1<<WDE | 0<<WDP3 | 1<<WDP2 | 0<<WDP1 | 1<<WDP0)
out WDTCR,temp
ret
rjmp WAIT_SW0

3. Убедился в работоспособности программы.
4. Установил для кнопочного переключателя период наступления тайм-аута сторожевого таймера в соответствии с вариантом.

Вывод: в ходе лабораторной работы исследовал логические операций микропроцессорных систем, собрал схему и написал код программы, получили навыки работы в программе «Proteus». В результате разработал программу для микроконтроллера TinyAVR, обеспечивающую сброс микро-контроллера по сторожевому таймеру.

Была ли полезна данная статья?
Да
60.86%
Нет
39.14%
Проголосовало: 1096

или напишите нам прямо сейчас:

⚠️ Пожалуйста, пишите в MAX или заполните форму выше.
В России Telegram и WhatsApp блокируют - сообщения могут не дойти.
Написать в MAXНаписать в TelegramНаписать в WhatsApp