Разработка контроллера для манипулятора-указателя трекбола

 

СОДЕРЖАНИЕ


ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СОКРАЩЕНИЙ

ВВЕДЕНИЕ

. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ

.1 Выбор манипулятора-указателя

.1.1 Мышь

.1.2 Трекбол

.2 Выбор микропроцессора

.3 Выбор интерфейса подключения к ПК

. ТЕХНИЧЕСКИЕ ДАННЫЕ МИКРОПРОЦЕССОРА

.1 Обзор характеристик

.2 Структурная схема PIC16C84

.3 Обозначения ножек и их функциональное назначение

. ОБЗОР КОМАНД И ОБОЗНАЧЕНИЯ

. РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ И ЭЛЕКТРИЧЕСКОЙ ПРИНЦИПИАЛЬНОЙ СХЕМЫ КОНТРОЛЛЕРА ТРЕКБОЛА

.1 Разработка функциональной схемы контроллера трекбола

.2 Разработка электрической принципиальной схемы системы

.2.1 Разработка структурной схемы контроллера трекбола

.2.2 Схема датчиков движения

.2.3 Схема сброса

.2.4 Схема синхронизации

.2.5 Схема подключения к компьютеру через интерфейс RS-232

.2.6 Подача питания в контроллер

.3 Расчет электрической принципиальной схемы системы

.3.1 Расчет схемы питания

.3.2 Расчет схемы синхронизации

.3.3 Расчет схемы подключения датчика движения

. РАЗРАБОТКА АЛГОРИТМА И ПРОГРАММЫ ФУНКЦИОНИРОВАНИЯ СИСТЕМЫ

.1 Разработка алгоритма функционирования системы

.2 Разработка алгоритма программы

ВЫВОДЫ

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

ПРИЛОЖЕНИЯ


ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СОКРАЩЕНИЙ


ПК - персональный компьютер;

ЭВМ - электронная вычислительная машина;

ОМ - однокристальный микропроцессор;

МК - микропроцессор;

ОЗУ - оперативное запоминающее устройство;

ПЗУ - постоянное запоминающее устройство;

АЦП - аналого-цифровой преобразователь;

СИ - синхроимпульс.


ВВЕДЕНИЕ


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

В данной работе разрабатывается контроллер для манипулятора-указателя трекбола с двумя кнопками. Подключение этого контроллера к компьютеру осуществляется через СОМ-порт.


1.АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ


.1 Выбор манипулятора-указателя


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


1.1.1Мышь

Устройство ввода мышь передает в систему информацию о своем перемещении по плоскости и нажатию кнопок.

Достоинства: легкость и скорость перемещения курсора; удобство нажатия клавиш, так как пальцы лежат на клавишах.

Недостатки: для работы мышей нужна плоская поверхность; из-за особенностей моторики руки затруднено точное позиционирование курсора.

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


1.1.2Трекбол

Трекбол функционально представляет собой перевернутую механическую (шариковую) мышь. В его верхней части расположен свободно вращающийся массивный обрезиненный шарик, диаметром 1-10 см, передающим вращение на датчики движения.

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

Недостатки: более медленное и менее удобное перемещение курсора, чем у мышки.

По типу конструкции трекболы, как и мыши, можно разделить на два типа: оптические и классические.

У оптических трекболов шар покрыт контрастными точками, по которым видеокамера определяет передвижение курсора. Достоинством такой конструкции являются большая устойчивость к загрязнению и повышенная точность позиционирования. Основной недостаток - сложность конструкции и, следовательно, высокая цена изделия.

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

Аппаратная и программная часть трекбола классической конструкции намного проще и дешевле оптической. Поэтому для данного курсового проекта была выбрана именно классическая конструкция.

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


1.2Выбор микропроцессора


