Лабы МДК 02.01 МКС / LABA 5
.docxМинистерство общего и профессионального образования Ростовской области Государственное бюджетное профессиональное образовательное учреждение
" Таганрогский колледж морского приборостроения "
Отчет по лабораторной работе №5
по дисциплине МДК 02.01 МКС
Выполнил:
Студент группы В-316
Морковкин С.П.
Таганрог. 2019 год
Лабораторная работа №5
Тема: «Использование внутренней EEPROM в микроконтроллерах AVR»
Цель работы: Получение практических навыков использования внутренней EEPROM микроконтроллеров.
Лабораторное задание: Разработать программу для микроконтроллера TinyAVR, запись и чтение данных в EEPROM микроконтроллера.
.
Порядок выполнения работы:
Собрал схему устройства в программе «Proteus» в соответствии с заданием.
В вкладке «Source Code» набрал следующий код программы:
.device ATtiny2313
.def temp=r16
.def adres=r18
.def sys=r20
.cseg
.org 0
rjmp Init
Init:
ldi temp,low(RAMEND)
out SPL,temp
clr temp
out DDRD,temp
ldi temp,255
out PORTD,temp
ser temp
out DDRB,temp
clr temp
out PortB,temp
in temp,PIND
WRITE_0:
in r15,SREG
cli
sbic EECR,EEPE
rjmp WRITE_0
ldi adres,0x50
out EEAR,adres
out EEDR,temp
sbi EECR,EEMPE
sbi EECR,EEPE
out SREG,r15
WRITE_1:
ldi temp,0b11110011
in r15,SREG
cli
sbi EECR,EEPE
rjmp WRITE_1
ldi adres,0x60
out EEAR,adres
out EEDR,temp
sbi EECR,EEMPE
sbi EECR,EEPE
out SREG,r15
READ_0:
in r15,SREG
cli
sbic EECR,EEWE
rjmp READ_0
ldi adres,0x50
out EEAR,adres
sbic EECR,EERE
in temp,EEDR
out SREG,r15
READ_1:
in r15,SREG
cli
sbic EECR,EEWE
rjmp READ_1
ldi adres,0x60
out EEAR,adres
sbic EECR,EERE
in sys,EEDR
in r15,SREG
or temp,sys
out PORTB,temp
reti
Произвел симуляцию программы и убедился в правильности работы программы.
В соответствий с вариантом произвел установку переключателей тумблера SW1 в соответствий с вариантом.
Изменил программный код соответствий с вариантом, установил необходимые адреса, данные и логические операций.
Вывод: в ходе лабораторной работы получил практические навыки использования внутренней EEPROM микроконтроллеров, собрал схему и написал код программы, получили навыки работы в программе «Proteus». В результате разработал программу для микроконтроллера TinyAVR в EEPROM микроконтроллера.