
- •Микроконтроллеры
- ••Корпорация STMicroelectronics (STM) один из всемирно признанных лидеров микроэлектроники, создана в 1987 году
- •ST7Microelectronics и университеты
- •Библиографический список
- •УМК «Микропроцессорные системы»
- •РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ "Training Board
- •обзор обучающей программы
- •1-ый шаг изучения: STVD7 версия 3 - без учебной
- •2-ой шаг изучения: STVD7 версия 2- с inDART STX
- •Краткий обзор семейства ST7
- •Система обозначений ST7
- •Структурная схема ST7
- •Структурная схема ST7 3/4
- •Структурная схема ST7 4/4
- •Назначения выводов МК ST7
- •Описание вводов/выводов
- •Карта памяти и регистров
- •Адрес Блок
- •Адрес
- •Окончание таблицы 2
- •FLASH ПАМЯТЬ ПРОГРАММ
- •СПОСОБЫ ПРОГРАММИРОВАНИЯ
- •In-Circuit Programming (ICP)
- •In-Application Programming (IAP)
- •Интерфейс ICC
- •Защита FLASH памяти
- •ПАМЯТЬ ДАННЫХ EEPROM
- •ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР (ядро MCU)
- •РЕГИСТРЫ CPU
- •РЕГИСТРЫ CPU
- •Иллюстрация работы стека
- •РЕГИСТРЫ 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
- •Управление синхронизацией
- •Главный регистр контроля/статуса частоты
- •RC Control Register (RCCR)
- •Управление
- •Рис. 2.4. Блок-схеме RESET
- •Источники RESET
- •Рис. 2.5. Фазы Сброса
- •Фаза задержки Сброса
- •Блок управления целостностью системы
- •Регистр управления целостностью системы
- •Регистр управления целостностью
- •Конфигурирование устройства
- •Байт выбора 0 (продолжение)
- •Значения «по умолчанию» байтов выбора
- •OPTION BYTE 1
- •ПРЕРЫВАНИЯ
- •Рис. 3.1. Схема процесса прерывания
- •Source
- •Периферийные прерывания
- •Внешние прерывания
- •Т а б л и ц а 3.2 Биты чувствительности прерываний
- •Выбор линий портов РА и РВ для внешних прерываний осуществляется битами регистра EISR
- •Периферийные устройства
- •Параллельные порты ввода-вывода
- •Конфигурирование портов

РЕГИСТР КОДА УСЛОВИЯ 1/3
•Bit 3 = I (Interrupt mask) используется для управления разрешением ( I= 0) и запрещением (I = 1) прерывания. Bit I устанавливается (I = 1)
аппаратными или программными средствами, запрещая все прерывания кроме программного прерывания по команде TRAP. Бит I очищается программно. Этим битом управляют команды RIM, SIM и IRET и тестируют его команды JRM и JRNM.
•Bit 4 = H (Half carry). Этот бит устанавливается аппаратными средствами в течении, когда ALU выполняет команды ADD или ADC и при этом происходит перенос между битами 3 и 4. Этот бит проверяется командами передачи управления JRH или
JRNH. Бит H используется в подпрограммах BCD арифметики.

РЕГИСТР КОДА УСЛОВИЯ 2/3
•Bit 2 = N (Negative) устанавливается и очищается аппаратными средствами и определяет знак результата выполнения последней арифметической, логической операции или манипуляции данных. Бит N является копией 7-ого бита результата.
•N = 0: результат операции положителен или нуль.
•N = 1: Результат последней операции отрицателен.
•К этому биту получают доступ команды JRMI и JRPL.
•Bit 1 = Z (Zero) устанавливается и очищается аппаратными средствами, указывает, равен или не равен нулю результат последней арифметической,
логической операции или манипуляции данными. Z = 0: результат операции не равен нулю. Z = 1: результат операции - ноль.
•Этот бит проверяют команды передачи управления
JRNE и JREQ.

РЕГИСТР КОДА УСЛОВИЯ3/3
•Bit 0 = С (Carry/borrow), устанавливается и очищается аппаратными средствами и ПО, указывает перенос из старшего разряда или заем в старший разряд, в последней арифметической операции.
•С = 0: Нет переноса или нет заёма.
•С = 1: Выход за пределы старшего разряда (перенос) или заем в старший разряд.
•Этот бит устанавливается командой SCF, очищается командой RCF и проверяется командами передачи управления JRC и JRNC.
•Он также эффективно используется в операциях над битами, операциях сдвига и вращения.