Для решения поставленной задачи был выбран однокристальный микропроцессор PIC16C84. Он относится к семейству КМОП микроконтроллеров. Микропроцессор PIC16C84 отличается тем, что имеет внутреннее 1K x 14 бит EEPROM для программ, 8-битовые данные и 64 байт EEPROM памяти данных. При этом отличаются низкой стоимостью и высокой производительностью.

Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (400 нс при 10 МГц), кроме команд перехода, которые выполняются за два цикла (800 нс). PIC16C84 имеет прерывание, срабатывающее от четырех источников, и восьмиуровневый аппаратный стек. Периферия включает в себя 8-битный таймер/счетчик с 8-битным программируемым предварительным делителем (фактически 16-битный таймер) и 13 линий двунаправленного ввода/вывода. Высокая нагрузочная способность (25 мА - максимальный втекающий ток, 20 мА - максимальный вытекающий ток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшается общая стоимость системы. Разработки на базе контроллеров PIC16C84 поддерживается ассемблером, программным симулятором, внутрисхемным эмулятором (только фирмы Microchip) и программатором.

Серия PIC16C84 подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемо-передатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.).

Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает PIC16C84 привлекательным даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.

Встроенный автомат программирования EEPROM кристалла PIC16C84 позволяет легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования.


1.3 Выбор интерфейса подключения к ПК


Для передачи данных от контролера к ПК был выбран последовательный интерфейс RS-232C, так называемый, СОМ-порт.

Последовательный интерфейс для передачи данных в одну сторону использует одну сигнальную линию, по которой информационные биты передаются друг за другом последовательно. Такой способ передачи определяет название интерфейса и порта, его реализующего (Serial Interface и Serial Port). Последовательная передача данных может осуществляться в синхронном и асинхронном режимах. При асинхронной передачи каждому байту предшествует старт-бит, сигнализирующий приемнику о начале очередной посылки, за которой следуют биты данных или бит паритета (контроля четности). Завершает посылку стоп-бит. Старт-бит (имеющий значение лог."0") следующего посланного байта может посылаться в любой момент после окончания стоп-бита. Старт-бит обеспечивает механизм синхронизации приемника по сигналу от передатчика. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты. Формат асинхронной посылки позволяют выявить возможные ошибки передачи.


Рис.1 Интерфейс RS-232C


2. Технические данные микропроцессора


.1 Обзор характеристик


  • только 35 простых команд;
  • все команды выполняются за один цикл (400ns), кроме команд перехода - 2 цикла;
  • рабочая частота: 0 Гц... 10 МГц (min 400 нс цикл команды)
  • 14 - битовые команды;
  • 8 - битовые данные;
  • - 024х14 электрически перепрограммируемой программной памяти на кристалле (EEPROM);
  • 36 х 8 регистров общего использования;
  • 15 специальных аппаратных регистров SFR;
  • 64 x 8 электрически перепрограммируемой EEPROM памяти для данных;
  • восьмиуровневый аппаратный стек;
  • прямая, косвенная и относительная адресация данных и команд;
  • четыре источника прерывания:
  • внешний вход INT
  • переполнение таймера RTCC
  • прерывание при изменении сигналов на линиях порта B
  • по завершению записи данных в память EEPROM
  • 13 линий ввода-вывода с индивидуальной настройкой;
  • втекающий/вытекающий ток для управления светодиодами
  • макс втекающий ток - 25 мА
  • макс вытекающий ток - 20 мА
  • -8-битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;
  • автоматический сброс при включении;
  • таймер включения при сбросе;
  • таймер запуска генератора;
  • Watchdog таймер WDT с собственным встроенным генератором, обеспечивающим повышенную надежность;
  • EEPROM бит секретности для защиты кода;
  • экономичный режим SLEEP;
  • выбираемые пользователем биты для установки режима возбуждения встроенного генератора:
  • RC генератор: RC
  • обычный кварцевый резонатор: XT
  • высокочастотный кварцевый резонатор: HS
  • экономичный низкочастотный кристалл: LP
  • встроенное устройство программирования EEPROM памяти программ и данных; используются только две ножки.
  • экономичная высокоскоростная КМОП EPROM технология;
  • статический принцип в архитектуре;
  • широкий диапазон напряжений питания и температур: 2.0... 6.0 В, 0...+70С
  • низкое потребление
  • мА типично для 5В, 4МГц
  • 50 мкА типично для 2В, 32КГц
  • 26 мкА типично для SLEEP режима при 2В.

