- •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. Карта памяти микроконтроллера i80c196kc
3.1. Основные разделы памяти
Устройство имеет 64 Килобайта адресуемого пространства памяти, наибольшее количество которого доступно для хранения как данных так и программ. Каждая ячейка памяти занимает один байт.
На рис.3 приведены основные разделы памяти.
Ниже приведены адреса памяти 8XC196KC, начальные и конечные адреса разделов в шестнадцатеричной и десятичной системе счисления.
Внешняя Память или (External Memory or I/O)
ВВОД-ВЫВОД 6000H-0FFFFH 24576-65635
Память для (Program Memory)
программ ( * ) 2080H-5FFFH 8320-24575
Память
Специального (Special Purpose Memory)
Назначения ( * ) 2000H-207FH 8192-8319
(Port 3, Port 4)
Порты 3 и 4 ( ** ) 1FFEH-1FFFH 8190-8191
(External Memory)
Внешняя Память 200H-1FFDH 512-8189
Регистровый Файл (Register File)
( включает SFRs ) 0H-1FFH 0-511
Примечания:
*). Размещается или во внутреннем OTPROM или во внешней памяти.
**). Порты 3 и 4 адресуемы только как слово.
3.1.1. Разделы внешней памяти
Верхняя часть карты памяти и раздел непосредственно выше Регистрового Файла всегда предназначены для внешней памяти или ввода-вывода. 8XC196KC может быть присоединен с помощью интерфейса к различным внешним устройствам памяти.
3.1.2. Порты 3 и 4
Порты 3 и 4 читаются и записываются как слово в ячейке памяти 1FFEH (Порт 3 - младший байт;Порт 4 - старший байт). Эти порты функционируют или как порты ввода-вывода,или как системная шина адреса / данных , или как комбинация вышеперечисленных функций, - в зависимости от значения сигнала EA# при сбросе.
3.1.3. Программная память и Память Специального назначения
Память для Программ и Память специального назначения занимают раздел памяти в 16 килобайт в 8XC196KC. Эти
разделы могут постоянно находиться или во внутреннем ПЗУ или во внешней памяти.
3.1.3.1. Управление доступом к внутренней или внешней памяти
Запрос доступа к памяти программы или к памяти специального назначения направляется или во внутреннее ПЗУ или во внешнюю память, но не к обеим сразу.
Значение сигнала Внешнего Доступа(External Access) на выводе EA# во время переднего фронта сигнала RESET# определяет тип доступа - внутренний или внешний.
Это значение защелкивается в устройстве и не может быть изменено, пока устройство не будет сброшено. Если EA# = 0, внутреннее ПЗУ недоступно и весь доступ к этому диапазону адресов направляются к внешней памяти. Если EA# = 1 -
весь доступ к этому диапазону адресов направляется к внутреннему ПЗУ.
3.1.3.2. Память для программ
Память для программ размещается в адресах 2080H-5FFFH в 8XC196KC. Когда устройство сбрасывается, CPU выбирает и затем выполняет команду из ячейки 2080H. Так как значение по умолчанию в ячейках ПЗУ - 0FFH,рекомендуется чтобы Вы записали 0FFH в неиспользуемые ячейки памяти программ.
3.1.3.3. Память специального назначения
Память Специального назначения размещается в адресах 2000H-207FH. Она содержит несколько зарезервированных ячеек памяти, векторы для Периферийной Станции Транзакции (PTS) и для стандартных прерываний,ключ защиты, и Байт Конфигурации Чипа (CCB).
Диапазон Адресов 8XC196KC
Описание подразделов HEX DEC
Зарезервированно ( должен (Reserved FFH)
содержать 0FFH ) 205EH-207FH 8286-8319
PTS Векторы(PTS Vectors) 2040H-205DH 8256-8285
Старшая часть (Upper Interrupt Vectors)
Векторов Прерываний 2030H-203FH 8240-8255
Ключ Защиты(Security Key) 2020H-202FH 8224-8239
Зарезервированно ( должен (Reserved FFH)
содержать 0FFH ) 201AH-201FH 8218-8223
Зарезервированно ( должен (Reserved 20H)
содержать 20H ) 2019H 8217
Байт конфигурации чипа (CCB)
CCB 2018H 8216
Зарезервированно ( должен (Reserved FFH)
содержать 0FFH ) 2014H-2017H 8212-8215
Младшая часть (Lower Interrupt Vectors)
Векторов Прерываний 2000H-2013H 8192-8211
Зарезервированные ячейки Памяти
Несколько ячеек памяти резервируются для тестирования или будущего использования. Программа пользователя не должна читать или записывать (из/в) эти зарезервированные ячейки памяти. Содержимое и/или функции этих ячеек могут
изменяться в будущем, поэтому программное обеспечение, которое использует зарезервированные ячейки может функционировать не правильно.
Когда программируется OTPROM, всегда записывайте 20H в зарезервированный адрес 2019H и 0FFH во все другие зарезервированные адреса.
Векторы Прерываний
Старшие и младшие Векторы Прерываний содержат адреса программ обработки прерываний. Вектора Периферийной Станции Транзакции (PTS) содержат адреса управляющих блоков PTS. См. Главу 4, “Прерывания”, для большего количества информации.
Ключ Защиты
Ключ защиты защищает 8XC196KC от несанкционированного чтения и записи OTPROM. Если биты блокировки защиты в Регистре Конфигурации Чипа ( CCR.6 и CCR.7 ) очищены, каждый байт 16-байтового программируемого кода защиты сравнивается с соответствующим байтом во внешней памяти. Если внешние данные не соответствуют ключу защиты, устройство не входит в запрашиваемый режим программирования.
Байт Конфигурации Чипа
Байт Конфигурации Чипа (CCB) - первый байт, выбираемый из памяти после сброса устройства.Сброс загружает CCB во внутренний регистр, называемый Регистром Конфигурации Чипа (CCR). CCR управляет защитой внутренней памяти,
внутренним РЕЖИМОМ ГОТОВНОСТИ, сигналами управления шиной, опциями разрядности шины и Powerdown режимом.