СИСТЕМА КОМАНД ST7
Символы, используемые при описании команд
•{…} означает: содержимое регистра или ячейки памяти.
•$ означает: шестнадцатеричное число.
•# означает: непосредственный операнд

СПОСОБЫ АДРЕСАЦИИ
•Ядро ST7 обеспечивает 17 различных способов адресации, которые могут быть разделены на семь
основных групп (см. табл):

Неявная (Inhern) |
nop |
Непосредственная |
Ld A,#$45 |
(Immediate) |
Пример команды |
Способ адресации |
|
Прямая (Direct) |
Ld A,$36 |
Индексная (Indexed) |
Ld A,($58,X) |
Непрямая, косвенная |
Ld A,([$72],X) |
(Indirect) |
|

Способ адресации |
Пример команды |
Относительная (Relative)
Битовых
операций
Jrne loop
Bset byte,#7

СПОСОБЫ АДРЕСАЦИИ
команд ST7 разработаны c учетом минимизации их формата. Основные способы адресации разделяются на длинные и короткие:
•Длинный способ использует 64-кб. адресное пространство, но требует большего числа байт и числа циклов CPU.
•Короткий способ адресации более компактный, более быстрый, но получает доступ только к странице 0 памяти (0000h – 00FFh).
• Только короткий способ адресации используется в командах CLR, CPL, NEG. BSET, BRES, BTJT, BTJF, INC, DEC, RLC, SLL, SRL,
SRA, SWAP.

|
|
|
Syntax |
Destination/ |
Pointer |
Pointer |
Length |
Mode (Способ |
|
Sourse |
Address |
Size |
(Bytes) |
||
адресации) |
|
|
|
(Hex.) |
(Hex.) |
|
|
Inherent |
|
|
nop |
|
|
|
+ 0 |
Immediate |
|
|
Ld A,#$77 |
|
|
|
+ 1 |
Short |
Direct |
|
Ld A,$12 |
00…FF |
|
|
+ 1 |
Long |
Direct |
|
Ld A,$1204 |
0000…FFFF |
|
|
+ 2 |
No Offset |
Direct |
Indexed |
Ld A,(X) |
00...FF |
|
|
+ 0(c X reg.) |
|
|
|
|
|
|
|
+ 1(c Y reg.) |
Short |
Direct |
Indexed |
Ld A,($12,X) |
00…1FE |
|
|
+ 1 |
Long |
Direct |
Indexed |
Ld A,($1000,X) |
0000…FFFF |
|
|
+ 2 |
Short |
Indirect |
|
Ld A,[$10] |
00…FF |
00…FF |
byte |
+ 1 |
Long |
Indirect |
|
Ld A,[$10.w] |
0000…FFFF |
00…FF |
word |
+ 2 |
Short |
Indirect |
Indexed |
Ld A,([$10],X) |
00…1FE |
00…FF |
byte |
+ 2 |

|
|
Syntax |
Destination Pointer |
Pointer |
Length |
|
Mode (Способ |
/ |
Addres |
Size |
(Bytes) |
||
адресации) |
|
Sourse |
s |
(Hex.) |
|
|
|
|
|
|
(Hex.) |
|
|
Inherent |
|
nop |
|
|
|
+ 0 |
Immedia |
|
Ld A,#$77 |
|
|
|
+ 1 |
te |
|
|
|
|
|
|
Short |
Direct |
Ld A,$12 |
00…FF |
|
|
+ 1 |
Long |
Direct |
Ld A,$1204 |
0000..FFFF |
|
|
+ 2 |
No |
Direct Indexed Ld A,(X) |
00...FF |
|
|
+ 0(c X |
|
Offset |
|
|
|
|
|
reg.) |
|
|
|
|
|
|
+ 1(c Y |
|
|
|
|
|
|
reg.) |
Short |
Direct Indexed Ld A,($12,X) |
00…1FE |
|
|
+ 1 |
|
Long |
Direct Indexed Ld A, |
0000… |
|
|
+ 2 |
|
|
|
($1000,X) |
FFFF |
|
|
|