90541_ctsu_sui_6

advertisement
Лекция 6
2.12 Программное управление ходом вычислений.
Архитектура учебного микроконтроллера
16
EEPROM
16
16
8
RAM
8
8
PC
8
DPL
DPH
DPTR
P0
.
.
.
8
8
8
SP
P0.7
P0.6
P0.0
8
RAR
8
8
P2
.
.
.
8
P2.7
P2.6
P2.0
8
ALU
Управление
8
8
8
8
8
ALE
ROM
Р
Reset
P1.7
P1.6
P1.0
CU
EA
.
.
.
B
ACC
PSEN
P1
8
8
Timer 0
TL0 TH0
Timer 1
TL1 TH1
IP
IE
UART
SBuf
8
8
P3
.
.
.
P3.7
P3.6
P3.0
Рисунок 2.12.1 Базовая архитектура
микроконтроллеров
семейства MCS-51
XTAL1
G
XTAL2
1
Лекция 6
2.13. Программная реализация табличного способа вычисления
Вычисления значения нелинейной функции выполняется с помощью 5
команд и требует 12 мкс времени при реализации программы на типовом
контроллере MCS-51 с частотой кварцевого резонатора 12 МГц.
ROM1
X 12
8
7
11
A
4
Ki
4
SUM
Q
x
8 Y
ROM2
A
Q
7
Рисунок 2.13.1 - Схема
аппаратной реализации
табличного вычислителя
в рассматриваемой схеме реализованы вычисления по следующим
уравнениям:
X = Xi + ∆х,
Y = f( Xi ) + Ki * ∆х ,
где: f( . ) - заданная нелинейная функция.
2
Лекция 6
2.13.2. Реализация генератора функции времени
Для примера: необходим генератор задающего воздействия
y = sin ( w*t) ,
частота воздействия 10 Гц, т.е. w = 62,8 1/с.
G fк
+1 CT2
A
Q
R
ROM
7
N
10
Q
Y
Рисунок 2.13.2 - Генератор
функции времени
для задания периода квантования сигналов используется механизм
обработки прерываний таймеров, а программа генерации значений
функции пишется, как программа обработки прерывания одного из
таймеров.
3
Лекция 6
Реализация генератора функции времени
Начало
Инициализация
Требование
прерывания ТС0
Запрет
прерываний
Установка режима
таймера 0
Запрет
прерываний
Обработка
прерывания
Чтение Y=f(x) из
буфера
Вывод Y
Запись
периода
прерывания TС0
N
100
N=0
N=N+1
N=0
Разрешение
прерываний
Разрешение
прерываний
RTI
Различные
сервисные
программы
Основная
задача
Рисунок 2.13.3 - Структура программы генератора функции времени 4
Лекция 6
2.14 Программная реализация регистрового способа вычисления
Пусть необходимо реализовать устройство, вычисляющее среднее
значение по четырем последовательно измеряемым значениям входной
переменной х(n):
y(nТ) = [x(nТ-T) + x(nТ-2Т) + x(nТ-3Т) + x(nТ-4Т)]/ 4,
где: n - дискретное время, Т - заданный период квантования сигнала
во времени.
8
X(nT)
X1(nT)
RG
8
D
8
Q
SM
X2(nT)
Q
8
RG
8
RG
D
D
RG
D
Q
X3(nT)
C
C
C
8
Q
X4(nT)
9
SM
Y(nT)
8
10
:4
C
T
SM
9
Рисунок 2.14.1 - Схема устройства, аппаратно реализующего
регистровый способ вычислений
5
Лекция 6
Программная реализация регистрового способа вычисления
Начало
Инициализация
Запрет
прерываний
Кофигурирование
линии P3.2 на
ввод сигнала Int0
Запись
вектора
прерывания Int0
Разрешение прерываний Int0
Разрешение
прерываний
Требование
прерывания Int0
Запрет
прерываний
Чтение x(nT)
через порт Р1
Синхронный ввод
и обработка
информации
Вывод Y(nT) через порт Р2
Обновление
информации в регистрах
Вычисление нового
значения Y
Разрешение
прерываний
Различные
сервисные
программы
RTI
Асинхронный
процесс
Рисунок 2.14.2 - Блок-схема программы, реализующей регистровый способ вычислений.6
Цифровая техника систем
управления
В.И. Бойков,
С.В. Быстров,
В.В. Григорьев,
Ю.В. Литвинов
Учебное пособие
7
Download