1
СОДЕРЖАНИЕ
Введение
1 Выбор и обозначение основных технических решений
1.1 Связь проектируемого устройства с IBM PC
1.2 Особенности магистрали ISA
1.3 Связь проектируемого устройства с внешними устройствами
1.4 Общая структурная схема
1.5 Возможные варианты структурных схем и их сравнительный анализ
1.6 Обоснование выбора структурной схемы
1.7 Обоснование выбора типа ОМК
2 Структурная схема устройства и ее описание
2.1 Структурная схема.
2.1.1 Назначение отдельных функциональных блоков.
2.1.1.1 Селектор адреса
2.1.1.2. Буфер данных
2.1.1.3 Блок CPU.
3 Разработка принципиальной схемы устройства
3.1 Блок регистров
3.2 Блок приема данных (от ВУ)
3.3 Блок прерываний
3.4 Блок сопроводительных стробов
4 Расчет основных параметров и характеристик
4.1 Расчет потребляемых токов
4.2 Расчет потребляемой мощности
4.3 Расчет надежности
5 Разработка и отладка рабочей программы МКУ
5.1 Блок - схема алгоритма и его описание
5.2 Структура программы
5.3 Распределение памяти данных
5.4 Текст программы
Заключение
Список используемой литературы
ВВЕДЕНИЕ
Однокристальные микроконтроллеры (ОМК) позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем. Они представляют собой, по сути, специализированные однокристальные микроЭВМ, содержащие для связи с внешней средой встроенные периферийные узлы и устройства, набор которых во многом определяет их функциональные возможности и области применения.
Они стали сегодня одним из самых распространенных элементов программируемой логики. Более двух третей мирового рынка микропроцессорных средств в настоящее время составляют именно однокристальные микроконтроллеры.
В структуру ОМК семейства PIC заложено много различных функциональных особенностей, делающих их самыми высокопроизводительными, микропотребляющими, помехозащищенными, программируемыми пользователем 8-ми битными микроконтроллерами. Благодаря этим особенностям ОМК семейства PIC могут обрабатывать аппаратно-программным способом как дискретные, так и аналоговые сигналы, а также формировать различного рода управляющие сигналы, а также осуществлять связь между собой и ЭВМ, находящейся на более высоком иерархическом уровне в системе.
Существует два принципиально разных подхода к проектированию цифровых устройств: использование принципа схемной логики или использование принципа программируемой логики.
Следует иметь в виду, что наивысшее быстродействие достигается в процессорах, в которых управляющее устройство строится с использованием системной логики, а операционное устройство выполняется в виде устройства, специализированного для решения конкретной задачи.
Если в устройстве, построенном на принципе системной логики, всякое изменение или расширение выполняемых функций влечет за собой демонтаж устройства и монтаж устройства по новой схеме, то в случае МКУ благодаря использованию принципа программируемой логики такое изменение достигается заменой хранящегося в памяти программы новой программой, соответствующей новым выполняемым устройством функциям.
Такая гибкость применений вместе с другими связанными с использованием БИС достоинствами (низкой стоимостью, малыми габаритами), а также высокая точность, помехозащищенность, характерные для цифровых методов, обусловили бурное внедрение МКУ в различные сферы производства, научные исследования и бытовую технику.
1 ВЫБОР И ОБОЗНАЧЕНИЕ ОСНОВНЫХ ТЕХНИЧЕСКИХ РЕШЕНИЙ
1.1 Cвязь проектируемого устройства с IBM PC
Обмен информацией между разрабатываемым адаптером и памятью осуществляется посредством системной шины ISA (Industrial Standard Architecture).
Приемником информации является интерфейсная часть разрабатываемого устройства.
В соответствии с определением интерфейса, должна обеспечиваться информационная, электрическая и конструктивная совместимость. Информационная совместимость предполагает использование сигналов магистрали. Электрическая совместимость подразумевает согласование уровней входных, выходных и питающих напряжений и токов.
Интерфейсная часть устройства содержит в себе селектор адреса и буфер для обмена информацией с магистралью ISA.
Буферирование магистральных сигналов применяется для электрического согласования и выполняет две основные функции: электрическая развязка (для всех сигналов) и передача сигналов в нужном направлении (только для двунаправленных сигналов).
1.2 Особенности магистрали ISA
Магистраль ISA была разработана специально для персональных компьютеров типа IBM PC AT и является фактическим стандартом для всех изготовителей.
Магистраль ISA относится к демультеплексированным (то есть имеющим раздельные шины данных и адреса) 16-ти разрядным системным магистралям среднего быстродействия. Обмен осуществляется 8-ми и 16-ти разрядными данными. На магистрали реализован раздельный доступ к памяти компьютера и к устройствам ввода/вывода (для этого имеются специальные сигналы).
Максимальный объем адресуемой памяти составляет 16Мб (24 адресные линии). Максимальное адресное пространство для устройств ввода/вывода - 64 Кб (16 адресных линий), хотя практически все выпускаемые платы расширения используют только 10 адресных линий (1Кб). Магистраль поддерживает регенерацию динамической памяти, радиальные прерывания и прямой доступ к памяти. Допускается также захват магистрали.
Разъем магистрали ISA разделен на две части, что позволяет уменьшать размеры 8-ми разрядных плат расширения, а также использовать платы, разработанные для компьютеров IBM PC XT.
Следует отметить, что в магистрали ISA используется положительная логика на шинах адреса и данных, то есть единице соответствует высокий уровень напряжения, а нулю -- низкий. На магистрали присутствуют четыре напряжения питания: +5В, -5В, +12В, -12В, которые могут использоваться платами расширения.
Стандартом магистрали ISA установлены ограничения на максимальное значение тока, потребляемого каждой платой расширения (они связаны только с возможностями используемого разъема). Значения этих токов приведены в таблице 1.1.
Максимальные токи потребления платами расширения
Таблица 1.1
|
Напряжение
|
8-ми разрядная плата
|
16-ти разрядная
|
|
+5В
|
3.0 A
|
4.5 A
|
|
-5В
|
1.5 A
|
1.5 A
|
|
+12В
|
1.5 A
|
1.5 A
|
|
-12В
|
1.5 A
|
1.5 A
|
|
|
Максимальный ток потребления всеми используемыми платами расширения определяется типом источника питания данного компьютера и не стандартизирован.
При проектировании УС помимо протоколов обмена по магистрали надо учитывать также электрические характеристики сигналов. Стандарт магистрали определяет требования к входным и выходным токам приемников и источников сигнала каждой из плат расширения. Несоблюдение этих требований может нарушить функционирование всего компьютера и даже вывести его из строя.
Выходные каскады передатчиков магистральных сигналов УС должны выдавать ток низкого уровня не менее 24 мА (это относится ко всем типам выходных каскадов), а ток высокого уровня - не меньше 3 мА (для выходов с тремя состояниями и ТТЛ). Входные каскады приемников магистральных сигналов должны потреблять входной ток низкого уровня не больше 0.8 мА, а входной ток высокого уровня - не больше 0.04 мА.
Кроме этого необходимо учитывать, что максимальная длина печатного проводника от контакта магистрального разъема до вывода микросхемы не должна превышать 65 мм, а максимальная емкость относительно земли по каждому контакту магистрального разъема не должна быть больше 20 пФ.
К некоторым линиям магистрали подключены нагрузочные резисторы, идущие на шину питания +5В. К линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW, -I/O CH CK подключены резисторы 4.7 кОм, к линиям -I/O CS 16, -MEM CS 16, -REFRESH, -MASTER, -OWS -- 300 Ом, а к линиям I/O CH RDY - 1 кОм. Кроме того, к некоторым линиям магистрали подключены последовательные резисторы: к линиям -IOR, -IOW, -MEMR, -MEMW,-SMEMR, -SMEMW и OSC - резисторы номиналом 22 Ом, а к линии SYSCLK - 27 Ом.
1.3 Связь проектируемого устройства с внешними устройствами
Связь проектируемого устройства с внешними устройствами осуществляется с помощью операционной части проектируемого устройства. Операционная часть выполняет прием данных от внешних устройств и передачу донных во внешние устройства с помощью буферных элементов.
1.4 Общая структурная схема
На основе выше изложенного предлагается следующая общая структурная схема (рис. 1.1).
Данные из ОЗУ компьютера по системной шине ISA поступают на устройство сопряжения. Интерфейсная часть осуществляет согласование УС с системной шиной. Данные из интерфейсной части устройство передаются операционной части, с помощью которой эти данные передаются во внешние устройства.
При передаче данных из внешнего устройства в ОЗУ компьютера осуществляется следующим образом: операционная часть согласует внешние устройства и устройство сопряжения. Данные через ОЧ передаются в ИЧ и посредством системной шины - в ОЗУ компьютера.
С помощью клавиатуры осуществляется запуск и останов работы драйвера устройства сопряжения. Монитор служит для отображения выводимых сообщений во время работы УС. Все данные операции производятся под управлением центрального процессора.
ЦП - центральный процессор
ОЗУ - оперативное запоминающее устройство
УС - устройство сопряжения
ИЧ - интерфейсная часть
ОЧ - операционная часть
КП - контроллер прерываний
Рис. 1.1 - Общая структурная схема
1.5 Возможные варианты структурных схем и их сравнительный анализ
Для реализации данного устройство можно предложить два варианта:
на одном кристалле;
на двух кристаллах.
Вариант структурной схемы устройства на одном кристалле приведен на рисунке 1.2.
СА - селектор адреса
БД - буфер данных
WR - блок сопроводительных стробов
БР - блок регистров
БПД - блок приема данных
INT - блок обработки прерываний
Рис. 1.2 - Структурная схема устройства на одном кристалле
Вариант структурной схемы устройства на двух кристаллах приведен на рисунке 1.3.
СА - селектор адреса
БД - буфер данных
БР - блок регистров
БПД - блок приема данных
Рис. 1.3 - Структурная схема устройства на двух кристаллах
Алгоритмы работы микропроцессоров, согласно структурной схемы,
Начало
Опрос
RESET
да RESET = "1"
нет
Выдать SS=
"1111111" Опрос Ок!
нет Ok! = "1"
да
Опрос
IOW
нет IOW = "0"
да
Читать
SA0…SA2
да
="111"
нет
Преобразов. Выдать
2поз. STRW7
Выдать Задержка
STRW0…6
Выдать Читать
WR0…6 № регистра
Сбросить Преобразов.
WR0…6 2поз.
Выдать
SS0…SS6
да Питание
вкл?
нет
Конец
Рис. 1.4 - Схема алгоритма работы CPU1
Начало
Опрос
RESET
да RESET ="1"
нет
Выдать SS=
"1111111" Опрос INT
да INT ="1"
нет
Выдать Опрос
IRQ Ок!
нет Ok! = "1"
да
Опрос
STRW7
да
STRW7 ="0"
нет
Опрос Читать
IOR D0…D7
нет
Определить
да № регистра
Читать
SA0…SA2
Выдать
да № регистра
="111"
нет
Преобразов. Читать
2поз. INT
Выдать Выдать
STRR0…6 D0…D7
да Питание Сбросить
вкл? STRR0…6
нет
Конец Рис. 1.5 - Схема алгоритма работы CPU2
Для сравнения этих двух структурных схем приведена таблица 1.2, в которой указаны параметры устройства, реализованного различными вариантами:
на жесткой логике (см. бакалаврскую работу);
на одном кристалле;
на двух кристаллах.
Сравнительная таблица вариантов реализации устройства
Таблица 1.2
|
Вариант
реализации
|
Кол - во
корпусов
|
Скорость выдачи данных
|
Потребляемая мощность, Вт
|
Стоимость деталей, грн.
|
|
Жесткая логика
|
27
|
50нс
|
2,52
|
13,30
|
|
Один кристалл
|
24
|
>200нс
|
2,33
|
23,8
|
|
Два кристалла
|
21
|
>200нс
|
2,25
|
36,5
|
|
|
1.6 Обоснование выбора структурной схемы
Для реализации устройства выберем структурную схему на одном кристалле, так как отсутствует взаимосвязь ОМК, что упрощает написание программы; скорость выдачи данных, как у первого варианта, так и у второго >200нс; стоимость деталей меньше.
1.7 Обоснование выбора типа ОМК
Для реализации данного устройства больше всего подходит микроконтроллер типа PIC16C64, так как имеет не высокую стоимость и большое число портов ввода/вывода (33). На этом микроконтроллере и будет разрабатываться устройство.
2 СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА И ЕЕ ОПИСАНИЕ
2.1 Структурная схема.
После обоснования выбора структурной схемы устройства останавливаемся на схеме с одним кристаллом. Структурная схема приведена на рисунке 2.1.
Рис. 2.1 - Выбранная структурная схема устройства
2.1.1 Назначение отдельных функциональных блоков.
2.1.1.1 Селектор адреса
Основной интерфейсной функцией, выполняемой УС, работающем в режиме программного обмена, является селектирование или дешефрирование адреса. Эту функцию выполняет узел, называемый селектором адреса, который должен выработать сигналы, соответствующие выставлению на шине адреса магистрали кода адреса, принадлежащего данному УС или одного из зоны адресов данного УС.
Самое простое решение при построении селектора адреса использование только микросхем логических элементов. Основным достоинством такого подхода является высокое быстродействие (задержка не превышает 30нс). При использовании микросхем с малыми входными токами можно обойтись без буферов.
Но есть и недостаток этой схемы: необходимость проектирования схемы заново для каждого нового адреса, сложность организации выбора нескольких адресов.
Если необходимо иметь возможность изменять выбираемый адрес, то можно предусмотреть использование отключаемых инверторов для всех линий адреса. Тогда, подключая или отключая нужные инверторы с помощью перемычек или переключателей, получаем возможность перестраивать селектор адреса в некоторых пределах.
Рис. 2.2 - Селектор адреса с изменяемым адресом
Другой путь - применение элементов "Исключающее ИЛИ", работающих как управляемые инверторы. На рисунке 2.2 показан селектор адреса, выбирающий в зависимости от кода на шине AS, задаваемого перемычками, адреса 3CFh, 2CFh, 1CFh и так далее (всего 8 различных адресов).
2.1.1.2. Буфер данных
Для буферирования наиболее часто используются микросхемы магистральных приемников, передатчиков и приемопередатчиков, называемые буферами.
Электрическая развязка подразумевает обеспечение нужных входных и выходных токов (уровни на ISA - ТТЛ).
Передатчики должны обеспечивать большой выходной ток и высокое быстродействие. Часто они должны иметь также отключаемый выход (для шины данных), то есть иметь выход с открытым коллектором или с тремя состояниями на выходе. Это связано с необходимостью перехода устройства в пассивное состояние в случае отсутствия обращения к нему.
Передатчики часто выполняют функцию мультиплексирования данных, которые должны поступать на шину данных ISA от различных источников.
2.1.1.3 Блок CPU.
Блок содержит однокристальный микроконтроллер, который выполняет функции выработки внутренних управляющих стробов. Применен ОМК типа PIC16C64.
3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ УСТРОЙСТВА
3.1 Блок регистров
Выходные сигналы формируются регистрами с тремя состояниями выхода КР1533ИР37, каждый из которых может находиться в активном или пассивном состоянии в зависимости от значения соответствующего бита в управляющем слове (блок CPU).
Управляющие сигналы операционной части используются для записи выходных данных (-STRW0...STRW6).
Схема блока регистров и блока буферов приведена на рисунке 3.1.
3.2 Блок приема данных (от ВУ)
Для чтения состояний внешних линий используются однонаправленные буфера КР1533АП5, выходы которых объединяются для мультиплексирования читаемых данных.
Управляющие сигналы операционной части используются для чтения входных данных (-STRR0...-STRR6).
Схема блока приема данных изображена на рисунке 3.2
Рис. 3.1 - Схема блока регистров
3.3 Блок прерываний
Блок обработки прерываний состоит из регистра прерываний - КР1533ИР37, буферного элемента - КР1533АП5, элемента 7ИЛИ-НЕ собранного на КР1533ЛЕ4 и КР1533ЛН1.
С каждого внешнего устройства сигнал INT поступает на вход регистра, синхронизирующий вход которого подключен к сигналу SYSCLK системной шины, что обеспечивает помехозащищенность, то есть регистрация прерываний происходит по положительному фронту сигнала SYSCLK, так как нарастание уровня происходит довольно быстро, то вероятность ложного срабатывания мала.
Рис. 3.2 - Схема блока приема данных
Так как выходы регистра соединены логическим элементом 7ИЛИ-НЕ, поэтому, если пришло хотя бы одно прерывание на выходе этого элемента появляется низкий уровень, который с помощью элементов НЕ и И-НЕ преобразуется в сигнал IRQ.
Чтение пришедших прерываний происходит при низком уровне сигнала -STRR7. Сброс прерывания осуществляется установкой в управляющем слове старшего бита в "1".
Схема блоки обработки прерываний приведена на рисунке 3.3.
3.4 Блок сопроводительных стробов
Для регистрации данных во внешних устройствах служит блок ФСС. Сигналы с блока БВУС -STRW0...-STRW6 поступают на блок ФСС. С помощью элементов 2И-НЕ (КР1533ЛА3) эти сигналы инвертируются и задерживаются на 11нс. С элементов 2И-НЕ инвертированные и задержанные сигналы через буферный элемент КР1533АП5 выводятся на внешние устройства. Таким образом положительный фронт полученных сигналов (WR0...WR6) служит для регистрации данных во внешнем устройстве, так как данные будут опережать сигналы WR0...WR6 на величину задержки элементов 2И-НЕ.
Рис. 3.3 - Блок обработки прерываний
Схема блока формирования сопровождающих стробов приведена на рисунке 3.4.
Рис. 3.4 - Схема блока сопровождающих стробов
4 РАСЧЕТ ОСНОВНЫХ ПАРАМЕТРОВ И ХАРАКТЕРИСТИК
4.1 Расчет потребляемых токов
Расчет потребляемых токов сводится к тому, что необходимо определить суммарное потребление тока всеми микросхемами, то есть:
(4.1)
где Iобщ - общий ток, потребляемый устройством,
Ik - ток, потребляемый k-той микросхемой,
m - общее число микросхем,
n - число микросхем данного типа.
Токи, потребляемые каждой микросхемой, показаны в таблице 5.1.
Потребление токов микросхемами
Таблица 5.1
|
№
п/п
|
Тип микросхемы
|
Количество
|
Ток одной микросхемы, mA
|
Общий ток,mA
|
|
1
|
КР1533АП5
|
9
|
27
|
243
|
|
2
|
КР1533ИР37
|
8
|
24
|
192
|
|
3
|
КР1533ЛА2
|
1
|
5
|
5
|
|
4
|
КР1533ЛА3
|
2
|
3
|
6
|
|
5
|
КР1533ЛЕ4
|
1
|
4
|
4
|
|
6
|
КР1533ЛН1
|
2
|
3.8
|
7.6
|
|
7
|
КР1533ЛП5
|
1
|
7
|
7
|
|
8
|
PIC16C64
|
1
|
2
|
2
|
|
ВСЕГО
|
466,6
|
|
|
Получаем общий ток потребления:
Полученные данные удовлетворяют требованиям системной магистрали ISA (п.1.2).
4.2 Расчет потребляемой мощности
Расчет потребляемой мощности сводится к тому, что необходимо определить мощность потребляемую устройством, то есть:
(4.2)
где Робщ - общая потребляемая мощность,
Uпит - напряжение питания,
Iобщ - общий ток потребления.
4.3 Расчет надежности
Интенсивность отказов характеризуется отношением числа изделий в единицу времени к числу изделий, продолжающих оставаться исправными к началу рассматриваемого промежутка времени:
(4.3)
где m - число изделий, отказавших за время t,
N - число исправно работающих изделий к началу промежутка времени.
Если предположить, что отказы различных элементов взаимно независимы и каждый отказ носит катастрофический характер, то есть полностью нарушают работоспособность, то интенсивность отказов устройства равна сумме интенсивностей отказов элементов, составляющих устройство:
(4.4)
где i - интенсивность отказов элементов i-го типа,
ni - количество элементов i-го типа входящего в устройство.
Наработка на отказ равна:
(4.5)
Интенсивность отказов элементов следующая:
микросхемы - 0.8510-6 (ч-1),
резисторы - 0.910-6 (ч-1),
конденсаторы - 1.410-6 (ч-1).
Тогда,
(ч-1)
5 РАЗРАБОТКА И ОТЛАДКА РАБОЧЕЙ ПРОГРАММЫ МКУ
5.1 Блок - схема алгоритма и его описание
Начало
Опрос
RESET
да
нет
Выдать SS=
"1111111" Опрос Ок!
нет
да
Опрос
IOW, IOR
IOR
IOW
Чтение Чтение
SA0…SA2 SA0…SA2
да
="111" Преобразов.
нет 2поз.
Чтение Преобразов.
D0…D2 2поз. Выдать
STRR0…6
Преобразов. Выдать
2поз. STRW0…6 Сбросить
STRR0…6
Выдать Сбросить
SS0…SS6 STRW0…6
да Питание
вкл?
нет
Конец
Рис. 5.1 - Схема алгоритма работы микроконтроллера
5.2 Структура программы
Микроконтроллер выполняет следующие функции:
прием управляющих сигналов с системной магистрали ISA;
преобразование двоичного кода в позиционный (для управления блоком регистров и блоком приема данных);
формирование управляющих стробов.
Программа содержит следующие участки программы:
RESET - производит перевод всех портов устройства в исходное состояние на ввод данных;
OKEY - осуществляет передачу управления подпрограммам IOW или IOR, в зависимости от состояний опрашиваемых битов;
IOW - формирование и выдача сигналов STRW0…6 и SS0…6;
IOR - формирование и выдача сигналов STRR0…6 и STRR7;
PR2INPOS - преобразование двоичного кода в позиционный.
5.3 Распределение памяти данных
Прием управляющих сигналов с ISA PORTА - 05H
РORTЕ - 09H
Выдача стробов STRW0…6 PORTC - 07H
Выдача стробов SS0…6 PORTD - 08H
Выдача стробов STRR0…7 PORTB - 06H
Программирование TRISA - 85H
TRISB - 86H
TRISC - 87H
TRISD - 88H
TRISE - 89H
Запрет прерываний портов INTCON-0BH
Регистр для хранения SA0…2 ADR - 26H
Регистр для хранения D0…2 DATA - 27H
Вспомогательный регистр RADR - 28H
5.4 Текст программы
LIST P=PIC16C64
;Секция заголовка
;Описание специальных регистров
PORTA EQU 05H ;Регистр порта A
PORTB EQU 06H ;Регистр порта B
PORTC EQU 07H ;Регистр порта C
PORTD EQU 08H ;Регистр порта D
PORTE EQU 09H ;Регистр порта E
TRISA EQU 85H ;Регистр конфигурации порта A
TRISB EQU 86H ;Регистр конфигурации порта B
TRISC EQU 87H ;Регистр конфигурации порта C
TRISD EQU 88H ;Регистр конфигурации порта D
TRISE EQU 89H ;Регистр конфигурации порта E
INTCON EQU 0BH ;Регистр управлениями
;прерываниями
PCL EQU 02H ;Регистр программного счетчика
;Описание регистров памяти переменных
ADR EQU 26H ;Регистр для хранение сигналов
;SA0…2
RADR EQU 27H ;Вспомогательный регистр
DATA EQU 28H ;Регистр для хранения D0…2
;Рабочая секция
;Начало исполняемого кода
ORG 0
GOTO BEGIN
ORG 100
BEGIN MOVLW B00000000 ;Конфигурация портов
MOVWF TRISB
MOVWF TRISC
MOVWF TRISD
MOVLW FFH
MOVWF TRISA
MOVWF TRISE
MOVLW B01110000
MOVWF DATA
START BTFSC PORTA, 1 ;Проверка 1-го бита порта А
GOTO RESET ;Переход на метку RESET
BTFSS PORTA, 0 ; Проверка 0-го бита порта А
GOTO OKEY ;Переход на метку OKEY
GOTO START ;Переход на метку START
RESET MOVLW B11111111 ;Запись в регистр W константы
MOVWF PORTD ;Установка портов устройства в
;исходное состояние
GOTO BEGIN ;Переход на метку BEGIN
OKEY BTFSS PORTA, 2 ;Проверка 2-го бита порта А
GOTO IOW ;Переход на метку IOW
BTFSS PORTA, 3 ;Проверка 3-го бита порта А
GOTO IOR ;Переход на метку IOR
GOTO START ;Переход на метку START
IOW MOVF PORTE ;Запись в регистр W данных
;из порта Е
MOVWF ADR ;Запись в регистр ADR данных
;из W
MOVF PORTA ;Запись в регистр W данных
;из порта A
ANDWF DATA, 1 ;Выделение сигналов D0…2
;и сохранение в регистре DATA
RLF DATA, 1 ;Сдвиг регистра влево
RLF DATA, 1 ;Сдвиг регистра влево
RLF DATA, 1 ;Сдвиг регистра влево
RLF DATA, 1 ;Сдвиг регистра влево
MOVF ADR ;Запись в регистр W данных
;из регистра ADR
MOVWF RADR ;Запись в регистр RADR данных ;из W
INCF RADR, 1 ;Инкремент регистра RADR
;с сохранением данных в RADR
BTFSS RADR, 3 ;Проверка 3-го бита регистра RADR
GOTO STRW ;Переход на метку STRW
MOVF DATA ;Запись в регистр W данных
;из регистра DATA
CALL PR2INPOS ;Вызов процедуры
MOVWF PORTD ;Запись в регистр PORTD данных
;из регистра W
GOTO START ;Переход на метку START
IOR MOVF PORTE ;Запись данных из регистра Е
; в W
CALL PR2INPOS ;Вызов процедуры
MOVWF PORTB ;Запись в регистр PORTB данных
;из регистра W
MOVLW FFH ;Запись константы в W
MOVWF PORTB ;Запись в регистр PORTB данных
;из регистра W
GOTO START ;Переход на метку START
STRW MOVF ADR ;Запись данных из регистра ADR
; в W
CALL PR2INPOS ;Вызов процедуры
MOVWF PORTC ;Запись в регистр PORTC данных
;из регистра W
MOVLW FFH ;Запись константы в W
MOVWF PORTB ;Запись в регистр PORTC данных
;из регистра W
GOTO START ;Переход на метку START
PR2INPOS ADDWF, 1 PCL ;Сложение W и PCL
RETLW FEH ;Возврат и загрузка W
RETLW FDH ;Возврат и загрузка W
RETLW FBH ;Возврат и загрузка W
RETLW F7H ;Возврат и загрузка W
RETLW EFH ;Возврат и загрузка W
RETLW DFH ;Возврат и загрузка W
RETLW BFH ;Возврат и загрузка W
RETLW 7FH ;Возврат и загрузка W
END ;Конец программы
ЗАКЛЮЧЕНИЕ
В данном проекте был разработан универсальный адаптер параллельного обмена. Это устройство предназначено для обмена информацией между компьютером и внешними устройствами (нестандартными).
Устройство реализовано на однокристальном микроконтроллере типа PIC16C64.
Применение в устройстве данного однокристального микроконтроллера привело к уменьшению быстродействия, но улучшились весогабаритные параметры.
Для увеличения быстродействия необходимо использовать микроконтроллер другого типа, например SX.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
Ю.В.Новиков, О.А.Калашников "Разработка устройств сопряжения". Издательство "ЭКОМ", Москва, 1998г.
В.В.Скороделов "Проектирование устройств на однокристальных микроконтроллерах с RISC-архитектурой". Ч1,Ч2, Учебное пособие.
|