Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Схема сбора информации с логических входов

Тип: контрольная работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Архитектура микроконтроллера PIC16F876 фирмы Microchip и построение на его основе микропроцессорной системы логического анализатора. Построение устройств сбора и обработки информации. Кросс-компилятор HI-TECH С for Microchip PIC v7.85. Листинг программы.
Краткое сожержание материала:

Размещено на

Техническое задание

Необходимо спроектировать схему на основе PIC-контроллера для сбора информации с 16 логических входов. Данные регистрируются при поступлении импульса синхронизации и накапливаются в ОЗУ устройства, подключённом к микроконтроллеру. Данные необходимо передавать на ЭВМ по интерфейсу RS232 со скоростью 9600 Бод при поступлении запроса от ЭВМ.

Необходимо написать программу для контроллера, которая будет обрабатывать поступающие данные, накапливать их в ОЗУ и передавать на ЭВМ.

Уровни входных сигналов, поступающих с внешних линий, соответствуют стандарту ТТЛ, максимальная частота опроса 60 кГц.

Объем ОЗУ 8 кБ.

1. Объект автоматизации

В качестве объекта автоматизации был выбран логический анализатор.

1.1 Параметры устройства

Число каналов - 16;

Тип сигналов - ТТЛ уровни.

Максимальная частота приема данных - 60 кГц

Передача информации - интерфейс RS232;

Скорость передачи по последовательному порту - 9600 Бод;

Регистрация состояния - по переднему фронту.

1.2 Описание и анализ функций, выполняемых МПС устройства

Микропроцессорная система устройства позволяет регистрировать состояние логических уровней на 16 лог. входах и передавать информацию на ЭВМ при поступлении тактового импульса на тактовый вход.

1.3 Микропроцессорная система на основе ОМК PIC16F876

Основанием для выбора данного микроконтроллера послужили следующие причины:

- наличие достаточного количества портов ввода-вывода:

порт А - 6 бит,

порты В, С и D - 8 бит,

порт Е - 3 бита.

- простота реализации устройства на данном контроллере;

- широкое распространение и дешевизна микроконтроллеров данного типа.

2. Описание функционирования устройства

2.1 Функциональная схема

Микроконтроллер снимает со входов информацию о состоянии логических уровней, данная съемка стробируется внешним тактовым импульсом поступающим на его вход С. При приходе от компьютера команды запроса контроллер передаёт накопленную в ОЗУ информацию в ЭВМ по интерфейсу RS232 со скоростью 9600 Бод.

2.2 Принципиальная схема

Логические входы подключены к регистрам-защёлкам DD1 и DD2, а вход синхронизации подключён к входам С регистров и линии RC0 микроконтроллера. При поступлении синхроимпульса, микроконтроллер считывает состояние регистров поочерёдно подавая импульсы на входы ОЕ и считывая данные через порт D и сохраняет данные в ОЗУ.

Запись и чтение данных производится аналогично микроконтроллерам семейства MC'S 51, но PIC-контроллеры не имеют аппаратных средств для подключения ОЗУ, поэтому работа с ним производится программно. Микроконтроллер выдаёт младшую часть адреса на порт В, а старшую на порт А, затем подаёт импульс ALE (линия RE0), и старшая часть адреса защёлкивается в регистре DD5. Затем микроконтроллер активизирует одну из линий, WR (RE2) или RD(RE1), и производит обмен данными через порт В.

Микросхема DD3 преобразует логические уровни контроллера в логические уровни ЭВМ, конденсаторы, подключённые к микросхеме DD3, обеспечивают работу преобразователей уровня.

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

Кварцевый резонатор ZQ1 определяет тактовую частоту микроконтроллера DD4, мы выбрали резонатор на 10МГц. Конденсаторы С7 и С8 обеспечивают стабильность работы тактового генератора.

2.3 Описание элементов схемы

Микросхема DD3 - преобразователь уровня ТТЛ - СОМ-порт, необходима для согласования электрических уровней микроконтроллера и COM-порта компьютера. Уровень логического нуля и единицы у микроконтроллера равны 0 и +5В, а у COM-порта компьютера +12В и -12В соответственно. Микросхема питается напряжением +5В, а напряжения ±12В она генерирует с помощью встроенных преобразователей напряжения.

Микросхема DD4 - однокристальный микроконтроллер семейства PIC Micro. Имеет следующие особенности:

- 5 канальный, 10 разрядный АЦП;

- 3 порта ввода-вывода

- выполнен по высокоскоростной RISC-технологии;

Микросхемы DD1, DD2, DD5 - регистры-защёлки, 8 информационных входов, 8 выходов. Запись информации происходит при поступлении лог. 0 на вход С. Лог.1 на входе ОЕ переводит выходы регистра в третье (высокоимпедансное) состояние.

3. Описание программы

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

Общий алгоритм работы программы приведен на рис. 1.

Рисунок 1. Общий алгоритм работы программы

При включении контроллера происходит настройка портов ввода-вывода на вводи вывод, все линии портов А и Е контроллера настраиваются как входы, а линии портов В и С - как выходы. После этого контроллер начинает выполнять бесконечный цикл, в котором отслеживается состояние входа, подключённого к линии синхронизации. В случае поступления синхроимпульса производится запись информации в ОЗУ.

Запись в ОЗУ производится по алгоритму, представленному на рис. 2.

Рисунок 2. Алгоритм записи информации в ОЗУ

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

микроконтроллер микропроцессорный анализатор компилятор

 // подключаем модуль с описанием регистров PIC

#include <pic.h>

#define uchar unsigned char

#define uint unsigned int

#define PORTBIT (adr, bit) ((unsigned) (&adr)*8+(bit))

static bit ALE @ PORTBIT (PORTE, 0);

static bit RD @ PORTBIT (PORTE, 1);

static bit WR @ PORTBIT (PORTE, 2);

static bit SYN @ PORTBIT (PORTC, 0);

static bit L @ PORTBIT (PORTC, 1);

static bit H @ PORTBIT (PORTC, 2);

uint start, stop, adr;

 // -

void Write (uint adress, uchar data)

{

uchar pause=10;

PORTA=adress>>8; // старшая часть адр.

TRISB=0; // порт на выход

PORTB=adress; // мл. часть адр.

ALE=0; // импульс для записи мл. адр. в рег-р

while (pause-); // пауза для записи в рег-р

ALE=1;

PORTB=data; // выдали данные

WR=0; // записали их в ОЗУ

pause=10;

while (pause-); // пауза для записи в ОЗУ

WR=1; // запись окончена

RD=1;

TRISB=0xFF;

}

 // -

uchar Read (uint adress)

{

uchar data, pause=10;

PORTA=adress>>8; // старшая часть адр.

TRISB=0; // порт на выход

PORTB=adress; // мл. часть адр.

ALE=0; // импульс для записи мл. адр. в рег-р

while (pause-); // пауза для записи в рег-р

ALE=1;

TRISB=0xFF; // порт на ввод

RD=0; // читаем данные

data=PORTB; // принимаем их через порт

RD=1; // чтение окончено

WR=1;

return data; // возвращаем считанные данные

}

 // -

interrupt INTR() // обработка прерываний

{

if (RСIF) // прерывание от УАПП - приём

{

if (RCREG==0xAA) // если принято 0хАА - передача на ЭВМ

{

TXIE=1; // разрешение прерывания от УАПП при передаче

start=adr;

stop=adr-1;

 // записью в TXREG инициировали передачу,

 // при окончании передачи возникнет прерывание TXIF

TXREG=Read (start++);

}

RСIF=0;

}

if (TXIF)

{

TXREG=Read (st...

Другие файлы:

Методы и средства сбора информации
Технология сбора информации традиционными методами. Правила сбора оффлайновой информации. Технические средства сбора информации. Операции для быстрого...

Проектирование в среде "MAX+Plus II"
Схема дешифратора с четырёхразрядной шиной адреса и максимальными шестнадцатью управляемыми выходами. Состояния логических элементов. Добавление функц...

Контроллер сбора аналоговой информации
Проектирование схемы, выполненной на основе однокристального микроконтроллера 51 серии для получения с 8 аналоговых входов информации о изменении их с...

Виды триггеров
Триггеры вида [F] , как и триггеры вида [L], относятся к разряду устройств, у которых прием и фиксация информации совмещены во времени. Такие триггеры...

Проектирование микропроцессорной системы сбора и обработки информации
Микропроцессорная система (МПС) сбора и обработки информации от объекта, характеризуемого непрерывными (аналоговыми) сигналами. Исходные данные для ра...