2.2Структурная схема PIC16C84


Структурная схема микропроцессора PIC16C84 представлена на рис.2.


Рис. 2 Структурная схема PIC16C84


Архитектура микропроцессора PIC16C84 основана на концепции раздельных шин и областей памяти для данных и для команд (Гарвардская архитектура). Шина данных и память данных (ОЗУ) имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14-битовая ширина программной памяти обеспечивает выборку 14-битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов. В PIC16C84 программная память объемом 1К х 14 бит расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ.


2.3 Обозначения ножек и их функциональное назначение


Разводка ножек микропроцессора PIC16C84 представлена на рис.3. В таблице 1 приведены обозначения и назначения ножек.


Рис 3 Разводка выводов микроконтроллера


Таблица 1. Разводка выводов микроконтроллера

ОбозначениеНормальный режимРежим записи EEPROMRA0 - RA3Двунаправленные линии ввода/вывода. Входные уровни ТТЛ.-RA4/RTCCВход через триггер Шмитта. Ножка порта ввода/вывода с открытым стоком или вход частоты для таймера/счетчика RTCC-RB0/INTДвунаправленная линия порта ввода/вывода или внешний вход прерывания. Уровни ТТЛ.-RB1 - RB5Двунаправленные линии ввода/вывода. Уровни ТТЛ.-RB6Двунаправленные линии ввода/вывода. Уровни ТТЛ.Вход тактовой частоты для EEPROMRB7Двунаправленные линии ввода/вывода. Уровни ТТЛ.Вход/выход EEPROM данных/MCLR/VppНизкий уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий.Сброс контроллера. Для режима EEPROM - подать VppOSC1/CLKINДля подключения кварца, RC или вход внешней тактовой частоты.OSC2/CLKINГенератор, выход тактовой частоты в режиме RC генератора, в остальных случаях - для подключения кварца.VddНапряжение питанияНапряжение питанияVssОбщий (земля)Общий3. Обзор команд и обозначения


Каждая команда PIC16C84 - это 14-битовое слово, которое разделено по смыслу на следующие части: - 1. код операции, -2. поле для одного и более операндов, которые могут участвовать или нет в этой команде. Система команд PIC16C84 включает в себя байт-ориентированные команды, бит-ориентированные, операции с константами и команды передачи управления.

Для байт-ориентированных команд "f" обозначает собой регистр, с которым производится действие; "d"-бит определяет, куда положить результат. Если "d"=0, то результат будет помещен в W регистр, при "d"=1 результат будет помещен в "f", упомянутом в команде.

Для бит-ориентированных команд "b" обозначает номер бита, участвующего в команде, а "f" - это регистр, в котором этот бит расположен.

Для команд передачи управления и операций с константами, "k" обозначает восьми- или одиннадцатибитную константы.

Все команды выполняются в течение одного командного цикла. В двух случаях исполнение команды занимает два командных цикла: первый - проверка условия и переход, второй - изменение программного счетчика как результат выполнения команды. Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с частотой 4 МГц время исполнения командного цикла будет 1 мкс.


Таблица 2. Байт ориентированные команды

