АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Dw START

Читайте также:
  1. Boiler Starting Procedure - Checks and Techniques
  2. By this time my patience was exhausted, because I was in a hurry to start taking my engine apart. So I tossed off this drawing. And I threw out an explanation with it.
  3. Re-Start.
  4. Start-up
  5. Startup-config tftp copy
  6. The new configuration will be loaded if the switch is restarted.
  7. War Starts
  8. Whistle Stop Pig Club Started
  9. Отмена операции присваивания и команда restart
  10. Событие OLEStartDrag()
  11. Стартапы (startup): возможности и опасности

Rti

; Определить вектора прерывания и начального запуска

Org vector irq

Dw INT IRQ

Org vector tima

Dw INT TIM1

Org vector reset

dw START

 

Аппаратные средства прерывания МК семейства НС08 имеют следующие особенности:

• выполнение команды возврата из прерывания RTI автоматически разрешает преры­вания;

• выполнение команды возврата из прерывания RTI не блокирует прерывания на пе­риод выполнения следующей команды; вход в новую подпрограмму возможен сразу после выполнения команды RTI.

Дело в том, что при входе в подпрограмму прерывания бит глобальной маски преры­вания I обязательно равен 0. Иначе прерывания были бы запрещены и говорить о под­программе прерывания не имело бы смысла. Содержимое регистра признаков, в кото­ром располагается маска I, сохраняется в стеке при входе в подпрограмму прерывания. Следовательно, при восстановлении регистра признаков из стека по команде RTI бит глобальной маски прерывания установится в «0», и прерывания будут разрешены.

 

Все источники прерываний МК семейства НС08 можно разделить на три группы:

1)немаскируемое программное прерывание по команде SWI;

2)маскируемые внешние прерывания по входу IRQ и по некоторому числу линий
портов ввода/вывода, которые принадлежат модулю сканирования клавиатуры КВI08;

3)маскируемые прерывания от периферийных модулей.

Механизм программного прерывания позволяет обратиться к какой-либо подпрограмме прерывания по ходу выполнения прикладной программы и воспользоваться подпрограм­мой прерывания как обычной подпрограммой. Наличие в системе команд инструкции программного прерывания SWI предоставляет такую возможность. Эта команда автома­тически загружает в стек регистры CCR, АСС, X и увеличенное на единицу содержимое счетчика команд PC, а затем осуществляет переход по адресу, который указан в ячейках памяти $FFFC и $FFFD сегмента векторов прерывания. Этот адрес может быть началь­ным адресом подпрограммы прерывания или же находиться внутри нее. При выходе из подпрограммы прерывания команда RTI восстановит содержимое регистров централь­ного процессора и МК продолжит выполнение прикладной программы с команды, кото­рая была следующей за командой SWI. Таким образом, программисту предоставляется возможность обращения в произвольный момент времени к фрагменту подпрограммы прерывания, который начинается с произвольно выбранной инструкции внутри подпрог­раммы прерывания, но заканчивается обязательно командой RTI.

Число линий МК MC68HC908GP32 для приема внешних запросов на прерывания ва-рьируется от одной линии (вход IRQ) до 9 линий. Обслуживание запросов по входу IRQ осуществляет модуль внешних прерываний IRQ08. Активный уровень сигнала запроса на входе IRQ - низкий логический, длительность сигнала запроса должна составлять не менее t,UH=50 не. Дополнительные входы внешних запросов могут быть получены путем.соответствующей инициализации модуля сканирования клавиатуры KBI08, который по­зволяет настроить некоторое число линий ввода/вывода МК для приема внешних запро­сов на прерывание.

Все прерывания, кроме программного по команде SWI, могут быть разрешены или запрещены сбросом или установкой глобальной маски прерывания I в регистре при­знаков CCR:

cli; команда сбрасывает в «О» бит I, т. е. разрешает прерывания.

sei; команда устанавливает бит I в «1», т. е. запрещает прерывания.

Кроме того, каждому источнику прерывания, за исключением программного, постав­лена в соответствие индивидуальная маска прерываний, которая расположена в одном из регистров специальных функций соответствующего периферийного модуля.

