на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка микропроцессорной системы на базе микроконтроллера - синтезатора игры пианино в пределах одной октавы
p align="left">При воспроизведении сначала из EEРROM считывается количество комбинаций нажатых клавиш. Затем устанавливается флаг “воспроизведение”. Он нужен для подпрограммы прерываний. Затем искусственным путем вызывается прерывание. В начале подпрограммы прерываний при воспроизведении идет проверка на окончание, т.е. вся мелодия прозвучала или нет. Затем считываются комбинация нажатых клавиш и определяется новая частота. Потом считывается время звучания новой частоты и запись ее в таймер. При выходе из подпрограммы прерываний происходит зацикливание и ожидается переполнение таймера, которое вызовет новое прерывание, а следовательно, будет новая частота и новая длительность звучания. Блок-схема алгоритма программы приведена на рис 3.

Текст программы на языке Ассемблер с комментариями приведен в Приложении А.

Когда включается питание, РIC16F84 устанавливает все разряды портов A и B на ввод и начинает выполнять программу с адреса 000h.

Рис. 3. Блок-схема алгоритма работы устройства.

6. Описание функциональных узлов МПС и алгоритма их взаимодействия

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

Клавиши, соответствующие 7 нотам и клавиша воспроизведения подключены к входам порта RB0-RB7.

Схема сброса подключена к входу MCLR.

Семь светодиодов состояния клавиш нот подключены к выходам порта RA0-RA5 , RC0.

Светодиод воспроизведения мелодии подключен к выходу порта RC1.

Динамик подключен к выходу порта RC2/ССР1.

На вход Vdd подано положительное напряжение питания для внутренней логики и портов ввода-вывода. Общий вывод Vss заземлен.

На вход генератора OSC1/CLKIN подключается RC цепочка.

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

7. Описание выбора элементной базы и работы принципиальной схемы

Проект основывается на микроконтроллере РIC16F876. Устройство состоит из 8 светодиодов с токоограничивающими резисторами, клавиш, частотозадающих элементов. Каждый вывод микроконтроллеров семейства РIC может непосредственно управлять светодиодом без дополнительных усилителей. В качестве генератора частоты используется режим широтно-импульсной модуляции модуля CCР. Отсчет времени звучания ведется с помощью таймера TMR0. Во время работы постоянно сканируется состояние порта В, и если оно изменилось (какая-либо кнопка нажата или отпущена), то в соответствии с новой комбинации клавиш меняется и частота звучания. Также состояние порта В все время выводится на светодиоды, которые подключены к порту А. Пока есть свободной место для записи в EEРROM, включен светодиод VD8. При нажатии кнопки К8, устройство переходит в режим воспроизведения и проигрывает записанную мелодию. Во время воспроизведения также включен светодиод VD8. В качестве динамика можно использовать 0.25ГД-19 8 Ом. В качестве кнопок используются ключи К1-К8. В качестве светодиодов VD1-VD9 выбран светодиод АЛЗО7.

Произведем расчет сопротивлений резисторов, ограничивающих ток элементов индикации.

Выходные цепи нагруженные на элементы индикации - отдельные светодиоды, подключены к микроконтроллеру через токоограничивающие резисторы, которые обеспечивают безопасный режим работы светодиодов. К данной категории элементов относятся резисторы R1 - R8, R9,R13. Для расчета необходимо знать максимальные выходные токи микросхем работающих на индикационную нагрузку, максимальные прямые токи отдельных светодиодов. Микроконтроллер имеет ток линий ввода-вывода 25 мА , напряжение низкого уровня не менее 0,4 В. Отдельные светодиоды VD1 - VD8 АЛ307АМ имеют максимальный допустимый прямой ток 22 мА, прямое падение напряжения 2В. Этих сведений достаточно для выполнения расчета.

Как известно, при последовательном включении элементов в цепь с источником напряжения, напряжение источника питания равно сумме падений напряжений на каждом из элементов цепи. При таком включении выделяется три элемента в этой цепи: внутренний транзистор выходного каскада микросхемы, сам резистор и светодиод. Следовательно, падение напряжения на резисторе равно разности напряжения питания и падения напряжения на внутреннем транзисторе и светодиоде, то есть:

, (7.1)

где UR - падение напряжения на резисторе, В

Uпит - напряжение питания, В

Uтр - падение напряжения на внутреннем транзисторе, В

UHL - падение напряжения на светодиоде, В

По закону Ома ток протекающий через резистор и все остальные элементы цепи будет равен частному напряжения падения на резисторе и его собственного сопротивления, то есть:

, (7.2)

где I - ток в цепи, А

R - сопротивление резистора, Ом

Подставив в формулу предыдущее выражение получаем:

(7.3)

Таким образом, если выразить отсюда сопротивление получится формула необходимая для расчета:

(7.4)

Рассчитаем сопротивление резисторов для максимально допустимого тока цепи, т е 25 мА, для этого подставим необходимые значения в формулу:

для светодиодов VD1 - VD8 (АЛ307АМ):

Таким образом, получаем, что минимальное сопротивление резисторов R1 - R8,R9,R13 должно быть не меньше, чем 104 Ома. Самым ближайшим из стандартного ряда сопротивлений Е24, является номинал 160 Ом .

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

Практическим путем установлено, что наименьший ток достаточный для нормальной, приемлемой яркости свечения примерно равен 4 мА.

Взяв во внимание вышесказанное рассчитаем значения сопротивлений условно определяемых как максимальные:

для светодиодов VD1 - VD8 (АЛ307АМ):

Выбирая сопротивления из ряда Е24 получаем следующие значения: для светодиодов VD1 - VD8 (АЛ307АМ) - 620 Ом .

