Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы МДК 02.01 МКС / Методичка МДК 02.01 МКС.doc
Скачиваний:
4
Добавлен:
18.11.2023
Размер:
658.43 Кб
Скачать

Лабораторная работа №5

Использование внутренней EEPROM в микроконтроллерах AVR

Цель работы: Получение практических навыков использования внутренней EEPROM микроконтроллеров

Лабораторное задание

Разработать программу для микроконтроллера TinyAVR, запись и чтение данных в EEPROM микроконтроллера.

Краткие теоретические сведения

EEPROM – специальная внутренняя память, выполненная по flash-технологии и предназначенная для долговременного хранения данных.

К EEPROM центральная программа управления микроконтроллера при помощи регистров ввода-вывода. Для микроконтроллеров с объемом EEPROM менее 256 байт таких регистров всего три:

- EEAR – регистр адреса EEPROM;

- EEDR – регистр данных EEPROM;

- EECR – регистр управления EEPROM.

Микроконтроллер ATtiny содержит 128 Байт EEPROM. Эта память организована как отдельное пространство данных, каждый один байт может быть прочитан и записан. EEPROM может быть записана и стерта в сумме как минимум 100 000 раз.

Время доступа к записи EEPROM приведено в техническом описании на соответствующий микроконтроллер. Эта самоопределяющая временная функция и позволяет пользователю программно определять когда можно записать следующий байт данных. Если программа пользователя содержит инструкции записи, тогда должны быть предприняты некоторые меры предосторожности. В источниках питания содержащих фильтры возможно медленное изменение напряжения питания вверх или вниз относительно земли. По этой причине устройство может работать некоторое время с пониженным питанием, чем положено для используемой системной частоты. Для исключения подобных явлений во время работы с EEPROM необходимо отключать все прерывания. Для отключения всех прерываний используется инструкция CLI. Ни одно прерывание не будет выполнено после инструкции CLI, даже если условие прерывания возникает во время выполнения этой самой инструкции.

Лабораторное задание

Использую программную среду Proteus запрограммировать работу микроконтроллера, обеспечивающую запись данных с порта D микроконтроллера (в соответствии с вариантом) в EEPROM, последующее чтение из EEPROM записанных и выполнение логической операции (в соответствии с вариантом).

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

  1. Для выполнения работы необходимо в среде автоматизированного проектирования Proteus собрать схему устройства в соответствии с рисунком 1.

Рисунок 1 – Электрическая схема устройства

  1. В программном окне «Source Code» программы Proteus набрать следующую программу:

.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 ;команда устанавливает все биты temp в «1»

out DDRB,temp ;переводит все биты потра B на вывод

clr temp ; обнуляет переменную temp

out PortB,temp ;команда отключает подтягивающие резисторы

in temp,PIND

WRITE_0: ;запись данных в EEPROM

in r15,SREG

cli

sbic EECR,EEPE

rjmp WRITE_0

ldi adres,0x30

out EEAR,adres

out EEDR,temp

sbi EECR,EEMPE

sbi EECR,EEPE

out SREG,r15

WRITE_1:

ldi temp,0b00110011

in r15,SREG

cli

sbic EECR,EEPE

rjmp WRITE_1

ldi adres,0x40

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,0x30

out EEAR,adres

sbi EECR,EERE

in temp,EEDR

out SREG,r15

READ_1:

in r15,SREG

cli

sbic EECR,EEWE

rjmp READ_1

ldi adres,0x40

out EEAR,adres

sbi EECR,EERE

in sys,EEDR

in r15,SREG

or temp,sys

out PORTB,temp

reti

  1. Произвести симуляцию программы и убедится в правильности работы программы.

  2. В соответствии с вариантом произвести установку переключателей тумблера SW1 в соответствии с вариантом.

  3. Изменить программный код в соответствии с вариантом, установив необходимые адреса, данные и логическую операцию.

Содержание отчета:

  1. Название и цель работы.

  2. Принципиальная схема устройства.

  3. Результаты моделирования.

Таблица вариантов

Вар.

Значение переключателя SW1

Адрес EEPROM

Логическая операция

Значение константы

1

0b11000001

10

И

0b11110000

2

0b10000010

20

ИЛИ

0b11110001

3

0b10000100

30

И

0b11110010

4

0b10001000

40

ИЛИ

0b11110100

5

0b10010000

50

И

0b11111000

6

0b10100000

60

ИЛИ

0b11110011

7

0b11000000

70

И

0b11110110

8

0b10000011

80

ИЛИ

0b11111100

9

0b10000110

10

И

0b11110000

10

0b10001100

20

ИЛИ

0b11110111

11

0b10011000

30

И

0b11111110

12

0b10110000

40

ИЛИ

0b10001111

13

0b11100000

50

И

0b01001111

14

0b10000111

60

ИЛИ

0b00101111

15

0b10001110

70

И

0b00011111

16

0b10011100

80

ИЛИ

0b11001111

17

0b10111000

10

И

0b01101111

18

0b11110000

20

ИЛИ

0b00111111

19

0b10001111

30

И

0b11101111

20

0b10011110

40

ИЛИ

0b01111111

21

0b10111100

50

И

0b01010101

22

0b11111000

60

ИЛИ

0b10101010

23

0b10101011

70

И

0b11001100

24

0b11010101

80

ИЛИ

0b00110011

25

0b11101101

10

И

0b11100011

26

0b10011001

20

ИЛИ

0b00011100

27

0b11110101

30

И

0b00001111

Соседние файлы в папке Лабы МДК 02.01 МКС