
- •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. Особенности работы с квази - двунаправленными портами
4.9. Специальные Прерывания
8XC196KC/KD поддерживает три специальных прерывания: Невыполняемый Код Операции(Unimplemented Opcode),Программная Ловушка(TRAP) и NMI. На эти прерывания не воздействует бит разрешения прерывания(I) (PSW.1), и они не могут маскироваться. Все эти прерывания обслуживаются Контроллером Прерывания; они не могут быть назначены к PTS.
Из этих трех, только NMI идет через Детектор Перехода и Приоритетный шифратор,а другие два специальных прерывания идут непосредственно для обслуживания в Контроллер Прерывания .
4.9.1. Прерывание по Невыполняемому Коду
Операции
Если CPU пытается выполнить невыполняемый код операции,происходит косвенное обращение по вектору в ячейке 2012H . Это предотвращает произвольное выполнение программ во время отказов программного обеспечения и аппаратных средств.
Вектор прерывания должен содержать начальный адрес программы обработки ошибок, которая не будет далее усугублять уже ошибочную ситуацию. Прерывание по Невыполняемому Коду Операции запрещает другие прерывания от момента подтвеждения до того, пока, не выполнится следующая команда.
4.9.2. Прерывание по Ловушке Программного
Обеспечения
Команда TRAP ( код операции 0F7H ) выполняет вызов прерывания по вектору в ячейке 2010H. Команда TRAP выполняет прерывание одиночной команды, которое используется при отладке программного обеспечения или при генерации программных прерываний. Команда TRAP запрещает подтверждение других прерываний, пока не выполнится следующая команда .
4.9.3. Немаскируемое Прерывание
Внешний вывод NMI генерирует Немаскируемое Прерывание для реализации критических подпрограмм прерывания.
NMI имеет самый высокий приоритет относительно всех располагаемых по приоритетам прерываний. Оно идет непосредственно от Детектора Перехода к Приоритетному шифратору и оттуда к программе по вектору в ячейке 203EH.
Прерывание NMI генерируется в течение Фазы 1 ( CLKOUT =0 ) и внутренне зещелкивается. Если вывод удерживается в высоком состоянии, многократные прерывания не будут происходить. Если ваша система не использует NMI прерывание,
для предотвращения ложных прерываний присоедините NMI штырек к земле . Хотя в регистре INT_MASK1 существует бит
маскирования NMI, однако, он не выполняет никакой функции; NMI разрешен и при установленом и при сброшеном бите NMI в INT_MASK1. Чтобы гарантировать совместимость с будущими изделиями(программами), всегда сбрасывайте в нуль бит маскирования NMI.
4.10. Программирование Прерываний
В табл.2 приведены программируемые регистры, которые воздействуют на работу и функции Контроллера Прерывания и PTS.
Табл.2 Регистры состояния и управления Прерываниями и PTS
Мнемоника Название и описание регистра
INT_MASK Маска Прерывания.Эти регистры разрешают/ за INT_MASK1 прещают любое маскируемое прерывание
INT_PEND Захват прерывания. Биты в этих регистрах уста INT_PEND1 навливаются аппаратными средствами и показы- вают, какое поступило прерывание
IOC1 Управление вводом/выводом.Этот регистр выби рает источник INT00, INT02, и INT07 прерыва- ний.
IOS1 Состояние ввода/вывода.Этот регистр содержит флажки, которые указывают, какое событие вы звало прерывание.
PSW Слово Состояния Процессора.Этот регистр со держит один бит, который глобально разрешает или запрещает обслуживание всех маскируемых прерываний и другой, который разрешает или запрещает PTS.
PTSRV Обслуживание PTS. Биты этого регистра устана вливаются аппаратными средствами при требо вании конца PTS прерывания.
PTSSEL Выбор PTS.Этот регистр выбирает или цикл PTS или стандартную программу обслуживания пре рывания для каждого из пятнадцати маскируе мых запросов прерывания.
Регистр PTSSEL(05H/04H,HWindow1)состоит из двух байтов. Установка бита выбирает PTS цикл, очистка - стандартную подпрограмму обработки прерывания.
После сброса PTSSEL = 0000 0000 0000 0000 B