Разработка устройства, формирующего пачки импульсов

Автор работы: Пользователь скрыл имя, 26 Апреля 2013 в 11:42, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 3
1. ЗАДАНИЕ 4
2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5
3. РЕЗУЛЬТАТЫ ПРОДЕЛАННОЙ РАБОТЫ 15
ЗАКЛЮЧЕНИЕ 18
СПИСОК ЛИТЕРАТУРЫ 19
ПРИЛОЖЕНИЕ 20

Прикрепленные файлы: 1 файл

Kursovoy.docx

— 869.86 Кб (Скачать документ)

Некоммерческое акционерное общество

«АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ»

 

Кафедра «Компьютерных технологий»

 

 

 

 

 

КУРСОВОЙ  ПРОЕКТ

 

по  дисциплине «ЦУиМП»

на  тему: «Разработка устройства, формирующего пачки импульсов»

 

 

 

Специальность:  Вычислительная техника и программное обеспечение

Выполнил: Лебедев О.Г.      Группа:БВТ-10-04

Руководитель: проф. Шанаев О.Т.       

«     »    2013 г.

 

 

 

 

 

Алматы 2013

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ 3

1. ЗАДАНИЕ 4

2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5

3. РЕЗУЛЬТАТЫ ПРОДЕЛАННОЙ РАБОТЫ 15

ЗАКЛЮЧЕНИЕ 18

СПИСОК ЛИТЕРАТУРЫ 19

ПРИЛОЖЕНИЕ 20

 

 

ВВЕДЕНИЕ

 

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

 

  1. ЗАДАНИЕ

 

Разработать устройство, режимы работы которого описываются  следующим образом:

  • при запуске программы к работе, устройство должно находиться в режиме ожидания сигнала управления от внешней кнопки;
  • после поступления этого сигнала, устройство должно формировать прямоугольные импульсы (меандр) с частотой F0;
  • по сигналу прерывания устройство должно прекратить формирование прямоугольных импульсов с частотой F0 и перейти к формированию последовательности пачек импульсов с длительностью паузы между ними T;
  • число импульсов в пачках (т.е. при первом запуске программы) должно меняться от N0 (первоначальное значение) до N1 (конечное значение), изменяясь от пачки к пачке с шагом S;
  • длительность формируемых в пачках импульсов должно быть равна T1, а длительность паузы между ними – T0;
  • после завершения формирования очередной пачки импульсов, число сформированных в этой пачке импульсов должно быть отображено на 7-сегментных индикаторах (в виде двухразрядного десятичного числа) и оставаться там до следующего изменения его значения (т.е. до отображения числа импульсов в следующей пачке);
  • после снятия сигнала прерывания устройство должно вернуться в основной рабочий режим, т.е. формировать импульсы с частотой F0;
  • при следующем прерывании число формируемых в пачках импульсов должно быть продолжено с достигнутого при предыдущем прерывании числа импульсов в последней сформированной пачке (т.е. перед снятием сигнала прерывания).

 

Вариант 6

 

Студент

F0, кГц

T1, мкс

T0, мкс

T, мкс

N0, ед

N1, ед

S, ед

6

Лебедев О.

2,00

50

190

820

3

19

4


 

 

    1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

Мультивибратор — релаксационный генератор сигналов электрических прямоугольных колебаний с короткими фронтами. Термин предложен голландским физиком Ван Дер Полем, так как в спектре колебаний мультивибратора присутствует множество гармоник — в отличие от генератора синусоидальных колебаний («моновибратора»).

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

Тональный вызов - специальный звуковой сигнал, используемый в конвенциональной радиосвязи. Частота тонального вызова обычно составляет 1750 Гц. При нажатии кнопки передачи тонального вызова (Burst button) излучается сигнал, модулированный звуковым тоном данной частоты, который принимается вызываемым абонентом и воспроизводится на динамике его станции.