МнемокодНазвание командыПримечанияADDWF f,dСложение W c f2,3ANDWF f,dЛогическое И W и F2,3CLRF fСброс регистра f3CLRW -Сброс регистра W-COMF f,dИнверсия регистра f2,3DECF f,dДекремент регистра f2,3DECFSZ f,dДекремент f, пропустить команду, если 02,3INCF f,dИнкремент регистра f2,3INCFSZ f,dИнкремент f, пропустить команду, если 02,3IORWF f,dЛогическое ИЛИ W и f2,3MOVF f,dПересылка регистра f2,3MOVWF fПересылка W и f3NOP -Холостая команда-RLF f,dСдвиг f влево через перенос2,3RRF f,dСдвиг f вправо через перенос2,3SUBWF f,dВычитание W из f2,3SWAPF f,dОбмен местами тетрад в f2,3XORWF f,dИсключающее ИЛИ W и f2,3ADDLW kСложение константы с W-ANDLW kЛогическое И константы и W-IORLW kЛогическое ИЛИ константы и W-SUBLW kВычитание W из константы-MOVLW kПересылка константы в W-XORLW kИсключающее ИЛИ константы и W-OPTIONЗагрузка W в OPTION регистр1TRIS fЗагрузка TRIS регистра1

Таблица 3. Бит ориентированные команды

МнемокодНазвание командыПримечанияBCF f,bСброс бита в регистре f2,3BSF f,bУстановка бита в регистре f2,3BTFSC f,bПропустить команду, если бит равен нулю-BTFSS f,bПропустить команду, если бит равен единице-

Таблица 4. Переходы

МнемокодНазвание командыПримечанияCALL kВызов подпрограммы-CLRWDTСброс Watchdog таймера-GOTO kПереход по адресу-RETLW kВозврат из подпрограммы с загрузкой константы в W-RETFIEВозврат из прерывания-RETURNВозврат из подпрограммы-SLEEPПереход в режим SLEEP-

В таблицах 2, 3, 4 представлены байт-ориентированные команды, бит-ориентированные, команды передачи управления PIC16C84

Примечание 1: Команды TRIS и OPTION помещены в перечень команд для совместимости с семейством PIC16C5X. Их использование не рекомендуется. В PIC16C84 регистры TRIS и OPTION доступны для чтения и записи как обычные регистры с номером. Предупреждаем, что эти команды могут не поддерживаться в дальнейших разработках PIC16CXX.

Примечание 2: Когда модифицируется регистр ввода/вывода, например MOVF 6,1, значение, используемое для модификации считывается непосредственно с ножек кристалла. Если значение защелки вывода для ножки, запрограммированной на вывод равно "1", но внешний сигнал на этом выводе "0" из-за "навала" снаружи, то будет считываться "0".

Примечание 3: Если операндом этой команды является регистр f1 (и, если допустимо, d=1), то делитель, если он подключен к RTCC, будет обнулен.


4. Разработка функциональной и электрической принципиальной схемы контроллера трекбола


.1 Разработка функциональной схемы контроллера трекбола


Разработанная функциональная схема представлена на рисунке 4. Данная схема отражает функциональное взаимодействие всех элементов разрабатываемой системы.

На схеме показан контроллер трекбола. Он оборудован двумя кнопками и двумя оптическими датчиками, контролирующими перемещение по горизонтали и вертикали. Так как сигналы датчика импульсные и меньше 5V, то можно не использовать аналого-цифровой преобразователь.

Для работы процессора еще необходимы три компонента: система синхронизации, схема сброса и схема питания микропроцессора. Они показаны на рисунке 4.

На выходе система через СОМ-порт подключается к компьютеру. В СОМ-порт передается посылка данных, а также сигналы разрешения передачи.

Вся система контроллера получает питание от управляющих сигналов СОМ-порта.


Рис.4 Функциональная схема контроллера


4.2 Разработка электрической принципиальной схемы системы


.2.1 Разработка структурной схемы контроллера трекбола

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

Поскольку для работы трекбола необходимо два датчика движения, а для каждого датчика две оптопары, то для передачи данных о перемещении в процессор нужно задействовать четыре линии. Так как в трекболе две кнопки, то для них нужно выделить еще две линии. Итого: для передачи данных в процессор нам нужно задействовать шесть линий. Это будут RB0, RB1, RB2, RB3, RB6, RB7.