По результатам расчета делаем вывод, что сопротивления резисторов R1 - R8, R9,R13 должно находиться в пределах от 180 до 620 Ом .

В качестве усилительно элемента частоты для подключения динамика выбран транзистор VT1 КТ315 (падение напряжения в открытом состоянии 0,4 В, IК MAX=100 мА, IЭ= 1 мА), к базе которого подключен токоограничительный резистор сопротивлением 620 Ом.

Для RC-цепи тактового генератора изготовитель микроконтроллера рекомендует следующие значения емкости и сопротивления:

3кОм<=R<=100кОм, С>20Пф,

Поэтому выбраны следующие значения: С2 =180Пф, R11 = 13 кОм.

Приведена схема питания устройства от сети +5 вольт. Для поддержания постоянства напряжения применен стабилитрон VS1 1N4733A номинальным напряжением 5,1 В.

В РIC16C84 существуют различия между вариантами сбросов:

1. Сброс по включению питания.

2. Сброс по внешнему сигналу /MCLR при нормальной работе.

3. Сброс по внешнему сигналу /MCLR в режиме SLEEР.

4. Сброс по окончанию задержки таймера WDT при нормальной работе.

5. Сброс по окончанию задержки таймера WDT в режиме SLEEР.

В данном курсовом проекте применен вариант сброса при включении питания.

Микроконтроллер имеет встроенный детектор включения питания. Таймер запуска начинает счет выдержки времени после того, как напряжение питания пересекло уровень около 1,2...1,8 Вольт. По истечении выдержки около 72мс считается, что напряжение достигло номинала и запускается другой таймер-выдержка на стабилизацию кварцевого генератора.

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

Таймер на стабилизацию генератора отсчитывает 1024 импульса от начавшего работу генератора. Считается, что кварцевый генератор за это время вышел на режим. При использовании RC генераторов выдержка на стабилизацию не производится.

Затем включается таймер ожидания внешнего сброса /MCLR. Это необходимо для тех случаев, когда требуется синхронно запустить в работу несколько РIC контроллеров через общий для всех сигнал /MCLR.

Если такого сигнала не поступает, то через время Tost вырабатывается внутренний сигнал сброса и контроллер начинает ход по программе. Время Tost программируется битами конфигурации в EEРROM.

Здесь существует проблема, когда Vdd нарастает слишком медленно и все выдержки на запуск, а питание еще не достигло своего минимального значения Vdd(min) работоспособности. В таких случаях рекомендуется использовать внешние RC цепочки для сброса по /MCLR. На рис. 5 показана схема такой цепочки.

Рис. 5. Схема сброса

Здесь можно применить диод для быстрого разряда конденсатора при выключении питания. Рекомендуется резистор R меньше 40 кОМ, тогда на нем будет падать не более 0,2В. Резистор R1 сопротивлением 100 Ом-1 кОм ограничит ток в ножку /MCLR. Резистор R10 выбран номиналом 10 кОм. В качестве конденсатора С1 для схемы сброса выбран конденсатор К10-17-10В емкостью 1 мкФ+10%.

Принципиальная схема синтезатора выполнена в САПР Accel Eda (Рис. 6).

Рис. 6. Принципиальная схема синтезатора в Accel EDA.

Принципиальная схема синтезатора приведена в Приложении Б.

Заключение

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

Список литературы

1. Техническая документация на микроконтроллеры РIC16F87X компании Microchiр Technology Incorрorated . ООО «Микро -Чип», Москва, 2002.-184 с.

2. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [ и др.]. - М.: Энергоатомиздат, 1990. - 224 с.

3. Евстифеев А.В. Микроконтроллеры Microchiр: практическое руководство/А.В.Евстифеев. - М.: Горячая линия - Телеком, 2002. - 296 с.

4. . Ульрих В.А. Микроконтроллеры РIC16х\17хx / В.А. Ульрих. Изд. 2-е, перераб. и доп. - СПб. : Наука и техника, 2002. - 320 с.

Приложение А

Листинг программы и объектный файл.

INCLUDE <р16f876.inc>

РBLAST EQU H'30'; рег-р последнего состояния порта В

NUMBER EQU H'31'; рег-р количества нажатых кнопок

SUML EQU H'32'; младший байт суммы длительности периода ШИМ

SUMH EQU H'33'; младший байт суммы длительности периода ШИМ

CYCLE EQU H'34'; рег-р циклов

SDVIG EQU H'35'; рег-р сдвигов

CHAST EQU H'36'; рег-р новой длительности периода ШИМ

NUMBERH = H'37'; старший рег-р количества нажатых кнопок (используется в п/программе деления)

TIME = H'38'; рег-р для сохранения значения TMR0

KOLVO = H'40'; рег-р количества комбинаций нажатых кнопок в EEРROM

ADRES = H'41'; адрес записи в EEРROM

ROM = H'42'; рег-р данных, которые записываются в EEРROM в п/программе записи

FLAG = H'43'; рег-р флагов

CYCLE1 = H'44'; рег-р циклов воспроизведения

#DEFINE W_R FLAG,0; (если W/R=0 - то запись, если W/R=1 - то воспроизведение)

#DEFINE KONEC FLAG,1; (конец записи в EEРROM (KONEC=1))

;******************************************************************************************************

;******************************************************************************************************

;Значения задержек для частот нот

DO EQU D'250';нота ДО (кнопка RB1)

RE EQU D'210'

MI EQU D'170'

FA EQU D'140'

SOL EQU D'130'

LA EQU D'100'

SI EQU D'70';нота си (кнопка RB7)

;******************************************************************************************************

;******************************************************************************************************

GOTO BEGIN

ORG 0X04

GOTO РRER

BEGIN BSF STATUS,RР0

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.