- •1.Функциональное описание микроконтроллера i80196kc
- •1.1. Обзор архитектуры
- •1.1.1. Ядро 80xc196kc
- •1.1.1.1. Файловый регистр (Register File)
- •1.1.1.2. Регистровое арифметико-логическое устройство (ралу)
- •1.1.1.4. Контроллер памяти ( Memory Controller)
- •1.1.1.5. Контроллер прерываний и pts (Interrupt Controller)
- •1.2. Параметры синхронизации
- •1.3. Внутренние периферийные устройства
- •1.3.1. Стандартные порты ввода-вывода
- •1.3.2. Последовательный порт ввода-вывода
- •1.3.3. Быстродействующий модуль
- •1.3.4. Аналого-Цифровой Преобразователь (ацп)
- •1.3.5. Широтно-импульсный модулятор (шим)
- •1.3.6. Сторожевой Таймер
- •2.Введение в программирование 8xc196kc
- •2.1. Типы программирования микроконтроллера
- •2.2. Система команд
- •2.3. Типы данных
- •2.4. Способы адресации
- •3. Карта памяти микроконтроллера i80c196kc
- •3.1. Основные разделы памяти
- •3.1.1. Разделы внешней памяти
- •3.1.2. Порты 3 и 4
- •3.1.3. Программная память и Память Специального назначения
- •3.1.3.1. Управление доступом к внутренней или внешней памяти
- •3.1.3.2. Память для программ
- •3.1.3.3. Память специального назначения
- •3.1.4. Регистровый Файл(Register File)
- •3.1.4.1. Указатель Вершины стека (sp)
- •3.1.4.2 Регистры Специальных Функций
- •3.2. Работа через горизонтальное окно
- •3.2.1. Выбор hWindow
- •3.3.1. Выбор vWindow
- •3.3.2. Работа с вертикальными окнами и Способы Адресации
- •4. Прерывания
- •4.1 Обработка Прерывания
- •4.2. Описание работы Контроллера Прерывания
- •4.3. Описание работы Периферийной Станции Транзакций(pts)
- •4.4. Приоритеты Прерывания
- •4.5. Изменение Приоритетов Прерывания
- •4.6. Программы Обработки прерывания
- •4.7. Распознавание Прерываний
- •4.8. Время Ожидания Прерывания
- •4.9. Специальные Прерывания
- •4.9.1. Прерывание по Невыполняемому Коду
- •4.9.2. Прерывание по Ловушке Программного
- •4.9.3. Немаскируемое Прерывание
- •4.10. Программирование Прерываний
- •4.11. Предоставление pts Прерывания
- •4.12. Предоставление Стандартных Прерываний
- •4.13. Выбор Источников Прерывания
- •4.14. Регистры Маскирования Прерываний
- •4.15. Регистры Захвата Прерывания
- •4.16. Pts Прерывания
- •4.16.1. Управляющие Блоки pts
- •4.16.1.1. Регистр ptscount
- •4.16.1.2. Прерывание End-of-pts
- •4.16.1.3. Регистр ptscon
- •4.16.2. Краткий Обзор Режима Одиночной
- •4.16.2.1. Пример Режима Одиночной Передачи
- •4.16.3. Краткий Обзор Режима Поблочной
- •4.16.3.1. Пример Режима Поблочной Пересылки
- •4.16.4. Краткий Обзор Режима Сканирования
- •4.16.4.1. Pts Циклы в Режиме Сканирования ацп
- •11Eh ad_result для ach0
- •102H ad_result для acHx
- •100H ad_command для acHx
- •4.16.5. Hsi. Краткий Обзор Режима
- •4.16.5.1. Пример Режима hsi
- •4.16.6. Hso. Краткий Обзор Режима
- •4.16.6.1. Пример Режима hso
- •6. Парраллельные порты ввода - вывода
- •6.1. Краткий Функциональный Обзор
- •6.2.Контакты Порта Ввода
- •6.3. Контакты Порта Вывода
- •6.4. Контакты квази-двунаправленного порта
- •6.5 Контакты Двунаправленного Порта с открытым стоком
- •6.6.Программирование Портов ввода-вывода
- •6.7.Организация Портов Ввода
- •6.7.1. Порт 0
- •6.8. Организация Портов Вывода
- •6.9. Порт 1
- •6.10. Порт 2
- •6.11. Доступ к Порту 3 и Порту 4
- •6.11.1. Порт 3 и Порт 4
- •6.12. Особенности работы с квази - двунаправленными портами
3.1.4.2 Регистры Специальных Функций
Ячейки 00H-17H обеспечивают доступ к Регистрам Специальных Функций ЦП(SFRs) через три горизонтальных окна
( HWindow 0, 1, и 15 ). Через SFRs RALU может непосредственно управлять всеми периферийными модулями, за исключением Портов 3 и 4 .
При использовании SFR в качестве базового или индексного регистра для косвенных или индексных операций, следует сознавать, что содержимое SFRs не всегда предсказуемо. Внешние события могут изменять содержание SFRs,
а некоторые SFRs очищаются при чтении.
Функции большинства SFRs изменяются в зависимости от того читают ли из них или записывают в них. По этой причине, никогда не используйте SFR как операнд в командах типа чтение-модификация-запись ( например,XORB AD_RESULT).
Не используйте зарезервированные SFRs; запишите в них нули или оставьте их в состоянии по умолчанию. При чтении, зарезервированные биты и SFRs будут возвращать неопределенные значения.
3.2. Работа через горизонтальное окно
8XC196KC использует горизонтальную схему работы с окнами которая меняет три 24-байтовых блока памяти
( HWindow 0, 1, и 15 ) внутри младших 24 байт Нижнего Регистрового Файла ( см. рис.5 ). Каждое HWindow обеспечивает доступ для чтения или доступ для записи к уникальной комбинации SFRs. Некоторые регистры доступны как одиночный байт; другие доступны как слово ( два байта ).
Некоторые регистры, типа Регистра Выбора Окна
( WSR,14H ), являются доступными во всех трех HWindows. Другие могут быть записываемы в одном HWindow,а читаемы в другом.
Для работы с регистрами через Hwindow используются команды с прямой адресацией.
Рис.5 Горизонтальные окна
3.2.1. Выбор hWindow
Регистр Выбора Окна ( Window Select Register; WSR,14H ) обеспечивает доступ к HWindows и VWindows (см. Работа с Вертикальным окном ). Чтобы выбрать HWindow, запишите номер желаемого окна в WSR.0-WSR.3 и очиcтите WSR.4-WSR.6. Доступны только HWindows 0, 1, и 15 .
Все другие HWindows зарезервированы. Ниже приведено содержимое WSR для выбора каждого HWindow.
Выбор HWindow
HWindow Содержимое WSR
0 X000 0000B = 00H
1 X000 0001B = 01H
15 X000 1111B = 0FH
3.2.1. HWindow 0
HWindow 0 - окно по умолчанию. Оно обеспечивает доступ для чтения к 19 регистрам и доступ для записи к 21 регистру . Некоторые регистры ( например, INT_MASK1 ) могут и читаться и записываться внутри HWindow 0. Другие ( например, IOS1 ) могут или читаться или записываться.
Для таких регистров, выберите HWindow 15 чтобы выполнить
обе функции .

