
- •Восьми разрядные
- ••Корпорация STMicroelectronics (STM) один из всемирно признанных лидеров микроэлектроники, создана в 1987 году
- •университеты
- •Библиографический список1/2
- •УМК «Микропроцессорные системы»2/2
- •РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
- •обзор обучающей программы
- •платы
- •и учебной платой.
- •Система обозначений ST7
- •Структурная схема ST7 1/4
- •Структурная схема ST7
- •CLKIN
- •Структурная схема ST7 3/4
- •Структурная схема ST7 4/4
- •Назначения выводов МК ST7
- •Описание вводов/выводов
- •Карта памяти и регистров
- •Адрес Блок Имя
- •Адрес
- •Окончание таблицы 2
- •FLASH ПАМЯТЬ ПРОГРАММ
- •ПРОГРАММИРОВАНИЯ
- •In-Circuit Programming (ICP
- •Интерфейс ICC
- •Защита FLASH памяти
- •ПАМЯТЬ ДАННЫХ EEPROM
- •(ядро MCU)
- •РЕГИСТРЫ CPU
- •РЕГИСТРЫ CPU 2/3
- •Иллюстрация работы стека
- •РЕГИСТРЫ CPU
- •РЕГИСТР КОДА УСЛОВИЯ 1/3
- •РЕГИСТР КОДА УСЛОВИЯ 2/3
- •РЕГИСТР КОДА УСЛОВИЯ3/3
- •СИСТЕМА КОМАНД ST7
- •СПОСОБЫ АДРЕСАЦИИ
- •Неявная (Inhern)
- •Способ адресации
- •СПОСОБЫ АДРЕСАЦИИ
- •Short Indirect
- •Short
- •Inherent (Неявная адресация)
- •Instruction
- •Instruction
- •(Immediate)
- •Immediate Instruction
- •Прямая адресация
- •Прямая длинная
- •Индексная
- •Индексная короткая
- •Индексная длинная
- •длинная)
- •Косвенная короткая
- •Косвенная длинная
- •Косвенная индексная (короткая,
- •длинная
- •Длинные и короткие
- •Относительный способ (прямой,
- •Пример:
- •(Available Relative Direct/Indirect
- •СИСТЕМА КОМАНД
- •Load and Transfer
- •Использование пред байта
- •Использование пред байта
- •СПИСОК КОМАНД МК ST7
- •Mnem Description
- •CALL
- •УПРАВЛЕНИЕ
- •Управление синхронизацией1/4
- •Управление синхронизацией3/4
- •контроля/статуса частоты
- •RC Control Register (RCCR)
- •Управление
- •Рис. 2.4. Блок-схеме RESET
- •Источники RESET
- •Рис. 2.5. Фазы Сброса
- •Фаза задержки Сброса
- •Блок управления целостностью
- •Регистр управления
- •Регистр управления целостностью
- •устройства
- •Байт выбора 0 (продолжение)
- •Значения «по умолчанию» байтов выбора
- •OPTION BYTE 1
- •ПРЕРЫВАНИЯ
- •Рис. 3.1. Схема процесса прерывания
- •Source
- •Периферийные прерывания
- •Внешние прерывания
- •Т а б л и ц а 3.2 Биты чувствительности прерываний
- •Выбор линий портов РА и РВ для внешних прерываний осуществляется битами регистра EISR
- •Периферийные устройства
- •Параллельные порты ввода-вывода
- •Конфигурирование портов
- •Конфигурирование портов
- •INPUT
- •Функция внешнего прерывания
- •Функция внешнего прерывания
- •Ложные прерывания
- •Предостережение
- •Предостережение
- •ЭНЕРГОСБЕРЕГАЮЩИЕ РЕЖИМЫ
- •ЭНЕРГОСБЕРЕГАЮЩИЕ РЕЖИМЫ
- •Рис. 5.1. Переходы в энергосберегающие режимы
- •Медленный режим (SLOW)
- •Режим WAIT
- •Рис. 5.3. Блок- схема режима WAIT
- •Режим HALT
- •Рис. 5.4. Диаграмма режима ОСТАНОВА
- •Рис. 5.5. Блок-схема режима ОСТАНОВА
- •Режим HALT (примечания)
- •Режим ACTIVE-HALT
- •Таблица 5.1
- •Рис. 5.7. Блок- схема режима ACTIVE-HALT
- •Режим AUTO WAKE UP FROM HALT
- •Режим AUTO WAKE UP FROM HALT
- •Рис. 5.8. Блок-схема режима AWUFH
- •Рис. 5.9. Временные диаграммы режима AWUF Halt
- •Рис. 5.10. Блок- схема режима AWUFH
- •Описание регистра AWUCSR
- •Описание регистра AWUPR
- •CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)
- •CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)
- •CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)
- •Рис. 6.1. Регистр управления WDGCR сторожевого счетчика (WATCHDOG)
- •CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)
- •Аппаратный выбор Watchdog

