Разработка аппаратно-программных средств микропроцессорной системы

контрольная работа

Программа

Метка

Команда

Значение

Комментарий

.DSEG

.ORG

0x100

.def

TMP=R16

Регистр для переменной

.def

I=R17

Регистр измерения тока

.def

COL=R18

Регистр для колонки

.def

STR=R19

Регистр для хранения страницы

.def

U=R20

Регистр для значения напряжения

.CSEG

.ORG

a4

CLI

Запрет глобальных прерываний

LDI

TMP,0b 0001 1000

Отключение сторожевого таймера

OUT

WDTCR,TMP

CLR

TMP

OUT

WDTCR,TMP

ldi

TMP,low(RAMEND)

Настройка указателя стека на конец оперативной памяти

out

SPL,TMP

ldi

TMP,high(RAMEND)

out

SPH,TMP

LDI

TMP, 0b 0100 0000

Настройка порта С

OUT

PORTС, TMP

CLI

TMP

OUT

DDRС, TMP

CLR

TMP

настройка порта D для вывода информации на ЖКД

OUT

PORTD, TMP

LDI

TMP,0b 1000 0001

Настройка канала ШИМ OC1A

Режим - fast PWM

8 бит

Тактирование от системного генератора

OUT

TCCR1A,TMP

LDI

TMP,0b 0000 1001

OUT

TCCR1B,TMP

CLR

TMP

OUT

OCR1AL, TMP

LDI

TMP, 0b 1110 0000

Настройка АЦП

ИОН - внутренний

Тактирование 1МГц (1:16)

8 бит

OUT

ADMUX, TMP

LDI

TMP,0b1000 0100

OUT

ADCSRA, TMP

Основная часть программы

Begin:

CLR

STR

Установка начальной страницы

LDI

TMP,0b1011 1000

OUT

DDRB,TMP

LDI

COL,0b 0000 0001

Установка начальной колонки

CLR

U

Установка начального режима ШИМ

GET:

OUT

OCR1AL,U

установка напряжения Uзи

LDI

TMP,0xE0

Выбор канала АЦП

OUT

ADMUX,TMP

LDI

TMP,0x14

Задержка 10 мкс для стабилизации

напряжения на входе блока АЦП

a1:

DEC

TMP

NOP

BRNE

a1

SBI

ADCSRA,6

Запуск преобразования

a2:

SBIS

ADCSRA,4

Ожидание окончания преобразования

RJMP

a2

IN

I,ADCH

Чтение результата преобразования

LSR

I

Установка адреса ОЗУ в ЖКД

LSR

I

AND

I, 0b 0011 1111

ADD

I, 0b 0100 0000

OUT

DDRD,I

LDI

TMP, 0b 0100 0000

Вывод точки на ЖКД

OUT

DDRС, TMP

OUT

DDRD, COL

CLI

TMP

OUT

DDRС, TMP

ROL

COL

Установка следующей колонки

a3:

BRCS

INK

Переход для установки новой страницы

ADD

U,0x4

Увеличение напряжения Uзи

RJMP

GET

INK:

INC

STR

Инкрементирование страницы

CPSE

STR, 0b 0000 0100

Если была последняя страница - то выход

RJMP

a6

a4:

SBIS

DDRA,2

Зацикливание пока не будет нажата кнопка старт

RJMP

a4

LDI

TMP,0x14

Задержка на 10 мкс для исключения дребезга контактов

a5:

DEC

TMP

NOP

BRNE

a5

RJMP

Begin

a6:

ADD

STR, 0b1011 1000

Установка новой страницы ЖКД

OUT

DDRD, STR

RJMP

a3

Заключение

Необходимо рассчитать коэффициент использования аппаратных и программных средств.

Использование аппаратных средств

Кисп. апп. = Nисп. апп./Nобщ апп =

Использование памяти (по результатам компиляции в AVR Studio):

ПЗУ (flash) - 6,2%

ОЗУ (SRAM) - 0,0%

EEPROM - 0, 0%

Использование программных средств

Как видно задача была успешно решена с применением микроконтроллера. Данная система имеет большую способность к модернизации, заложенной в ней аппаратно.

Делись добром ;)