3.2.2. HWindow 1
Hwindow1 обеспечивает чтение/запись для 12 регистров. Некоторые регистры также доступны и в HWindow 0 и
HWindow 15.

3.2.3 HWindow 15
HWindow 15 обеспечивает доступ к тем же самым регистрам что и HWindow 0, кроме байтов 0ch-10h. Те регистры, которые являются только для чтения в HWindow 0 становятся только для записи в HWindow 15, и наоборот.

3.3. Работа c Вертикальнами окнами (VWindows)
Для обращения к регистрам, адрес которых составляет 2 байта (0100H-01FFH), должны использоваться команды с косвенной или индексной адресацией.
Вместе с тем, у микроконтроллеров I80C196KC имеется возможность обращаться по адресам 0100H-01FFH, используя прямую регистровую адресацию, что позволяет сократить объем памяти для хранения команд и время их выполнения.
Обращение по адресу, представленному двумя байтами, с использованием прямой регистровой адресации осуществляется через “вертикальное окно” .
Работа с вертикальными окнами отображает разделы верхнего Регистрового Файла в верхние области Нижнего Регистрового Файла , в 32-, 64-, или 128-байтовые области, известные как VWindows. 8XC196KC имеет шестнадцать 32-байтовых VWindows, восемь 64-байтовых VWindows, и четыре 128-байтовых Vwindows.

Рис.6 Пример 128-байтового Vwindow .