Подсистема прерываний МК семейства НС08 имеет жесткое распределение приори­тетов, которое не может быть скорректировано программными настройками. Источники прерываний, уровни их приоритетов, абсолютные адреса векторов прерываний для МК MC68HC908GP32 приведены в таблице 1.1

Таблица 1.1

Таблица векторов прерывания МК МС68HC908GP32

 

 

  Источник события прерывания или сброса А Адрес ячейки памяти вектора   Бит регистра ISRi Флаг - источник запроса   Условия маскирования   Приоритет    
  Вектор прерывания по запросу модуля базового таймера ТВМ08   $FFDC SFFDD   IF16   TBIF   Глобальная маска I в регистре CCR. Маска AIEN в регис­тре ADSCR.   Низший   высший высший
  Вектор прерывания по запросу модуля аналого-цифрового преобразователя ADC08   SFFDE $FFDF   IF15   COCO   Глобальная маска I в регистре CCR. Маска AIEN в регис­тре ADSCR.
  Вектор прерывания по запросу модуля сканирования клави­атуры KBI08   $FFEO $FFE1   IF14   IMASKK   Глобальная маска I в регистре CCR. Маска IMASKK в регистре KBSCR.
  Вектор прерывания по запросу передат­чика модуля после­довательного асин­хронного интерфейса SCI   $FFE2 $FFE3   IF13   ТС SCTE   Глобальная маска I в регистре CCR. Маски SCTIE и TCIE в регистре SCC2.
  Вектор прерывания по запросу приемника модуля последовате­льного асинхронного интерфейса SCI   $FFE4 $FFE5   IF12   SCRFIDLE   Глобальная маска I в регистре CCR. Маски SCRIE и ILIE в регистре SCC2.
  Вектор прерывания по событию ошибки обмена в модуле пос­ледовательного асин­хронного интерфейса SCI     $FFF6 $FFF7   IF11       ORNFFEPE       Глобальная маска I в регистре CCR. Маски ORIE, NEIE, FEIE, PEIE в регист­ре SCC3.  
  Вектор прерывания по запросу передатчи­ка модуля последова­тельного синхронного интерфейса SPI     SFFE8 SFFE9   IF10   SPTE     Глобальная маска I в регистре CCR. Маска SPTIE в реги­стре SPCR.
  Вектор прерывания по запросу приемника модуля последовате­льного синхронного интерфейса SPI     $FFEA $FFEB   IF9     SPRFOVRF-MODF   Глобальная маска I в регистре CCR. Маски SPRIE в реги­стре SPCR и ERRIE в регистре SPSCR.    
  Источник события прерывания или сброса Адрес ячейки памяти вектора   Бит регистра ISRi Флаг - источник запроса   Условия маскирования   Приоритет
  Вектор прерывания по переполнению сче­тчика временной базы модуля процессора событий TIM2     $FFEC $FFED   IF8     TOF   Глобальная маска в регистре CCR. Маска TOIE в регис­тре T2SC.     Низший  
 
 

 


Высший

 

  Вектор прерывания по событию канала 1 модуля процессора событий TIM2     $FFEE $FFEF IF7   CH1F     Глобальная маска I в регистре CCR. Маска СН1 IE в реги­стре T2SC1.  
  Вектор прерывания по событию канала О модуля процессора событий TIM2     SFFF0 $FFF1   IF6     CHOF     Глобальная маска I в регистре CCR. Маска CH0IE в реги­стре T2SC0.  
  Вектор прерывания по переполнению сче­тчика временной базы модуля процессора событий TIM 1     $FFF2 $FFF3   IF5     TOF     Глобальная маска I в регистре CCR. Маска TOIE в реги­стре T1SC.
  Вектор прерывания по событию канала модуля процессора событий TIM1     $FFF4 $FFF5     IF4     CH1F   Глобальная маска I в регистре CCR. Маска СН1 IE в реги­стре T1SC1.  
  Вектор прерывания по событию канала О модуля процессора событий TIM 1     $FFF6 $FFF7     IF3     CHOF   Глобальная маска I в регистре CCR. Маска СНСНЕ  
  Вектор прерывания по запросу модуля формирования такто­вой частоты CGM08   $FFF8 $FFF9 IF2   PLLF   Глобальная маска I в регистре CCR. Маска PLLIE в регистре PCTL.
