- •1. Однокристальные микро-эвм (омэвм) семейства mcs51. Обобщённая структурная схема микроЭвм. Основные характеристики омэвм.
- •2. Структурная схема микро-эвм семейства mcs51 (к1816ве51). Операционный узел. Формат регистра psw. Структурная схема микроконтроллера
- •Операционный узел
- •3. Структурная схема микро-эвм семейства mcs51 (к1816ве51). Узел внутренней памяти. Состав регистров специального назначения.
- •4. Организация адресного пространства микро-эвм семейства mcs51. Узел внутренней памяти
- •5. Порты микро-эвм семейства mcs51 (к1816ве51). Назначение портов. Функциональная схема порта р0. Узел управления и синхронизации
- •Узел сопряжения с внешними устройствами
- •6. Способы адресации микро-эвм семейства mcs51 (к1816ве51).
- •Cпособы адресации
- •7. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд пересылки данных.
- •8. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд обработки данных.
- •9. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд управления.
- •11. Временная диаграмма типового машинного цикла. Примеры временных диаграмм для выполнения команд за один и за два машинных цикла.
- •А) Считывание команд из внутр. Памяти программ (сверху до пунктира).
- •Б) Ниже пунктира – внешняя память данных. Данные читаются во 2ом мц.
- •1. Если чтение из внутр. Пп, то psen не вырабатывается.
- •12. Таймеры/счётчики 0 и 1 микроконтроллера семейства mcs51 (омэвм51). Режимы работы, программирование таймера/счётчика.
- •13. Таймер/счётчик 2. Режимы работы.
- •14. Организация прерываний в омэвм51.
- •Обработка внутренних прерываний
- •15. Организация последовательного ввода/вывода микроконтроллера семейства mcs51 (омэвм51). Режимы работы uart. Расчет скорости передачи данных для асинхронного режима.
- •Формирование p для передатчика.
- •Примеры программирования последовательного ввода/вывода.
- •16. Последовательный интерфейс i2c.
- •Случай чтения байта из памяти:
- •Временная диаграмма
- •17. Последовательный интерфейс spi (Serial Periferial Interface).
- •18. Последовательный интерфейс can.
- •19. Последовательный интерфейс One wire (MicoLine).
- •Структурная схема шины usb
- •Хост контроллер – на шине только один. Функция – периферийное устройство. В хабе имеется порт (точка подключения). Корневой хаб входит в состав хоста.
- •21. Обзор современных микроконтроллеров семейства mcs51. Особенности микроконтроллеров фирм Philips, Atmel и др.
- •22. Микроконтроллеры mсs 251, 151. Микроконтроллер 251.
- •23. События. Примеры захвата событий. Массив программируемых счетчиков (pca). Режимы захвата, программируемого таймера, скоростного ввода вывода, генератора шим.
- •Краткий обзор pic 16c 6x/7x/8x
- •3. Управляющие команды
- •4. Команды пересылки данных
- •25. Микроконтроллеры с risc архитектурой (семейство avr). Организация памяти. Особенность портов ввода вывода. Обзор системы команд. Пример программы с использованием команд микроконтроллера avr.
- •26. Цифровая обработка сигналов (цос). Примеры задач цос. Сигнальные микроконтроллеры фирмы Texas Instruments (tms320). Сигнальные процессоры
- •Рассмотрим tms 320
- •Организация памяти
- •Инструментальные ср-ва разработки и отладки мпс
3. Управляющие команды
NOP GOTO k CALL k RETURN
RETFIE SLEEP
CLRWDT - Сбрасывает сторожевой таймер
4. Команды пересылки данных
MOVLW k Заносит в аккумулятор число k.
MOVWF f Заносит значение аккумулятора в ячейку f.
MOVF f,d Заносит содержимое ячейки f в аккумулятор или оставляет его в ячейке f, в зависимости от флага направления D.
5. Команды организации условных переходов (условный пропуск)
BTFSC f,b
Если бит b в ячейке f сброшен (равен нулю), то команда, расположенная непосредственно за данной, не исполняется, а исполняется следующая. Часто следующая команда – GOTO, CALL или RETURN.
Для проверки состояния флагов используется, например, такая конструкция:
BTFSC STATUS, Z
GOTO ... ; переход, если флаг Z установлен, иначе эта команда игнорируется
BTFSS f,b
Если бит b в ячейке f установлен (равен единице), то команда, расположенная непосредственно за данной, не исполняется, а исполняется следующая. См. примечание выше.
INCFSZ f,d
Прибавляет единицу к содержимому ячейки f, результат помещает в аккумулятор или в ячейку f в зависимости от флага d. Не влияет на флаги. Если в результате операции получается нулевое значение, то команда, расположенная непосредственно за данной, не исполняется, а исполняется следующая.
Данная команда иногда применяется для организации циклов со счетчиком.
DECFSZ f,d
Вычитает единицу из содержимого ячейки f, результат помещает в аккумулятор или в ячейку f в зависимости от флага d. Не влияет на флаги. Если в результате операции получается нулевое значение, то команда, расположенная непосредственно за данной, не исполняется, а исполняется следующая.
Данная команда часто применяется для организации циклов со счетчиком.
Пример программы: обнуление ячеек с адресами 20h..2Fh.
……
MOVLW 0x20 ;загрузка в аккумулятор начального адреса
MOVWF FSR ;заносим это значение из акк-ра в FSR, это нужно чтобы ;организовать косвенную адресацию
Next:
CLRF INDF ; обнуляем ячейку, адрес которой лежит в FSR, см выше про ;косвенную адресацию
INCF FSR ; увеличиваем адрес
; закончить нужно на адресе 2F, то есть после последнего увеличения FSR там ;будет 30h, иначе говоря перебросится из 0 в 1 разряд 4.
BTFSS FSR,0x4 ; если 4й разряд равен 1, то прекращаем цикл
GOTO NEXT
End_prog:
…… ; конец программы.
Организация прерываний в PIC.
- внешние прерывания по входу РВ0/INT.
- прерывания от таймера TMR0.
- прерывания от вывода порта RB4 – RB7.
3 источника прерываний.
Используется 1 регистр для организации прерываний. Он 8-разрядный.
GIE – разрешение прерываний, 0 – все запрещены.
IE – interrupt enable.
IRQ – пришло или нет прерывание.
25. Микроконтроллеры с risc архитектурой (семейство avr). Организация памяти. Особенность портов ввода вывода. Обзор системы команд. Пример программы с использованием команд микроконтроллера avr.
AVR –контроллеры.
Выпускает фирма ATMEL, особенность –FLASH память.
Построены с использованием гарвардской архитектуры: отдельно ПП и ПД.
Производительность достигается за счет использования RISC – архитектуры, которая подразумевает сокращенный набор команд. Фактически все команды выполняются отднотипно. Строится конвейер команд. Потребуется большое число РОНов.
AT 90 S 44 34 – 4K ROM; 256 RAM; 256 EEPROM
AT 90 S 85 35 – 8K ROM; 512 RAM; 512 EEPROM
1. 118 команд, все выполняются за 1 такт.
2. SPI – интерфейс для внутрисхемного программирования.
3. 1 тыс. циклов репрограммирования для CODE (память FLASH); 100 тыс. для DATA.
4. 8 канальный 10 битный АЦП.
5. 32 РОН.
6. UART.
7. f = 4 МГц / 8 МГц (для 44 34 и 85 35 соответственно).
8. 2 x 8р. таймера; 1x 16р. таймер, WATCH DOG.
9. 3 канала ШИМ.
10. Аналоговый компаратор.
11. 3 режима энергосбережения.
12. Прерывания (внутренние и внешние).
Особенность: к I/O регистрам можно обращаться как к регистрам и как к области памяти.
РМ – Program Memory. Все команды 16-разрядные.
SRAM – ОЗУ статического типа. 0 – 255 – минимальный размер (в байтах).
64 I/O – SFR (здесь название другое).
!!!Расширения с использованием внешней памяти здесь нет!!
Здесь есть внутрисхемное программирование (через СОМ или SPI).
EEPROM – приблизительно 1000 циклов перепрограммирования.
ЗП идет долго, а СЧ быстро.
Состав РОНов.
В некоторых командах может быть использованы все РОНы, а в некоторых – только 2ая половина. К этим ячейкам памяти можно обращаться по имени, так и по адресу.
Соответствие адресов РОНов в адресном пространстве внутренней памяти данных.
Это общее пространство внутренней памяти данных.
Регистры I/O внутри пронумерованы от 0 до 3FH (здесь к ним идет обращение по этим адресам). Но в общем пространстве сквозная нумерация (020Н – 05FH).
SP (3DH, 3EH) – указатель стека.
Команда LDI 3E, 60H ;загрузка регистров с непосредств. адресацией
Но есть команды загрузки в ПД, тогда нужно использовать адрес 05EH.
Обзор системы команд.
Флаги формируются при выполнении некоторых команд, они записываются в регистр состояний:
1. переноса С;
2. нуля результата В;
3. отрицательного результата N;
4. арифм. переполнения V;
5. знака S;
6. промежут. переноса H;
7. используемый пользователем T;
8. разрешения прерывания I.
Группы команд:
- пересылок;
- арифм. и логич. операций;
- передачи управления;
- побитных операций.
Группа команд пересылок.
MOV Rd, Rr
Эта команда используется только для регистров.
LDI Rd, K
K – число, Rd – РОН. Команда с непосредственной адресацией.
LDS Rd, (K)
К – адрес памяти SRAM. Команда загрузки РОНа из содержимого памяти SRAM.
STS (K), Rd – пересылка содержимого регистра в память SRAM.
Косвенная адресация.
Для косв.адресации используется три пары регистров.
Х = R26, R27. Y = R28, R29. Z = R30, R31.
X, Y, Z – имена пар.
Команды с косв. адресацией будут записаны в след. формате:
LD Rd, X
Содержимое памяти SRAM, адрес которой указан в паре регистров Х, пересылается в РОН.
Несколько конструкций косв. адресации:
С постизменением адреса: LD Rd, X+ (с автоинкрементом – адрес после выполнения этой команды изменится на 1).
LD Rd, - X (c предавтоинкрементом – адрес меняется на 1 перед выполнением команды).
ST X, Rd
XLAT (8086) - > MOVC (8051)
Z – адрес ПП.
LPM ; R0 < - (Z)
IN Rd, P
OUT P, Rd
Группа команд передачи управления.
JMP K
- относит. безусл. переход.
- косв.безусл. переход.
CALL K – вызов подпрограммы
RET
RETI
BRBS S, K ; переход по биту S (если S=1)
BRBC S, K ; переход, если S=0
SKIP
SBRS Rr, b ; b = 1
SBRC Rr, b ; b = 0
SBIS P, b ; b = 1
SBIC P, b ; b = 0
Задача: пусть требуется переслать строку символов, содержащуюся в ПП, в ПД SRAM.
ORG 0050H
TABL: db 1, 2, 3, 4
LDI R16, 4
LDI R28, 0
LDI R29, 60H
LDI R30, 0
LDI R31, 50H
M1: LPM
ST Y+, R0
INC R30
DEC R16
BFNE M1
Все выводы порта могут быть мультиплексированы.
1. Адрес регистра для выбора направления передачи.
2. Адрес защелки порта.
3. Адрес в режиме ввода (нет спец. регистра).
Таймеры/счетчики.
3 таймера: Т1 – 16-разрядный, Т0, Т2 – 8-разрядные.
Т2 имеет канал сравнения и при сравнении текущего значения с заданным формируется сигнал на выводе порта D. Этот же вывод может использоваться как вывод ШИМа. Т1 имеет устройство захвата.