Для передачи данных нужна еще одна свободная 8-битная линия, подключенная к контакту 4(RxD) COM-порта. Это будет RB5

Для работы системы необходима схема синхронизации. Опционально - это линии OSC1 и OSC2.

Питание будет осуществляться через СОМ-порт. Для этого будет использоваться управляющая линия 4(DTR).

Система сброса управляется через линию MCLR. Низкий уровень на этом входе генерирует сигнал сброса. Эта линия будет подключена к питанию, так как низкий уровень на MCLR активный.


Рис.5 Структурная схема контроллера трекбола

4.2.2 Схема датчиков движения

В качестве детектора движения по одной оси будут использоваться две оптопары, которые однозначно определяют, в какую сторону происходит движение.

Одна оптопара (рис.6) представляет собой фотодиод и фоторезистор, подключенный к уровню логической единицы (+5V). Между ними находится зубчатое колесо, которое то пропускает, то закрывает свет. Когда на резистор светит диод, его сопротивление максимально, то есть на выходе логический ноль, и наоборот. Так определяется движение.


Рис. 6 Оптопара


Две оптопары нужны для правильного определения, в какую сторону было движение, вперед или назад. Это достигается тем, что оптопары находятся по разные стороны зубца, как показано на рисунке 7. Получается, если на выходе первой оптопары есть сигнал, а на выходе второй оптопары нет сигнала - это движение вперед, и наоборот, если на выходе первой оптопары нет сигнала, а на выходе второй оптопары есть сигнал - это движение назад. Если на выходах обеих оптопар есть сигнал или нет сигнала, то движения нет, трекбол стоит на месте.


Рис.7 Датчики движения


.2.3 Схема сброса

Вывод сигнала основного сброса MCLR подключен к VDD через резистор 10К, потому что сигнал сброса генерируется низким уровнем сигнала на MCLR. Этот сигнал является активным уровнем, следовательно на MCLR нужно для работы держать высокий уровень напряжения (+5V), что мы и делаем.

Микроконтроллер содержит надежную схему сброса при включении питания - все, что нам необходимо, микроконтроллер выполнит сам.


.2.4 Схема синхронизации

Схема синхронизации представляет собой колебательный контур, собранный на кварцевом резонаторе и двух емкостях. Данная схема одна распространенных схем для синхронизации процессоров. Наиболее распространенный для подобных задач кварцевый резонатор на 4МГц и L=210мГн. В качестве емкостей были выбраны конденсаторы С1=С2=15пФ.


.2.5 Схема подключения к компьютеру через интерфейс RS-232

Для передачи данных в компьютер был выбран интерфейс RS-232 (так называемый СОМ-порт). Реализация этого интерфейса достаточно простая. Он поддерживается большинством персональных компьютеров. В качестве разъема был выбран девяти-пиновый разъем D-типа DB-9P, как наиболее распространенный.

Для передачи данных через СОМ-порт можно задействовать всего одну линию RxD. Данные от компьютера в схему не поступают, поэтому линия TxD не нужна. СОМ-порт подключен к линии RB5.

Так как питание для PIC 5 вольт, то можно обойтись без преобразования уровней напряжения для RS-232.


.2.6 Подача питания в контроллер

При подключении к СОМ-порту устройств с небольшим энергопотреблением, можно воспользоваться питанием от выходных линий интерфейса DTR и RTS, их можно задействовать как питающие, с напряжением около 12 вольт.

Двуполярным питанием от интерфейса (+12V от DTR и RTS и -5V от ТD) пользуются все манипуляторы, подключаемые к СОМ-порту. Так как мы работаем с РIC-процессором, нам нужно питание +12V, следовательно мы можем воспользоваться линией DTR или RTS. Мы воспользуемся линией DTR.

Для достижения эффективного напряжения для процессора +5V поставим делитель напряжения.


.3 Раcчет электрической принципиальной схемы системы

манипулятор микропроцессор контроллер трекбол

4.3.1 Расчет схемы питания