Тональный набор, тональный сигнал (англ. Dual-Tone Multi-Frequency, DTMF) — двухтональный многочастотный аналоговый сигнал, используемый для набора телефонного номера. Сфера применения тональных сигналов: автоматическая телефонная сигнализация между устройствами, а также ручной ввод абонентом для различных интерактивных систем, например голосового автоответа. По используемой полосе частот сигнал соответствует телефонии.

Аналоговый  сигнал — сигнал данных, у которого каждый из представляющих параметров описывается функцией времени и  непрерывным множеством возможных значений.

Различают два пространства сигналов — пространство L (непрерывные сигналы), и пространство l (L малое) — пространство последовательностей. Пространство l (L малое) есть пространство коэффициентов Фурье (счетного набора чисел, определяющих непрерывную функцию  на конечном интервале области определения), пространство L — есть пространство непрерывных по области определения (аналоговых) сигналов. При некоторых  условиях, пространство L однозначно отображается в пространство l (например, первые две  теоремы дискретизации Котельникова).

Аналоговые  сигналы описываются непрерывными функциями времени, поэтому аналоговый сигнал иногда называют непрерывным  сигналом. Аналоговым сигналам противопоставляются  дискретные (квантованные, цифровые). Примеры непрерывных пространств и соответствующих физических величин:

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

МК  подгруппы PIC16F8X имеют четыре источника  прерываний:

  • внешнее прерывание с вывода RB0/INT;
  • прерывание от переполнения счетчика/таймера TMR0;
  • прерывание от изменения сигналов на линиях порта   RB<7:4>;
  • прерывание по окончании записи данных в EEPROM.

Все прерывания имеют один и тот же вектор/адрес – 0004h. Однако в управляющем регистре прерываний INTCON соответствующим битом-признаком записывается, от какого именно источника поступил запрос прерывания. Исключение составляет прерывание по завершении записи в EEPROM, признак которого находится в регистре EECON1. Бит общего разрешения/запрещения прерывания GIE (INTCON <7>) разрешает (если = 1) все индивидуально незамаскированные прерывания или запрещает их (если = 0). Каждое прерывание в отдельности может быть дополнительно разрешено/запрещено установкой/сбросом соответствующего бита в регистре INTCON. Бит GIE при сбросе обнуляется. Когда начинает обрабатываться прерывание, бит GIE обнуляется, чтобы запретить дальнейшие прерывания, адрес возврата посылается в стек, а в программный счетчик загружается адрес 0004h. Время реакции на прерывание для внешних событий, таких как прерывание от ножки INT или порта B, составляет приблизительно пять циклов. Это на один цикл меньше, чем для внутренних событий, таких как прерывание по переполнению от таймера TMR0. Время реакции всегда одинаковое.

В подпрограмме обработки прерывания источник прерывания может быть определен по соответствующему биту в регистре признаков. Этот флаг-признак должен быть программно сброшен внутри подпрограммы. Признаки запросов прерываний не зависят от соответствующих маскирующих битов и бита общего маскирования GIE. Команда возврата из прерывания RETFIE завершает прерывающую подпрограмму и устанавливает бит GIE, чтобы опять разрешить прерывания. Внешнее прерывание на ножке RB0/INT осуществляется по фронту: либо по нарастающему (если в регистре OPTION бит INTEDG=1), либо по спадающему (если INTEDG=0). Когда фронт обнаруживается на ножке INT, бит запроса INTF устанавливается в единицу (INTCON <1>). Это прерывание может быть замаскировано сбросом управляющего бита INTE в ноль (INTCON <4>). Бит запроса INTF необходимо очистить прерывающей программой перед тем, как опять разрешить это прерывание. Прерывание INT может вывести процессор из режима SLEEP, если перед входом в этот режим бит INTE был установлен в единицу. Состояние бита GIE также определяет, будет ли процессор переходить на подпрограмму прерывания после выхода из режима SLEEP. Переполнение счетчика TMR0 (FFh->00h) устанавливает в единицу бит запроса T0IF (INTCON<2>). Это прерывание может быть разрешено/запрещено установкой/сбросом бита маски T0IE (INTCON<5>). Сброс запроса T0IF – дело программы обработки. Любое изменение сигнала на одном из четырех входов порта RB<7:4> устанавливает в единицу бит RBIF (INTCON<0>). Это прерывание может быть разрешено/запрещено установкой/сбросом бита маски RBIE (INTCON<3>). Сброс запроса RBIF – дело программы обработки. Признак запроса прерывания по завершении записи в EEPROM, EEIF (EECON1<4>) устанавливается в единицу по окончании автоматической записи данных в EEPROM. Это прерывание может быть замаскировано сбросом бита EEIE (INTCON<6>). Сброс запроса EEIF – дело программы обработки.

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

