Информатика, программирование: Адаптер паралельного обмена, Курсовая работа

СОДЕРЖАНИЕ

Введение                                                                                                   

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 Расчет надежности

Интенсивность отказов l характеризуется отношением числа изделий в единицу времени к числу изделий, продолжающих оставаться исправными к началу рассматриваемого промежутка времени:

                                                   (4.3)

где m - число изделий, отказавших за время t,

N - число исправно работающих изделий к началу промежутка времени.

Если предположить, что отказы различных элементов взаимно независимы и каждый отказ носит катастрофический характер, то есть полностью нарушают работоспособность, то интенсивность отказов устройства равна сумме интенсивностей отказов элементов, составляющих устройство:

                                                (4.4)

где li - интенсивность отказов элементов i-го типа,

ni - количество элементов i-го типа входящего в устройство.

Наработка на отказ равна:

                                                     (4.5)

Интенсивность отказов элементов следующая:

микросхемы – 0.85×10-6 (ч-1),

резисторы – 0.9×10-6 (ч-1),

конденсаторы – 1.4×10-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 Распределение памяти данных

 

1.       Прием управляющих сигналов с ISA                 PORTА – 05H    

                                                                                     РORTЕ – 09H

2.       Выдача стробов STRW0…6                               PORTC – 07H

3.       Выдача стробов SS0…6                                     PORTD – 08H

4.       Выдача стробов STRR0…7                                PORTB – 06H

5.       Программирование                                             TRISA – 85H

                                                                                     TRISB – 86H

                                                                                     TRISC – 87H

                                                                                    TRISD – 88H

                                                                                                                   TRISE – 89H

6.       Запрет прерываний портов                                                               INTCON-0BH

7.       Регистр для хранения SA0…2                            ADR – 26H

8.       Регистр для хранения D0…2                                       DATA – 27H

9.       Вспомогательный регистр                                            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    B'00000000'    ;Конфигурация портов

                     MOVWF    TRISB

                     MOVWF    TRISC

                     MOVWF    TRISD

                     MOVLW    FFH

                     MOVWF    TRISA

                     MOVWF    TRISE

                     MOVLW    B'01110000'

                     MOVWF    DATA

START        BTFSC       PORTA, 1        ;Проверка 1-го бита порта А

                     GOTO        RESET             ;Переход на метку RESET

                     BTFSS       PORTA, 0        ; Проверка 0-го бита порта А

                     GOTO        OKEY              ;Переход на метку OKEY

                     GOTO        START            ;Переход на метку START

RESET         MOVLW    B'11111111'    ;Запись в регистр 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.


СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

 

1.   Ю.В.Новиков, О.А.Калашников "Разработка устройств сопряжения". Издательство "ЭКОМ", Москва, 1998г.

2.   В.В.Скороделов "Проектирование устройств на однокристальных микроконтроллерах с RISC-архитектурой". Ч1,Ч2, Учебное пособие.


Еще из раздела Информатика, программирование:


 Это интересно
 Реклама
 Поиск рефератов
 
 Афоризм
Пренебрегать - значит недостаточно злоупотреблять.
 Гороскоп
Гороскопы
 Счётчики
bigmir)net TOP 100