Индексная короткая
•Смещение - байт после opcode . Адресация к 00 - 1FEh.
•Пример:
• |
0089 |
1122 |
table dc.w |
$1122 |
• |
008b |
3344 |
dc.w |
$3344 |
• . . . . |
ae03 |
ld X, #03 |
; загрузка |
|
• |
05f2 |
|||
|
индекса |
|
|
короткого. |
|
|
|
|
|
• |
05f4 |
e689 |
ld A,(table,X) |
•Комментарий: СРU вычисляет адрес аргумента сложением байта ячейки $05f5 с содержимым индексного регистра X.
•Состояние после выполнения:
•{X} = $03; {A} ={ {$05f5} + {X} } = {$89 + $03} = {8c} = $44; {PC} = $05f6.

Индексная длинная
•Смещение - 2 байта после opcode. Адресация к 64 кб памяти.
•Пример:
• |
05f2 |
90ae02 |
ld |
Y,#02 |
;load indexed |
• |
05f5 |
90d6077e |
ld |
A,(table,Y) |
|
|
long |
|
|
|
|
• .... |
1122 |
table |
dc.w |
$1122 |
|
• |
077e |
||||
• |
0780 |
dc.w |
$5577 |
|
•Коментарий: CPU вычисляет адрес аргумента по содержимому двух байтного числа из ячеек $05f7 и $05f8, суммируя его с содержимым индексного регистра Y.
•Состояние после выполнения:
•{Y} = $02
•{A} = {{$05f7,$05f8}+{Y}} = {$077e+$02} = {$0780} = $55
•{PC} = $05f9.

длинная)
• Адресация операнда осуществляется указателем, расположенным в памяти. Адрес указателя следует за opcode. Косвенный способ адресации состоит из двух под способов:
• Косвенная короткая.
• Адрес указателя состоит из 1 байта и следует после opcode, размер указателя также равен 1 байту. Адресуемое пространство 00 – FFh.
• Косвенная длинная.
• Адрес старшего байта указателя состоит из 1 байта и следует после opcode. Размер указателя - слово, хранится в двух ячейках. Адресация к 64 кб памяти.

Косвенная короткая
• |
Пример: |
var dc.b |
$42 |
|
• 0089 |
42 |
|||
• .... |
89 |
ptr dc.b |
var |
|
• 00cb |
||||
• .... |
92b6cb ld A,[ptr] ; загрузка |
|||
• 05f2 |
||||
|
косвенная короткая |
|
||
|
Коментарий: CPU находит адрес аргумента в |
|||
|
локальной памяти по имени короткого |
|||
|
указателя ptr. |
|
||
• |
Состояние после выполнения: |
|||
• |
{A} = {{ptr}} = {{$cb}} = {$89} = |
|||
|
$42 |
|
|
|
•{PC} = $05f5

