Микропроцессорные средства
Кононов Олег Александрович
www.silabs.com
www.efo.ru
www.electrosnab.ru
О. Николайчук «x51 совместимые микроконтроллеры фирмы silicon laboratories (cygnal) 2004г. «ИД СКИМЕН»
1971г. 16 ноября – Intel, первый микропроцессор
Используются в основном для встраиваемых (Embedded) приложений
Классы микропроцессоров
Объединяет их
Intel. 1977г. i8748 – первый микропроцессор.
i8051 – 1980г. используется до сих пор.
Событие – смена сигнала, определенное состояние сигнала.
Для микропроцессоров важно знать не только факт события, но и время его наступления.
Гарвардская архитектура – в разных блоках памяти хранятся данные и команды
Архитектура Фон Неймана – в одном блоке хранятся и данные и команды
Динамическое ядро – память на конденсаторах
Статическое ядро – память на триггерах
(рис1. структура)
8351 – зашитая память команд
8751 – память с УФ-стиранием
P1 – ненаправленный порт ввода вывода.
P0 – совмещенный порт адреса данных, если есть внешняя память. (Адрес/Данные).
P2 – либо порт ввода/вывода, либо порт старшего байта адреса ввода/вывода.
T0, T1 – 16-тиразрядные таймеры. Работают либо как счетчики, либо как таймеры.
ICU – контроллер прерываний. Обслуживает 3 внутренних прерывания и 2 внешних. Если внешние прерывания не требуются – порт ввода/вывода.
Итого 4 порта ввода/вывода:
P3 – WR, RD, TxD, RxD, T0, T1, INT0, INT1 – 8 бит. Каждый бит может использоваться как угодно.
CPU
Acc – (8 бит)
Bcc – (8 бит)
Psw – слово состояния программы. (8 бит)
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
CY – Carry перенос за байт |
AC – промежуточный заем |
F – флаг пользователя |
RBS1 устанавливается программно |
RBS0. устанавливается программно. |
OV – переполнение. |
- |
P – parity Паритет. Устанавливается аппратурно. |
SP – Stack Pointer – указатель стека (= 7 по включению питания). (8 бит)
PC – program counter – программный счетчик. (16 бит)
DPTR – Data Pointer – указатель данных. (16 бит). Доступен как DPL (8 бит) и DPH (8 бит)
R0-R7 – 8 регистров общего назначения. (8 бит)
Внутренняя память данных
Адресное пространство составляет 256 байт. (00-FF)
FF |
SFR – special function registers. Прямо адресуемые регистры специальных функций. Адреса портов ввода/вывода и пр. |
В старших моделях. 128x8. Косвенно адресуемые. |
80 |
||
7F |
Прямо адресуемые байты и косвенно адресуемые байты внутренней памяти данных. |
|
2F |
128 прямо адресуемых бит |
|
20 |
||
1F |
3 |
Банки регистров |
2 |
||
1 |
||
00 |
0 |
MOV R0, #20h – прямая адресация
MOV 50h, #2
MOV @R0, #20h – косвенная адресация
Для косвенной адресации используются регистры только R0 и R1.
Память программ
FFFF |
XROM |
|
1000 |
||
0FFF |
IROM |
|
0000 |
MOVC A, @A+PC
MOVC A, @A+DPTR
TABLE:
MOVC A, @A+PC
RET
DB 00h, 01h
Внешняя память данных
FFFF |
XRAM |
0000 |
MOVX A, @DPTR – чтение
MOVX @DPTR, A – запись
MOVX A, @Ri; i=0,1
MOV P2, #N – P2 – защелка…, N – номер страницы – старший байт адреса.
Система команд
Команда пересылки
MOV
MOV dst, src
Src - #; R; add; @Ri
Dst – Ri; add; @Ri
MOVX
MOVX A, @DPTR
MOVX A, @Ri;i=0,1
MOVX @IPTR, A
MOVC
MOVC A, @A+DPTR
MOVC A, @A+PC
MOV DPTR, #N1N2 – шестнадцатиразрядный код
Или то же самое двумя командами:
MOV DPH, #N1
MOV DPL, #N2
XCH A, B – ОБМЕН ЗНАЧЕНИЙ (ПЕРЕСЫЛКА)
Команды математических и логических операций
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.