- •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. Особенности работы с квази - двунаправленными портами
1.3.1. Стандартные порты ввода-вывода
8XC196KC/KD имеет пять 8-битных порта ввода-вывода.
Некоторые - только для ввода , некоторые - только для вывода, некоторые - двунаправленные, и некоторые поддерживают несколько функций.
Порт 0 - порт только для ввода, который является также аналоговым входом для АЦП.
Порт 1 - квази - двунаправленный порт. Выводы порта 1 мультиплексируются с сигналами управления шиной и двумя выводами из широтно-импульсного модулятора.
Порт 2 содержит три типа линий : квази - двунаправленные, ввода, и вывода. Некоторые функции 8XC196KC/KD совместно используют линии ввода и вывода порта 2.
Порты 3 и 4 - двунаправленные порты с открытым стоком, которые совместно используют свои выводы с шиной адреса / данных.
1.3.2. Последовательный порт ввода-вывода
Последовательный порт ввода-вывода - асинхронный/ синхронный порт, который содержит универсальный асинхронный приемник и передатчик (UART). Последовательный порт ввода-вывода имеет один синхронный режим ( Режим 0 ) и три асинхронных режима ( Режимы 1, 2 и 3 )работы. Асинхронные режимы - полнодуплексные, означающие, что они могут передавать и получать данные одновременно.
1.3.3. Быстродействующий модуль
ввода-вывода (HSIO)
Быстродействующий модуль ввода-вывода (High-Speed Input-Output; HSIO) содержит четыре индивидуальных периферийных модуля: Таймер 1, Таймер 2, быстродействующий модуль ввода (High-Speed Input;HSI), быстродействующий модуль вывода (High-Speed Output;HSO). Вместе, эти модули формируют гибкую, основанную на "таймерах/счетчиках" систему ввода-вывода.
Таймер 1 - таймер свободного доступа, который увеличивается через каждые восемь времен состояния. Он - задатчик времени для быстродействующего модуля ввода и иногда для быстродействующего модуля вывода.
Таймер 2 предназначен для счета положительных и отрицательных фронтов на его входе. Он может использоваться как задатчик времени для быстродействующего модуля вывода, как счетчик, или как дополнительный таймер.
Быстродействующий модуль ввода (HSI модуль) может записывать времена внешних событий с разрешающей способностью в 8 времен состояний. Он может контролировать четыре входа с независимо перестраиваемой конфигурацией и фиксировать значение Таймера 1, когда происходят следующие события:
- передний фронт,
- задний фронт,
- передний или задний фронт,
- каждый восьмой передний фронт.
HSI модуль может запоминать до восьми событий ввода ( значения Таймера 1 ): семь в семиуровневом стеке FIFO и одно в регистре ожидания HSI.
Быстродействующий модуль вывода (HSO модуль) может вызывать события в определенные времена, основанные на значении Таймера 1 или Таймера 2. Эти программируемые события включают: старт АЦП, сброс Таймера 2, генерация до четырех программных таймеров, установка или очистка одной или более из шести линий вывода HSO.
HSO модуль сохраняет отложенные события и соответветствующие им времена в файле согласно-адресуемой памяти (Content-Addressable Memory; CAM). Этот файл хранит до восьми команд. Каждая команда определяет время действия, характер действия, должно ли происходить прерывание, и какой задействован таймер - Таймер 1 или Таймер 2.