Вектор прерывания по входу IRQ $FFFA $FFFB IF1 IMASK1 Глобальная маска I в регистре CCR. Маска IMASK1 в ре­гистре INTSCR.
Вектор программного прерывания по коман­де SWI $FFFC $FFFD _ _ Немаскируемое
Вектор сброса $FFFE $FFFF _ _ Немаскируемое
               

 

2. ПОРТЫ ВВОДА/ВЫВОДА

 

МК MC68HC908GP32 обладает 33 линиями ввода/вывода данных. Эти линии объеди­нены в 8-разрядные параллельные порты, которые именуют в соответствии с буквами латинского алфавита: Port A, Port В, Port С, Port D, Port H.

Все линии ввода/вывода МК MC68HC908GP32 -двунаправленные, т. е. могут исполь­зоваться разработчиком как для ввода данных в МК, так и для вывода логических сигна­лов. Направление передачи линий ввода/вывода настраивается программно путем за­писи управляющих слов в регистры специальных функций. Возможно изменение направ­ления передачи в ходе выполнения программы посредством перепрограммирования этих регистров. Сигнал сброса устанавливает все линии в режим ввода. Направление пере­дачи каждой линии может быть выбрано разработчиком произвольно, независимо от других линий, принадлежащих к одному и тому же порту ввода/вывода.

Большинство линий ввода/вывода обладают так называемой альтернативной функ­цией. Эти линии связаны со встроенными в МК периферийными устройствами, они обес­печивают связь периферийных модулей с «внешним миром». Так, линии порта Port В используются для подключения к встроенному АЦП измеряемых напряжений, линии дру­гих портов служат линиями ввода/вывода последовательных приемопередатчиков. Если соответствующий периферийный модуль МК не используется, то его выводы можно за­действовать как обычные линии ввода/вывода. Распределение линий ввода/вывода по портам, спецификация линий альтернативных функций для МК MC68HC908GP32 приве­дены в табл. 2.1.

По способу схемного решения выходного драйвера различают два типа линий ввода/ вывода:

1)линии с обычной схемотехникой двунаправленной линии ввода/вывода;

2)двунаправленные линии с программно-подключаемыми в режиме ввода подтяги­
вающими резисторами RPULLUP (см. рис. 4.5).

Если порт имеет «обычную» схемотехнику, то для его обслуживания предусмотрены два типа регистров:

1) РТх - регистр данных порта х, где х - имя порта ввода/вывода;

2) DDRx - регистр направления передачи порта х.

Если порт имеет схемотехнику с программно-подключаемым «подтягивающим» рези­стором, то для обслуживания порта предусмотрены три регистра:

1)РТх - регистр данных порта х;

2)DDRx - регистр направления передачи порта х;

3)PTxPUE - регистр входного сопротивления порта х.

Так, порт PortA микроконтроллера MC68HC908GP32 обслуживается регистрами РТА, DDRA и PTAPUE. В табл. 2.2, 2.3, и 2.4 приведен формат регистров специальных функций РТх, DDRx и PTxPUE. Заметим, что формат регистров РТх и DDRx для портов с различной схемотехникой полностью совпадает.

Таблица 2.1 Спецификация линий ввода/вывода МК MC68HC908GP32

 

Имя порта Число линий Схемотехника линий Альтернативная функция
PortA   Двунаправленные, с возможностью прог­раммного подключения резистора RPULLUP 8 линий являются входами модуля сканирования клавиатуры (8 KBI)
Port В   Двунаправленные 8 линий являются аналоговы­ми входами встроенного АЦП
PortC   Двунаправленные, с возможностью прог­раммного подключения резистора RPULLUP Не имеют альтернативной функции
PortD   Двунаправленные, с возможностью прог­раммного подключения резистора RPULLUP 4 линии обслуживают модуль SPI, 2 линии - модуль TIM1 2 линии - модуль TIM2
PortE   Двунаправленные 2 линии обслуживают модуль SCI

 

 

Таблица 2.2


1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.008 сек.)