Радиоэлектроника и телекоммуникации
Составим блок-схему функционирования устройства
Рис. 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 |
Другие стьтьи в тему
Расчет надежности системы телемониторинга
Системы СЖАТ (системы железнодорожной автоматики и телемеханики)
предназначены для регулирования движения поездов с целью решения таких важных задач,
как обеспечение безопасности движения поездов и повышение эффективности
перевозочного процесса. Уровень надежности СЖАТ непосредственно ...
Расчет системы автоматического регулирования (САР)
Центральной проблемой автоматизации является автоматическое управление.
Необходимость автоматического управления возникает в тех случаях, когда
требуется заранее с заданной точностью управлять тем или иным физическим
параметром (регулируемой величиной) объекта управления ...