Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Промышленность, производство->Реферат
Вода имеет ключевое значение в процессах появления жизни на Земле и ее постоянном поддержании, поскольку именно вода формирует климат, а еще она необх...полностью>>
Промышленность, производство->Лекция
Свиноводство — одна из важных отраслей животноводства. Дальнейший рост поголовья свиней и повышение их продуктив­ности позволят в короткий срок значит...полностью>>
Промышленность, производство->Реферат
− разработка оптимальных принципов управления деятельностью по обеспечению единства измерений;− организация и проведение фундаментальных научных иссле...полностью>>
Промышленность, производство->Отчет по практике
«Инмарко» - один из лидеров в России по производству и продаже мороженого. Мороженое «Инмарко» продается от Балтийского моря до Тихого океана. «Инмарк...полностью>>

Главная > Лабораторная работа >Промышленность, производство

Сохрани ссылку в одной из сетей:

Подсистема дискретного ввода/вывода

Цель работы: Изучить способы организации дискретного ввода/вывода, способы управления внешними устройствами, подключенными через параллельный интерфейс.

1.1.1Программа работы

  1. Изучить подсистему дискретного ввода микропроцессора.

  2. Изучить характеристики субмодулей организующих ввод, вывод и передачу дискретных сигналов.

  3. Изучить характеристики и порядок управления знакосинтезирующим индикатором.

  4. Разработать программу в соответствии с вариантом задания

  5. Провести отладку программы с подключенными внешними устройствами

  6. Составить отчет по лабораторной работе.

1.1.2Пояснения к работе

1.1.2.1Порты дискретного ввода/вывода

В составе микроконтроллера MC68HC908GP32 имеется 5 портов дискретного ввода/вывода. Каждый порт может содержать до восьми линий дискретного ввода/вывода, точное число линий можно узнать из таблицы 2.3. Каждая линия порта может индивидуально настраиваться на ввод или вывод информации ( см. Рис. 2.16)

Рис. 2.16 Организация дискретного ввода микропроцессора и порядок обработки прерывания.

Некоторые порты позволяют подключать к линиям "подтягивающие" резисторы, информация о наличии "подтягивающих" резисторов приведена в таблице 2.3. "Подтягивающие" резисторы позволяют организовать надежный ввод информации с ключей или использовать в качестве источника информации схему с открытым коллектором. Назначение и принцип действия подтягивающих резисторов иллюстрируют Рис. 2.16.2 и Рис. 2.16.2. На Рис. 2.16.2 ключ разомкнут, и ток протекает от источника напряжения к входу порта, падение напряжения на резисторе небольшое (порядка 0,1 В) и на входе МК относительно земли напряжение логической единицы. На Рис. 2.16.3 ключ замкнут и на вход МК соединен с нулевым потенциалом, что соответствует логическому нулю, а резистор ограничивает величину протекающего тока от потенциала +5 В к нулевому потенциалу.

Таблица 2.3 Имена и технические данные портов микропроцессора.

Имя

порта

Количество

линий

Подтягивающий резистор

Адреса обслуживающих регистров

Регистр данных

Регистр направлений

Регистр подтягивающих резисторов

А

8

Есть

0000

0004

000D

B

8

Нет

0001

0005

C

5

Есть

0002

0006

000E

D

6

Есть

0003

0007

000F

E

2

Нет

0008

000С

Каждый порт дискретного ввода/вывода обслуживается как минимум двумя регистрами специальных функций: portX – регистр данных порта, где X имя порта (например для порта А :portA); ddrX – регистр направления передачи данных, где X имя порта. Если в состав порта входит "подтягивающий" резистор, то добавляется еще порт управления "подтягивающими" резисторами.

Регистр данных порта содержит в себе информацию о состоянии каждой линии порта. Каждый бит этого регистра привязан к линии ввода/вывода порта.

Регистр направления передачи управляет направлением передачи информации. Если бит 0 сброшен, то линия 0 работает на прием информации, и наоборот: если бит 0 установлен, то линия работает на вывод информации. Таким образом, записав управляющее слово в регистр направления передачи можно сконфигурировать линии на ввод или вывод информации.

Регистр управления "подтягивающими" резисторами управляет подключением подтягивающих резисторов, если какой-то бит установлен, значит, к соответствующей линии порта подключен резистор.

1.1.2.2Подсистема внешних прерываний