Порт получает двуполярное питание через системную плату от блока питания компьютера. Напряжение питания +12 В. Блок питания контролирует наличие этих напряжений на своем выходе. Стандарт требует от порта выходного напряжения не менее 5 В. Для получения 5 В можно добавить два резистора (R2 и R3), чтобы получить делитель напряжения. На них получаем нужное нам падение напряжения.

Значения R2 и R3 рассчитываются следующим образом:

.


Приполучим R3=1.4R2.

Примем R2=250 кОм, тогда R3=350 кОм.

Сопротивление получаем в кОм потому, что ток должен быть в миллиамперах.


4.3.2 Расчет схемы синхронизации

Разработанная схема представлена на рисунке 8.


Рис.8 Схема синхронизации


Данная схема работает как обычный колебательный контур, где вместо индуктивности используется кварцевый резонатор с эквивалентной индуктивностью Lq.

Частота синхронизации должна быть равна 4 МГц, т.е fT= 4 МГц.

Запишем формулу Томсона для колебательных контуров:


.


Учитывая, что fT = 1/Т, получим:


Поскольку емкости в контуре включены последовательно, то


/C=1/C1+1/C2.


Выбрав по справочнику резонатор на 4 МГц с Lq=210 мГн, необходимо насчитать емкости С1 и С2. Для удобства разработки примем их одинаковыми. Разброс их параметров компенсируем тем, что заземлим схему. Тогда С = С1/2. Выведем формулу для нахождения С:


.


Отсюда:


.


Следовательно,



Подставив значения:


4.3.3 Расчет схемы подключения датчика движения

Сложность питания оптопары заключается в том, что от +5V нужно питать фотодиод, на который подается +2,5V. Следовательно, нужно добавить два резистора (R4 и R5), чтобы получить делитель напряжения, на них было нужное нам падение напряжения.


Рис.9 Питание оптопары


Значения R2 и R3 рассчитываются следующим образом:


.


Приполучим R4=R5.

Примем R4=R5=250 кОм.

Сопротивление получаем в кОм потому, что ток должен быть в мА.


5. Разработка алгоритма и программы функционирования системы


.1 Разработка алгоритма функционирования системы


Блок-схема разработанного алгоритма функционирования системы приведена в приложении А.

Разрабатываемая система функционирует следующим образом:

1Инициализация системы.

2Инициализация портов ввода/вывода.

Считывание значений датчиков и кнопок из портов.

Формирование посылки в СОМ-порт.

Передача посылки через СОМ-порт.


5.2 Разработка алгоритма программы


Блок-схема разработанного алгоритма программы приведена в приложении Б.

Алгоритм приведен ниже:

1Инициализация системы.

2Настройка портов ввода/вывода.

Считывание значений из RB0 и RB1 и занесение их в Х1.

Проверка Х1 на значение 11. Если да, то замена его на 00.

Повторение пунктов 3 и 4 для портов RB2 и RB3 и переменной Y1.

Занесение Х1 иY1 в Сhar_RS232.

Передача Сhar_RS232 через СОМ-порт.

Возврат на шаг 1.

Листинг программы приведен в приложении В.

Правильность программы была проверена на приложении MPLAB.

ВЫВОДЫ


В результате выполнения курсовой проекта был разработан контроллер трекбола на основе микропроцессора PIC16C84.

В процессе работы были изучены:

  • виды манипуляторов-указателей и способы их подключения к компьютеру;
  • структура микропроцессора PIC16C84;
  • основные технические характеристики микропроцессора PIC16C84;
  • основные команды микропроцессора PIC16C84;
  • основы проектирования систем на базе однокристальных микропроцессоров.
  • В процессе работы были разработаны:
  • функциональная схема контроллера трекбола на основе микропроцессора PIC16C84;
  • структурная схема контроллера трекбола;
  • электрическая принципиальная схема контроллера;
  • алгоритм функционирования системы;
  • алгоритм и программа управления для данного микропроцессора.

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


