Алгоритм работы устройства

Составим блок-схему функционирования устройства

Рис. 10 - Блок-схема алгоритма функционирования

Программа

Метка

Команда

Значение

Комментарий

.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

Перейти на страницу: 1 2

Другие стьтьи в тему

Расчет надежности системы телемониторинга
Системы СЖАТ (системы железнодорожной автоматики и телемеханики) предназначены для регулирования движения поездов с целью решения таких важных задач, как обеспечение безопасности движения поездов и повышение эффективности перевозочного процесса. Уровень надежности СЖАТ непосредственно ...

Расчет системы автоматического регулирования (САР)
Центральной проблемой автоматизации является автоматическое управление. Необходимость автоматического управления возникает в тех случаях, когда требуется заранее с заданной точностью управлять тем или иным физическим параметром (регулируемой величиной) объекта управления ...

Разделы

Радиоэлектроника и телекоммуникации © 2024 : www.techelements.ru