Одним из способов передачи дискретной информации в микропроцессор является обслуживание внешних прерываний. Этот способ наиболее эффективен. Смысл обслуживаний прерываний заключается в следующем: микропроцессор выполняет какую-то задачу, назовем её основной, в момент запроса прерывания (на входе изменился логический уровень сигнала) микропроцессор отрывается от основной задачи и переходит на программу обработки прерывания, после её выполнения процессор вернется к выполнению основной программы.

Рассмотрим более подробно порядок обработки прерывания (см Рис. 2.16). Микропроцессор выполняет основную программу, которая находится во Flash памяти. В какой-то момент времени поступил запрос на прерывание ( на входе IRQ сигнал поменял уровень с высокого на низкий), в нашем случае во время выполнения команды LDA #$10. Микропроцессор выполнит эту команду до конца, и перейдет на программу обработки прерывания. Этот переход состоит из следующих действий:

  1. Сохранит адрес следующей команды за LDA в стеке. Сохранить в стеке значит записать в ОЗУ информацию регистров, адрес ОЗУ определяется указателем стека SP;

  2. Сохранит значения аккумулятора(А), регистра признаков(CCR), младшего индексного регистра (Х) в стеке;

  3. Осуществляется переход по вектору прерывания. Вектор прерывания это два байта абсолютного адреса начала программы обработки прерывания. Вектора прерываний хранятся во Flash памяти (см. Рис. 2.1).

После того как программа обработки прерываний завершила свою работу (программа должна заканчиваться командой RTI). Процессор извлечет из стека содержимое регистров, и адрес, куда он должен перейти, чтобы продолжить выполнение основной программы. Этот способ обработки прерываний называется замаскированным прерыванием, т.к. основная программа не замечает, что её выполнение прервали.

В составе микропроцессора имеется два модуля принимающие запросы на прерывания от внешних устройств это модуль IRQ08 и модуль KBI08. Кроме внешних прерываний микропроцессор может обрабатывать прерывания от внутренних устройств, например таймера, АЦП и т.п. Каждый канал прерываний имеет свой приоритет, на случай одновременного запроса прерываний несколькими устройствами или поступления запроса на прерывание в момент обработки другого прерывания. Приоритеты распределяет модуль системной интеграции SIM08, также модуль SIM08 определяет адреса векторов прерываний. Абсолютные адреса векторов прерываний, источники запросов на прерывание представлены в таблице 2.4. Источники прерываний упорядочены по возрастанию приоритета.

Таблица 2.4 Абсолютные адреса векторов прерываний

Источник события прерывания или сброса

Адрес ячейки памяти вектора

Бит регистра ISRi

Флаг - источник запроса

Условия маскирования

Вектор прерывания по запросу модуля базового таймера TBM08

$FFDC

$FFDD

IF16

TBIF

Глобальная I маска в регистре CCR.

Маска AIEN в регистре ADSCR

Вектор прерывания по запросу модуля аналого-цифрового преобразователя ADC08

$FFDE

$FFDF

IF15

COCO

Глобальная I маска в регистре CCR.

Маска AIEN в регистре ADSCR

Вектор прерывания по запросу модуля сканирования клавиатуры KBI08

$FFE0

$FFE1

IF14

IMASKK

Глобальная I маска в регистре CCR.

Маска IMASKK в регистре KBSCR

Вектор прерывания по запросу передатчика модуля последовательного асинхронного интерфейса SCI

$FFE2

$FFE3

IF13

TC

SCTE

Глобальная I маска в регистре CCR.

Маски SCTIE и TCIE в регистре SCC2

Вектор прерывания по запросу приемника модуля последовательного асинхронного интерфейса SCI

$FFE4

$FFE5

IF12

SCRF

IDLE

Глобальная I маска в регистре CCR.

Маски SCRIE и ILIE в регистре SCC2

Вектор прерывания по событию ошибки обмена в модуле последовательного асинхронного интерфейса SCI

$FFE6

$FFE7

IF11

OR

NF

FE

PE

Глобальная I маска в регистре CCR.

Маски ORIE, NEIE, FEIE, PEIE в регистре SCC3

Вектор прерывания по запросу передатчика модуля последовательного синхронного интерфейса SPI

$FFE8

$FFE9

IF10

SPTE

Глобальная маска I в регистре CCR.

Маска SPTIE в регистре SPSCR

Вектор прерывания по запросу приемника модуля последовательного синхронного интерфейса SPI

