Автор работы: Пользователь скрыл имя, 07 Мая 2014 в 12:07, научная работа
Практически в любой современной электронной технике можно найти микроконтроллеры. Столь широкое применение этих микросхем обусловлено чрезвычайно удачным сочетанием низкой стоимости, миниатюрных габаритов, высокой надёжности и огромным набором выполняемых функций, что в сочетании с возможностью адаптации микроконтроллеров к работе в конкретном устройстве определило их повсеместное распространение в любой технике.
Министерство образования и науки Российской Федерации
ФГБОУ ВПО «Чувашский государственный университет имени И.Н.Ульянова»
Кафедра управления и информатики в технических системах
Научно-исследовательская работа
«Таймер на микроконтроллере MSP430F2013»
Выполнила:ст.гр.РТЭ-11-08
Егорова Екатерина
Научный руководитель: доцент
Гильденберг Б.М
Чебоксары-2012
Цель работы – разработка таймера на микроконтроллере MSP430F2013, рассчитанного на 24 часа.
ВВЕДЕНИЕ
Практически в любой современной электронной технике можно найти микроконтроллеры. Столь широкое применение этих микросхем обусловлено чрезвычайно удачным сочетанием низкой стоимости, миниатюрных габаритов, высокой надёжности и огромным набором выполняемых функций, что в сочетании с возможностью адаптации микроконтроллеров к работе в конкретном устройстве определило их повсеместное распространение в любой технике.
Микроконтроллерный таймер - устройство для отсчета и отображения заданного интервала времени и включения силовой нагрузки через оптосимисторный ключ на интервал времени, заданный таймером или её включения после отработки таймером заданного интервала времени. Режим управления нагрузкой задается тумблером. Таймер может использоваться в быту или в организациях для управления силовой нагрузкой и/или задания нужного временного интервала.
СОДЕРЖАНИЕ:
Таймер выполняет следующие функции:
Структурная схема микроконтроллерного таймера представлена на рис. 1:
Рис.1. Таймер на микроконтроллере MSP430. Структурная схема
Таймер работает в двух режимах: первый – режим отображения времени, второй – ввода/редактирования времени таймера. Исходное состояние после включения – режим отображения времени (00 00 00). При нажатии кнопки «Mode», микроконтроллер переходит в режим ввода/редактирования, мигает c частотой 2 Гц цифра десятков часов, Кнопкой «Up» устанавливаем требуемое значение. При следующем нажатии кнопки «Mode» осуществляется переход к редактированию цифры единиц часов, далее – десятков, единиц минут, десятков секунд. При последующем нажатии кнопки «Mode» обнуляется цифра единиц секунд и осуществляется переход к счету времени (на вычитание) и его отображению. Счет времени ведется до 00 00 00. При достижении этого момента, на 5 секунд включается через усилитель звуковой излучатель с внутренним генератором. На период работы таймера включается через оптосимисторный ключ силовая нагрузка, если тумблер «Load» находится в положении «On», или нагрузка отключается на этот период , если тумблер находится в положении «Off».
Так как применен микроконтроллер с малым числом линий ввода/вывода, то для расширения числа таких линий, используется шестнадцатиразрядный сдвиговый регистр, преобразующий последовательный код из микроконтроллера (3 линии) в параллельный (16 выходных линий). Управление дисплеем осуществляется в динамическом режиме, т.е. цифры зажигаются поочередно, но вследствие инерционности зрения, это для наблюдателя незаметно. Частота развертки экрана 83 Гц, что достаточно комфортно. Управление силовой нагрузкой осуществляется подачей управляющего сигнала на внешний оптосимисторный ключ с датчиком нуля, что обеспечивает коммутацию силовой нагрузки до 2 кВт без генерации помех.
Защита от дребезга контактов при нажатии кнопок реализована программно.
Для питания схемы используется стабилизатор с выходным напряжением 3,3 вольта. На его вход подается напряжение 6…10 вольт от любого внешнего сетевого адаптера с выходным током 200 мА.
В устройстве используется недорогой 16-разрядный микроконтроллер MSP430F2013 (возможна замена на MSP430F2011, MSP430F2012 с идентичными характеристиками без изменения аппаратной и программной частей) [1, 2].
Технические характеристики MS
Процессор |
RISC |
Размер ядра |
16-Bit |
Подключения |
I²C, SPI |
Число вводов/выводов |
10 |
Размер программируемой памяти |
2KB |
Тип программируемой памяти |
FLASH |
Напряжение источника (Vcc/Vdd) |
1.8 V ~ 3.6 V |
Принципиальная схема микроконтроллерного таймера представлена на рис. 2.
Кварцевый резонатор 32768 Гц («часовой» кварц), подключается к внешним выводам XIN и XOUT, задает частоту тактирования внутреннего таймера микроконтроллера. Тактирование микропроцессорного ядра микроконтроллера осуществляется от внутреннего генератора.
Для реализации шестнадцатиразрядного
регистра сдвига используются две микросхемы
74НС495 – восьмиразрядные регистры
сдвига с регистром - защелкой на выходе, соединенные последовательно, образуя
16 выходов [3]. Для выдачи последовательного
кода из микроконтроллера на регистр используется
интерфейс SPI (выводы данных и синхронизации)
и один дополнительный вывод для защелки
сдвинутых данных.
Рис.2. Таймер на микроконтроллере MSP430. Схема электрическая принципиальная
Подача питающего напряжения на анод очередной активизируемой цифры дисплея осуществляется через транзисторный ключ, управляемый сигналом низкого уровня с выхода сдвигающего регистра D2. Для зажигания светодиодных сегментов, на их катоды через токоограничивающие резисторы подается низкий уровень сигнала непосредственно с выходов сдвигающего регистра D3. Светодиод HL1 используются для индикации состояния силовой нагрузки - если выдан сигнал на включение, то он горит. Светодиод HL2 индицирует включенное состояние таймера.
Электромагнитный излучатель включается через транзисторный ключ, управляемый сигналом низкого уровня непосредственно с вывода Р1.3 микроконтроллера. Кнопки и тумблер подключаются непосредственно к входам порта P1, настроенным на ввод с подключением внутренних подтягивающих резисторов.
Для включения силовой нагрузки с вывода порта Р1.7 подается низкий уровень сигнала, обеспечивающий протекание тока через светодиод маломощного симисторного оптрона с датчиком нуля, включенного в цепь управления мощного симистора, коммутирующего силовую нагрузку мощностью до 2 кВт.
Принципиальная схема оптосимисторного ключа представлена на рис. 3.
Рис.3. Таймер на микроконтроллере MSP430. Оптосимисторный ключ
Семисегментные индикаторы (ССИ) широко используются для отображения цифровой и буквенной информации.
Семь отображающих элементов позволяют высвечивать десятичные и шестнадцатеричные цифры, некоторые буквы латинского и русского алфавитов, а так же некоторые специальные знаки.
Для засветки одного сегмента большинства типов ССИ необходимо обеспечить протекание через сегмент тока около 10 мА при напряжении 2,0-2,5 В.
Преобразование двоичных кодов в коды для ССИ осуществляется программно. МК выдает через сдвигающий регистр D3 на сегменты индикатора код образа отображаемой цифры в формате abcdefg1( при нулевом значении бита – соответствующий сегмент горит) в соответствии с таблицей TBL_IMAGE:
Цифра |
Код образа |
abcdefg1 | |
0 |
00000011 |
1 |
10011111 |
2 |
00100101 |
3 |
00001101 |
4 |
10011001 |
5 |
01001001 |
6 |
01000001 |
7 |
00011111 |
8 |
00000001 |
9 |
00001001 |
Разрешение на горение очередной цифры выдается нулем в соответствующем разряде сдвигающего регистра в формате 00A1A2A3A4A5A6, в соответствии с таблицей TBL_COM:
Назначение индикатора |
Анод |
Код разрешения |
|||
Десятки часов |
A1 |
00011111 |
|||
Единицы часов |
A2 |
00101111 |
|||
Десятки минут |
A3 |
00110111 |
|||
Единицы минут |
A4 |
00111011 |
|||
Десятки секунд |
A5 |
00111101 |
|||
Единицы секунд |
A6 |
00111110 |
Примечание: старшие 2 бита используются для управления индикаторами LH1, LH2 и в таблице равны 0.
Для написания и отладки программы была использована интегрированная среда разработки IAR Embedded Workbench. В её состав входит оптимизирующий C/C++ компилятор и все необходимые средства для создания и отладки программ встроенных приложений на базе микроконтроллеров семейства MSP430. Для отладки в реальном времени был также использован отладочный комплект eZ430-F2013 [4]. Программа написана на языке С.
Алгоритм программы микроконтроллера состоит из двух основных частей:
основной программы и прерывающей программы таймера.
Р-схемы программ приведены на рис. 4.
Рис.4. Таймер на микроконтроллере MSP430.Р-схемы