Автор работы: Пользователь скрыл имя, 26 Апреля 2013 в 11:42, курсовая работа
В данной курсовой работе будет реализовано устройство, формирующее прямоугольные сигналы, которые будут формироваться после выхода из режима ожидания с помощью нажатия на кнопку. Так же после нажатия кнопки прерывания устройство должно будет формировать пачки импульсов с определенным шагом и временем формирования. Количество сформированных пачек импульсов будут поступать в память EEPROM и оставаться там. К устройству будет подключен 7-ми сегментный индикатор, который будет выводить в десятичной системе счисления количество сформированных пачек.
ВВЕДЕНИЕ 3
1. ЗАДАНИЕ 4
2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5
3. РЕЗУЛЬТАТЫ ПРОДЕЛАННОЙ РАБОТЫ 15
ЗАКЛЮЧЕНИЕ 18
СПИСОК ЛИТЕРАТУРЫ 19
ПРИЛОЖЕНИЕ 20
Некоммерческое акционерное
«АЛМАТИНСКИЙ УНИВЕРСИТЕТ
Кафедра «Компьютерных технологий»
КУРСОВОЙ ПРОЕКТ
по дисциплине «ЦУиМП»
на тему: «Разработка устройства, формирующего пачки импульсов»
Специальность: Вычислительная техника и программное обеспечение
Выполнил: Лебедев О.Г. Группа:БВТ-10-04
Руководитель: проф. Шанаев О.Т.
« » 2013 г.
Алматы 2013
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. ЗАДАНИЕ 4
2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5
3. РЕЗУЛЬТАТЫ ПРОДЕЛАННОЙ РАБОТЫ 15
ЗАКЛЮЧЕНИЕ 18
СПИСОК ЛИТЕРАТУРЫ 19
ПРИЛОЖЕНИЕ 20
В данной курсовой работе будет реализовано устройство, формирующее прямоугольные сигналы, которые будут формироваться после выхода из режима ожидания с помощью нажатия на кнопку. Так же после нажатия кнопки прерывания устройство должно будет формировать пачки импульсов с определенным шагом и временем формирования. Количество сформированных пачек импульсов будут поступать в память EEPROM и оставаться там. К устройству будет подключен 7-ми сегментный индикатор, который будет выводить в десятичной системе счисления количество сформированных пачек.
Разработать устройство, режимы работы которого описываются следующим образом:
Вариант 6
№ |
Студент |
F0, кГц |
T1, мкс |
T0, мкс |
T, мкс |
N0, ед |
N1, ед |
S, ед |
6 |
Лебедев О. |
2,00 |
50 |
190 |
820 |
3 |
19 |
4 |
Мультивибратор — релаксационный генератор сигналов электрических прямоугольных колебаний с короткими фронтами. Термин предложен голландским физиком Ван Дер Полем, так как в спектре колебаний мультивибратора присутствует множество гармоник — в отличие от генератора синусоидальных колебаний («моновибратора»).
Мультивибратор
является одним из самых распространённых
генераторов импульсов
Тональный вызов - специальный звуковой сигнал, используемый в конвенциональной радиосвязи. Частота тонального вызова обычно составляет 1750 Гц. При нажатии кнопки передачи тонального вызова (Burst button) излучается сигнал, модулированный звуковым тоном данной частоты, который принимается вызываемым абонентом и воспроизводится на динамике его станции.
Тональный набор, тональный сигнал (англ. Dual-Tone Multi-Frequency, DTMF) — двухтональный многочастотный аналоговый сигнал, используемый для набора телефонного номера. Сфера применения тональных сигналов: автоматическая телефонная сигнализация между устройствами, а также ручной ввод абонентом для различных интерактивных систем, например голосового автоответа. По используемой полосе частот сигнал соответствует телефонии.
Аналоговый сигнал — сигнал данных, у которого каждый из представляющих параметров описывается функцией времени и непрерывным множеством возможных значений.
Различают
два пространства сигналов — пространство
L (непрерывные сигналы), и пространство
l (L малое) — пространство последовательностей.
Пространство l (L малое) есть пространство
коэффициентов Фурье (счетного набора
чисел, определяющих непрерывную функцию
на конечном интервале области определения)
Аналоговые
сигналы описываются
МК подгруппы PIC16F8X имеют четыре источника прерываний:
Все прерывания имеют один и тот же вектор/адрес – 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 |
Информация о работе Разработка устройства, формирующего пачки импульсов