$FFEA

$FFEB

IF9

SPRF

OVRF

MODF

Глобальная маска I в регистре CCR.

Маски SPRIE в регистре SPCR и ERRIE в регистре SPSCR

Вектор прерывания по переполнению счетчика временной базы модуля процессора событий TIM2

$FFEC

$FFED

IF8

TOF

Глобальная маска I в регистре CCR.

Маска TOIE в регистре T2SC

Вектор прерывания по событию канала 1 модуля процессора событий TIM2

$FFEE

$FFEF

IF7

CH2F

Глобальная маска I в регистре CCR.

Маска CH2IE в регистре T2SC1

Вектор прерывания по событию канала 0 модуля процессора событий TIM2

$FFF0

$FFF1

IF6

CH0F

Глобальная маска I в регистре CCR.

Маска CH0IE в регистре T1SC0

Вектор прерывания по переполнению счетчика временной базы модуля процессора событий TIM1

$FFF2

$FFF3

IF5

TOF

Глобальная маска I в регистре CCR.

Маска TOIE в регистре T1SC

Вектор прерывания по событию канала 1 модуля процессора событий TIM1

$FFF4

$FFF5

IF4

CH2F

Глобальная маска I в регистре CCR.

Маска CH2IE в регистре T1SC1

Вектор прерывания по событию канала 0 модуля процессора событий TIM1

$FFF6

$FFF7

IF3

CH0F

Глобальная маска I в регистре CCR.

Маска CH0IE в регистре T1SC0

Вектор прерывания по запросу модуля формирования тактовой частоты CGM08

$FFF8

$FFF9

IF2

PLLF

Глобальная маска I в регистре CCR.

Маска PLLIE в регистре PCTL

Вектор внешнего прерывания по входу IRQ

$FFFA

$FFFB

IF1

IMASK1

Глобальная маска I в регистре CCR.

Маска IMASK1 в регистре INTSCR

Вектор программного прерывания по команде SWI

$FFFC

$FFFD

_

_

Немаскируемое

Вектор сброса

$FFFE

$FFFF

_

_

Немаскируемое



Похожие страницы:

  1. Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-

    Реферат >> Информатика
    ... МВВ - Модуль ввода-вывода МДК - Модуль дисплейного контроллера МДС - Модуль дискретных сигналов МКК ... МВВ - Модуль ввода-вывода МДК - Модуль дисплейного контроллера МДС - Модуль дискретных сигналов МКК ...
  2. Техническая диагностика интерфейсов ввода-вывода компьютерных систем

    Дипломная работа >> Информатика
    ... анализ интерфейсов ввода-вывода; - проведение технической диагностики и устранение неисправностей интерфейсов ввода-вывода; - эффективность ... проведения технической диагностики. 1. АНАЛИЗ ИНТЕРФЕЙСОВ ВВОДА-ВЫВОДА ...
  3. Модуль ввода-вывода информации системы цифровой рентгенографии

    Курсовая работа >> Коммуникации и связь
    ... аналоговые сигналы превращаются в дискретную форму с помощью аналого ... структурном признаке классификации, а подсистемы называют обеспечивающими. Таким образом, ... элементной базы модуля ввода/вывода данных. 4 Модуль ввода/вывода системы цифровой рентгенографии ...
  4. Подсистема учета готовой продукции цеха металлизации Оскольского электрометаллургического комбината

    Дипломная работа >> Промышленность, производство
    ... АММИАКА 36 ПОДСИСТЕМА АММИАЧНЫЕ НАСОСЫ 36 ПОДСИСТЕМА ЦИРКУЛЯЦИОННЫЙ РЕССИВЕР 37 ПОДСИСТЕМА КАМЕРЫ ОХЛАЖДЕНИЯ ... 1421 Модуль ввода дискретных сигналов 3G2A5-ID218 1 232 232 Модуль вывода дискретных сигналов 3G2A5 ...
  5. Автоматизированная система управления компрессорной установки (1)

    Дипломная работа >> Промышленность, производство
    ... Подсистема Ввода/Вывода Подсистема ввода-вывода DeltaV может включать в себя интерфейсные блоки для традиционного аналогового и дискретного ввода-вывода ... панели и установленным платам дискретного ввода-вывода подводится от дополнительного внешнего источника ...

Хочу больше похожих работ...

Generated in 0.0019068717956543