1. Гук М. Аппаратные средства IBM PC. Энциклопедия, 2-е изд. - СПб.: Питер, 2001. - 928 с.

. Гук М. Интерфейсы ПК. Справочник. - СПб.: Питер, 1999. - 223 с.

. Кулаков В. Программирование на аппаратном уровне. Специальный справочник. - СПб.: Питер, 2003.

. С.И. Малафеев, А.А. Малафеева, В.С. Мамай. Микроконтроллеры PIC16C8Х. Архитектура, программирование и применение: Учеб. пособие. - Владим. гос. ун-т; Владимир, 1999.

. #"justify">. #"justify">. #"justify">ПРИЛОЖЕНИЕ А


Алгоритм работы системы



ПРИЛОЖЕНИЕ Б


Алгоритм программы



ПРИЛОЖЕНИЕ В


Листинг программы

P=16F84, E=2 ; указан тип процессора"P16C84.INC"EQU 01h ;Описание служебных регистровEQU 02h ;Когда ассемблер будет обрабатыватьEQU 03h ;программу, то имена регистров онEQU 04h ;заменит их адресами.

PORTA EQU 05hEQU 06h

TRISA EQU 85hEQU 86hEQU 01hEQU 00000000b ;слова инициализации

INITB EQU 00000000b ;для портов ввода/выводаEQU 0h ;Описание флагов служебных регистров.EQU 1h ;Их имена тоже стандартные.EQU 2h ;Для регистра указывался адрес ячейки ОЗУ,EQU 3h ;указывается номер бита,EQU 4h ;поэтому цифры после имени флагаEQU 5h ;для некоторых флагов могут совпадать.EQU 0Ch ;Описание переменныхEQU 0Dh

Char_RS232 EQU 0Eh

ORG 0 ;Вектор сбросаBEGIN

; _---------Передача данных в СОМ-порт---------------

#DEFINE _TxD PORTB, 5_RS232:.8tmpdelay01_TxD ; стартовый битdelay_95mksdelay_8mks_PutChar_RS232_01: ; данныеChar_RS232, fSTATUS,C_TxDSTATUS,C_TxDdelay_95mkstmpdelay01,fm_PutChar_RS232_01:_TxD ; бит четностиdelay_95mksdelay_8mks_TxD ; стоповый битdelay_95mksdelay_8mksChar_RS232, f_95mks:.22tmpdelay01tmpdelay01, f$-2_8mks:

;=========================================

ORG 100h:INITA ;Настройка портов ввода/вывода как выходы

MOVWF TRISAINITBTRISB

BSF STATUS,RP0 ;Этой командой включается 1й банк памяти.

;Если этого не сделать - порты не будут настроеныB'00000000' ;Определение портов АTRISAB'11001111' ;Определение портов ВTRISBSTATUS,RP0 ;Переход на нулевой банк

;-----------Основное тело программы------------------PORTB,0 ;Считывание для Х из портов RB0 и RB1X1 ;И занесение их в Х1

RLF X1,0PORTB,1X1

BTFSC X1,1 ;Сортировка значения 11X1,0SX1 ;При очистке Х1 от 11 получим 00PORTB,2 ;Считывание для Y из портов RB2 и RB3Y1 ;Занесение их в Y1

RLF Y1,0PORTB,3Y1

BTFSC Y1,1 ;Сортировка значения 11Y1,0SY1 ;При очистке Y1 от 11 получим 00X1 ;В передающий регистрChar_RS232 ;заносим Х

RLF X1,1Y1Char_RS232 ; заносим YChar_RS232,0PORTB,6Char_RS232 ; заносим Кн1Char_RS232,0PORTB,7Char_RS232 ; заносим Кн2Char_RS232,0PutChar_RS232Char_RS232BEGIN


СОДЕРЖАНИЕ ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СОКРАЩЕНИЙ ВВЕДЕНИЕ . АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ .1 Выбор манипулятора-указателя .1.1 Мышь .1.2

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