Косвенная длинная 
• |
Пример: |
|
|
|
|
|
|
• |
00cb |
48c0 |
ptr |
dc.w |
var |
|
|
• .... |
|
|
|
|
|
|
|
• |
05f2 |
92c6cb |
ld |
A,[ptr.w] |
; загрузка |
||
|
косвенная длинная |
|
|
|
|
||
• .... |
|
|
|
|
|
|
|
• |
48c0 |
99 var dc.b |
$99 |
|
|
||
• |
Коментарий: |
CPU находит адрес аргумента |
|||||
|
в локальной памяти по имени длинного |
||||||
|
указателя ptr. |
|
|
|
|
|
|
• |
Состояние после выполнения: |
|
|||||
• |
{A} = {{ptr.w}} = {{0xcb}} = |
||||||
|
{$48c0}= $99 |
|
|
|
|
|
•{PC} = $05f5

Косвенная индексная (короткая,
длинная)
• Это - комбинация косвенных и коротких индексных способов адресации. Адрес операнда определяется без знаковым сложением содержимого индексного регистра (X или Y) с величиной указателя в памяти. Адрес указателя следует за opcode.
• Косвенный индексный способ адресации состоит из двух под способов:
• Косвенная индексная короткая
• Адрес указателя - байт, размер указателя
– байт. Позволяет адресоваться к пространству памяти 00 - 1FEh и требует 1 байта после opcode.

• |
Пример: |
00 |
короткая |
||
• |
0040 |
table |
dc.b 0,1,2,3 |
||
• |
0041 |
01 |
|
|
|
• |
0042 |
02 |
|
|
|
• |
0043 |
03 |
|
|
|
• .... |
40 |
ptr |
dc.b table |
||
• |
0089 |
||||
• .... |
ae03 |
ld X,#3 |
|||
• |
05a0 |
||||
• |
05a2 |
92e689 |
ld |
A,([ptr],X);загрузка косвенная |
|
|
индексная короткая |
|
|
|
•Коментарий: CPU вычисляет адрес аргумента сложением однобайтного указателя, считываемого из локальной ячейки 0х89 и содержимого индексного регистра Х.
•Состояние после выполнения:
•$03{A} = {{ptr}+{X}} = {$40+$03} = {$43} =
•{PC} = $05a5

длинная
• Адрес старшего байта указателя состоит из 1 байта и следует после opcode.
• Размер указателя - слово, хранится в двух ячейках памяти позволяет адресация к 64 килобайтам памяти.

• |
0089 |
1f40 |
Пример: |
table |
|
|
ptr dc.w |
||||
• .... |
|
ae03 |
ld X,#3 |
|
|
• |
05a0 |
|
|
||
• |
05a2 |
|
92d689 |
ld A,([ptr.w],X) ;загрузка |
|
|
косвенная индексная длинная |
|
|||
• .... |
f0 |
table |
dc.b $f0,$f1,$f2,$f3 |
||
• |
1f40 |
||||
• |
1f41 |
f1 |
|
|
|
• |
1f42 |
f2 |
|
|
|
• |
1f43 |
f3 |
|
|
|
• |
Коментарий: CPU вычисляет адрес аргумента |
||||
|
сложением двух байтного указателя, считываемого из |
||||
|
ячеек |
0х89 и 0х8А, и содержимого индексного |
|||
|
регистра Х. |
|
|
||
• |
Состояние после выполнения: |
|
|||
• |
{A} = {{ptr}+{X}} = {{$1f40}+$03} = |
||||
|
{$1f43} = $f3 |
|
|
•{PC} = $05a5

Длинные и короткие |
Функции команды |
команды |
|
(Long and Short |
|
Instruction) |
|
LD |
Загрузка |
CP |
Сравнение |
AND, OR, XOR |
Логические операции |
ADC, ADD, SUB, SBC |
Арифметические |
|
операции |
|
сложение/вычитание |