- •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. Особенности работы с квази - двунаправленными портами
11Eh ad_result для ach0
11CH 0000H ( фиктивная команда )
11AH AD_RESULT для ACH1
118H AD_COMMAND для ACH0
116H AD_RESULT для ACH2
114H AD_COMMAND для ACH1
112H AD_RESULT для ACH3
110H AD_COMMAND для ACH2
10EH AD_RESULT для ACH4
10CH AD_COMMAND для ACH3
10AH AD_RESULT для ACH5
108H AD_COMMAND для ACH4
106H AD_RESULT для ACH6
104H AD_COMMAND для ACH5
102H AD_RESULT для ACH7
100H AD_COMMAND для ACH6
Рис.17 PTSCB для Режима Сканирования АЦП( Пример 1 )
Пример 2 Режима Сканирования АЦП
На рис.18 приведен пример PTSCB для режима сканирования из 10 PTS циклов,при этом каждый читает один канал АЦП и сохраняет результат в одной ячейке ( 102H ). UPDT очищен, поэтому первоначальное содержимое PTS_S/D после цикла восстанавливается.
Таблица команд / данных приведена в таблице 8.
Рис.18 PTSCB для режима сканирования АЦП( Пример 2 )
Таблица 7. Таблица команд/данных ( Пример 2 )
Адрес Содержание
102H ad_result для acHx
100H ad_command для acHx
Программное Обеспечение начинает преобразование на Канале x. Первый цикл PTS начинается, когда заканчивается преобразование и генерируется прерывание о Завершении A/Ц Преобразования. PTS сохраняет результат преобразования в ячейке 102H и затем копирует команду преобразования из ячейки 100H в регистр AD_COMMAND. CPU может обрабатывать или перемещать результирующие данные преобразования из таблицы перед тем, как завершится следующее преобразование и начнется новый цикл PTS . Когда начинается следующий цикл, PTS_S/D снова указывает на 100H. Результаты преобразования записываются в ячейку 102H и команда из ячейки 100H выполняется снова.
4.16.5. Hsi. Краткий Обзор Режима
В HSI режиме, PTS сбрасывает содержимое HSI FIFO в таблицу во внутренней или во внешней памяти. Регистр PTSDST содержит адрес таблицы.
Любое HSI прерывание может быть использовано для вызова цикла PTS. Регистр PTSBLOCK определяет сколько HSI FIFO блоков ( n = 1-7 ) будет пересылаться в таблицу в памяти, в течение каждого цикла PTS.
Данные FIFO поступают через чтение сначала HSI_STATUS регистра, а затем чтение регистра HSI_TIME. Регистр HSI_STATUS содержит биты состояния события и текущие состояния HSI штырьков. Регистр HSI_TIME содержит время, выраженное в значении счета Таймера 1, в которое произошло HSI событие.
Каждая PTS передача перемещает HSI_STATUS и HSI_TIME регистры в последовательные слова в памяти ( см. рис.19 ). Установка бита UPDT(PTSCON.3) заставляет регистр PTSDST сохранять своё последнее значение в конце цикла PTS.
Рис.19 Таблица HSI Режима PTS
4.16.5.1. Пример Режима hsi
PTSCB на рис.20 определяет десять PTS циклов, каждый из которых будет передавать семь блоков HSI_STATUS/ HSI_TIME данных из HSI FIFO в таблицу, начинающуюся в ячейке памяти 100H. Адрес приемника увеличивается после каждой передачи и модифицируется новым значением после каждого цикла.
Рис.20 PTSCB. HSI Режим
4.16.6. Hso. Краткий Обзор Режима
В HSO режиме, PTS загружает HSO CAM файл из таблицы размещенной или во внутренней или во внешней памяти ( см. рис.21 ). HSO режим подобен HSI режиму, за исключением того, что PTS перемещает данные из таблицы в HSO CAM
файл , а не наоборот. Регистр PTSSRC содержит адрес таблицы.
Рис.21 Таблица HSO Режима PTS
Каждый CAM регистр - 24 бита шириной. Шестнадцать битов идентифицируют время, когда должно происходить действие, относительно Таймера 1 или Таймера 2. Оставшиеся 8 битов определяют действие. Загрузите эту информацию в таблицу в памяти в формате, показанном на рис.21 .
Каждый PTS цикл передаёт данные в HSO_COMMAND и HSO_TIME регистры модуля HSO. Данные пересылаются из регистров через буферный регистр HSO. Команда задерживается в буферном регистре до момента освобождения одного из регистров CAM, после чего команда записывается в CAM.
Любое HSO прерывание может использоваться, для того, чтобы вызвать цикл PTS. Регистр PTSBLOCK определяет сколько HSO входов ( n = 1-8 ) будет перемещаться из таблицы памяти в течение каждого цикла PTS. Установка бита UPDT(PTSCON.3) заставляет регистр PTSSRC сохранять своё последнее значение в конце цикла PTS.