Определимся с терминологией, применяемой при  описании программы работы устройства. Для удобства объяснения и восприятия, целесообразно разделить рабочую  часть программы на две части. Условимся называть группу команд, в которой осуществляется сканирование каналов на наличие сигнала прерывания, “основным телом” программы, а часть, которая отрабатывается после ухода  в прерывание, как подпрограмму прерывания. Следовательно, речь идет о необходимости  “ухода” рабочей точки программы (на время наличия сигнала прерывания) в подпрограмму прерывания, с последующим  выходом из него по снятию сигнала  прерывания.

Предполагаем, что выходной каскад переключающего устройства, с которого поступает  сигнал прерывания, является каскадом с открытым коллектором (или с  открытым стоком). Для приема сигнала  внешнего прерывания используется вывод RB0/INT, напоминаем, что в микроконтроллере PIC16F84A есть и другие источники прерываний, что отражено в описании битов  регистра INTCON (см. таблицу 3.1).

В программе должна быть “зона” разрешения прерываний, которая в идеале должна включать в себя всё “основное  тело” программы, но специфика данного  устройства такова, что возможен “ложный  уход” в прерывание во время перестройки  проверяемых каналов, которая происходит в течение некоторого интервала  времени, чего допустить нельзя. Поэтому  подпрограмма START должна начаться с  команды запрета всех прерываний clrf IntCon. Уходы в прерывания должны происходить позднее. Далее, программа отрабатывается (исполняется) до начала “зоны” разрешения прерываний. В начале этой “зоны” прерывания по входу RB0/INT разрешаются, после чего программа исполняется далее, “в режиме ожидания прерываний”. В конце этой “зоны”, прерывания запрещаются, и рабочая точка программы переходит на новый “виток” полного цикла “основного тела” программы.

 

Таблица 1 - Регистр  INTCON

Биты

Название

Описание

7

GIE

Глобальное разрешение прерываний:

1 – разрешены все немаскированные  прерывания

0 – все прерывания  запрещены

6

EEIE

Прерывание по окончанию  записи в EEPROM:

1 – прерывание разрешено

0 – прерывание запрещено

5

T0IE

Прерывание по переполнению TMR0:

1 – прерывание разрешено

0 – прерывание запрещено

4

INTE

Прерывание по входу RB0/INT:

1 – прерывание разрешено

0 – прерывание запрещено

3

RBIE

Прерывание по изменению  уровней сигналов на выводах RB4…RB7:

1 – прерывание разрешено

0 – прерывание запрещено

2

T0IF

Флаг прерывания по переполнению TMR0:

1 – произошло переполнение  TMR0

0 – переполнения TMR0 не было

1

INTF

Флаг прерывания по входу  RB0/INT:

1 – произошло прерывание  по входу RB0/INT

0 – прерывания по входу  RB0/INT не было

0

RBIF

Флаг прерывания по изменению  уровней сигналов на выводах RB4…RB7:

1 – зафиксировано изменение  уровня сигнала на одном из  входов RB4…RB7

0 – не было изменения  уровня сигнала ни на одном  из входов RB4…RB7

Информация о работе Разработка устройства, формирующего пачки импульсов