Разработка электронных часов на базе МК51
Особенности проектирования часов со звуковым сигналом с использованием однокристального микроконтроллера семейства МК51. Разработка функциональной схемы устройства. Функции, выполняемые клавиатурой. Разработка алгоритма работы и управляющей программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.05.2013 |
Размер файла | 460,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Содержание
Введение
1. Конкретизация технического задания
2.Разработка функциональной схемы
3. Разработка управляющий программы
Заключение
Список использованных источников
Введение
Электромнные часым -- часы, в которых для отсчёта времени используются периодические колебания электронного генератора, преобразованные в дискретные сигналы, повторяющиеся через 1 с, 1 мин, 1 ч и т. д.; сигналы выводятся на цифровое табло, показывающее текущее время, а в некоторых моделях также число, месяц, год, день недели.
1. Конкретизация технического задания
Необходимо спроектировать часы со звуковым сигналом. Данные часы будут содержать четыре индикатора. Первые два индикатора отображают час, вторые два отображают минуты. Кнопки расположенные над индикатором служат для настройки времени на соответствующих индикаторах (верхняя кнопка прибавить 1 единицу времени, нижняя убавить). Звуковой сигнал будет срабатывать по истечению каждого часа работы.
В данном приборе предпочтительно использование однокристального микроконтроллера семейства МК51 т.к. система команд этих микроконтроллера более гибка и развита. В тоже время в корпусе данного микроконтроллера содержатся микросхемы параллельного интерфейса , программируемого таймера , ПЗУ для хранения основной программы и ОЗУ для организации стека . Наличие этих микросхем в одном корпусе микроконтроллера , так же решает проблему питания . В итоге для реализации проекта выберем микроконтроллер К1816ВЕ51 . Характеристика МК и функциональное назначение выводов микроконтроллера приведена ниже .
Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии и выпускается в корпусе БИС, имеющем 40 внешних выводов. Цоколевка корпуса МК51 и наименования выводов показаны на рис. 3.1. Для работы MK51 требуется один источник электропитания +5 В. Через четыре программируемых порта ввода/вывода MK51 взаимодействует со средой в стандарте ТТЛ-схем с тремя состояниями выхода. Корпус МК51 имеет два вывода для подключения кварцевого резонатора, четыре вывода для сигналов, управляющих режимом работы МК, и восемь линий порта 3, которые могут быть запрограммированы пользователем на выполнение специализированных (альтернативных) функций обмена информацией со средой.
Таблица 2.1
МК |
Аналог Intel |
Объем РПП |
Тип РПП |
Объем РПД |
F max МГЦ |
Iп, мА |
|
К1816ВЕ51 |
8051АН |
4 Кбайт |
ПЗУ |
128 байт |
12 |
150 |
Перед разработкой управляющей программы составим схему алгоритма прикладной программы . Схема приведенная на рис.1 описывает ход программы и основные проверки осуществляемые в ходе выполнения программы . На основе проанализированного технического задание можно вывести технические требования.
Технические требования:
- четыре семи сегментных индикатора;
- клавиатура состоящая из четырех кнопок;
- напряжение питания устройства: 5 В:
- потребляемая мощность: не более 1 Вт;
- коммутируемое напряжение для звонка: 220 В .
2. Разработка функциональной схемы устройства
Перед разработкой собственно функциональной схемы проанализируем структуру устройства и произведем разделение на программные и аппаратные блоки. Рассматривать будем только те блоки, функции которых можно реализовать двояко: или в виде отдельного устройства или программно с помощью микроконтроллера.
Блок клавиатуры. Для выбора типа организации клавиатуры (линейной или матричной) нужно определить, сколько кнопок нужно и какие функции они должны выполнять.
Функции, выполняемые клавиатурой:
- корректировка времени.
С учетом этого можно предложить следующий вариант:
- кнопка «Часы+1». При нажатии кнопки устройство прибавляет 1 ед. часа. При достижении 23.00, следующее нажатие кнопки приведёт время в исходное положение.
- кнопка «Часы-1». При нажатии кнопки устройство убавляет 1 ед. часа.
- кнопка «Минуты+1». При нажатии кнопки устройство прибавляет 1 ед. минуты. При достижении 00.59, следующее нажатие кнопки приведёт время в исходное положение.
- кнопка «Минуты-1». При нажатии кнопки устройство убавляет 1 ед. минуты.
Из вышесказанного следует, что четыре кнопки можно подключить напрямую к портам микроконтроллера. Так как число кнопок небольшое, то можно реализовать линейный тип клавиатуры.
Блок индикации. Объем информации, подлежащий отображению в обычном режиме и режиме коррекции: текущее время. Наиболее оптимальным вариантом будет являться семисегментный индикатор.
Большинство одноразрядных семисегментных индикаторов устроены на светодиодах, хотя существуют и альтернативы -- лампы тлеющего разряда, электровакуумные индикаторы (катодолюминесцентные, накаливаемые), лампы накаливания, жидкие кристаллы и т. д. На больших табло наподобие цен на бензин всё ещё применяются механические, или блинкерные индикаторы, переключающиеся с помощью электромагнитов. часы микроконтроллер алгоритм программа
В обычном светодиодном индикаторе девять выводов: один идёт к катодам всех сегментов, и остальные восемь -- к аноду каждого из сегментов. Эта схема называется «схема с общим катодом», существуют также схемы с общим анодом. Часто делают не один, а два общих вывода на разных концах цоколя -- это упрощает разводку, не увеличивая габаритов.
Многоразрядные индикаторы часто работают по динамическому принципу: выводы одноимённых сегментов всех разрядов соединены вместе. Чтобы выводить информацию на такой индикатор, управляющая микросхема должна циклически подавать ток на общие выводы всех разрядов, в то время как на выводы сегментов ток подаётся в зависимости от того, зажжён ли данный сегмент в данном разряде. Таким образом, чтобы получить десятиразрядный экран микрокалькулятора, нужны всего восемнадцать выводов (8 анодов и 10 катодов) -- а не 81. Сходным образом сканируется клавиатура калькулятора.
Существуют специальные микросхемы семисегментных дешифраторов, переводящие четырёхбитный код в его семисегментное представление. К примеру, отечественные (КР)514ид1 для индикаторов с общим катодом или (КР)514ид2 с общим анодом. Иногда дешифраторы встраивают прямо в индикатор. В настоящее время, в связи с широким распространением однокристальных микроконтроллеров с GPIO, семисегментные светодиодные индикаторы подключаются напрямую к выводам микроконтроллера.
Рис 1 - функциональная схема устройства.
Разработка алгоритма работы
Анализируя задание на проектирование, можно утверждать, что сетка расписания должна быть одна: обычная, т.е. с понедельника по субботу.
Основные функции, которые будет выполнять микроконтроллер:
- ежесекундно считывать текущее время из микросхемы часов реального времени и выводить на индикатор;
- после вывода времени производить вычисление номера смены и также выводить их на индикатор;
- ежеминутно проверять сетку расписания на совпадение времени и при совпадении давать звонок в течении 1 минуты;
- непрерывно производить сканирование клавиатуры, т.е. производить проверку на нажатие какой-либо клавиши.
Приведем детализированное описание алгоритма работы устройства по представленным блок-схемам. Основная программа начинает выполняться после аппаратного сброса микроконтроллера. Производится инициализация микроконтроллера: начальная загрузка регистров, настройка последовательного порта, прерываний, таймера, настройка регистров микросхемы часов, настройка направления портов.
Все остальные действия выполняются только по прерываниям.
Микросхема часов настраивается таким образом, что каждую секунду выдает запрос прерывания на микроконтроллер. Соответствующая подпрограмма обработки прерывания считывает текущее значение времени из микросхемы часов и выводит эти значения на семисегментный индикатор. Затем сравнивает это значение с временной сеткой в EEPROM. Если значения совпадают, то на соответствующий вывод порта подается активный уровень для включения звонка и затем запускается таймер T0 для формирования временной задержки в 1 минуту (длительность звонка). Таймер Т0 переполняется определенное число раз и подается команда на выключение звонка и остановку таймера. Загрузку сетки расписания производим вручную.
Рис 2.Схема алгоритма прикладной программы
Рис 3.Схема алгоритма времени
3. Разработка управляющей программы
Как сказано выше , прибор представляет собой часы реального времени. Потому для создания управляющей программы взята прикладная
программа “ЧАСЫ” и дополнена до конечного вида . Листинг
управляющей приведен ниже . После ознакомлением с листингом далее предложено описание работы программы.
Начальная установка и запуск часов в 00 00 00
ORG 00H
SJMP MAIN ; Подпрограмма обслуживания прерывания от таймера0
ORG 0BH ; Вектор прерывания
DJNZ R0,EXIT ; Задержка в одну
MOV R0,#1 ; секунду
DJNZ R1,EXIT
MOV R1,#2
JNB T0,M1 ; Коррекция минут
JNB T1,M2 ; Коррекция часов
MOV A,35H ; Счетчик единиц секунд
INC A
MOV 35H,A
CJNE A,#10,EXIT
MOV 35H,#0
MOV A,34H ; Счетчик десятков секунд
INC A
MOV 34H,A
CJNE A,#6,EXIT
MOV 34H,#0
M1: MOV A,33H ; Счетчик единиц минут
INC A
MOV 33H,A
CJNE A,#10,EXIT
MOV 33H,#0
MOV A,32H ; Счетчик десятков минут
INC A
MOV 32H,A
CJNE A,#6,EXIT
MOV 32H,#0
M2: MOV A,31H ; Счетчик единиц часов
INC A
MOV 31H,A
CJNE A,#4,M3 ; Проверка на совпадение
MOV A,30H ; 24 часа
CJNE A,#2,M3
MOV 31H,#0
MOV 30H,#0
SJMP EXIT
M3: CJNE A,#10,EXIT
MOV 31H,#0
MOV A,30H ; Счетчик десятков часов
INC A
MOV 30H,A
EXIT: RETI ; Возврат из п/п прерываний
MAIN: ; Начальная инициализация
MOV 30H,#0 ; Счетчик десятков часов
MOV 31H,#0 ; Счетчик единиц часов
MOV 32H,#0 ; Счетчик десятков минут
MOV 33H,#0 ; Счетчик единиц минут
MOV 34H,#0 ; Счетчик десятков секунд
MOV 35H,#0 ; Счетчик единиц секунд
MOV P1,#0FFH
MOV P0,#0FFH
CLR F0
MOV R0,#1 ; Начальная загрузка
MOV R1,#2 ; счетчиков генератора
MOV TH0,#9CH ; секундных импульсов
MOV TMOD,#02H ; Т/С0 в режиме 2
MOV IE,#82H ; Разрешение
; прерываний от Т/С0
SETB TR0 ; Старт таймера Т/С0
INDIC: MOV DPTR,#200H
MOV A,35H ;
MOVC A,@A+DPTR ;
MOV P0,A ;
SETB P1.5 ;
CLR P1.0 ;
MOV A,34H ;
MOVC A,@A+DPTR ;
MOV P0,A ;
SETB P1.0 ;
CLR P1.1 ;
MOV A,33H ;
MOVC A,@A+DPTR ;
MOV P0,A ;
SETB P1.1 ;
CLR P1.2 ;
MOV A,32H ;
MOVC A,@A+DPTR ;
MOV P0,A ;
SETB P1.2 ;
CLR P1.3 ;
MOV A,31H ;
MOVC A,@A+DPTR ;
MOV P0,A ;
SETB P1.3 ;
CLR P1.4 ;
MOV A,30H ;
MOVC A,@A+DPTR ;
MOV P0,A ;
SETB P1.4 ;
CLR P1.5 ;
JB F0,M100 ;
CALL OPROS ;
SJMP INDIC ; Основная программа
M100: CLR P2.0
MOV A,34H
CJNE A,#1,INDIC
CLR F0
SJMP INDIC
OPROS: MOV R3,#24 ;
MOV DPTR,#210H
MOV R5,#0
CIKL: MOV R6,#0
MOV A,R5
ADD A,R6
MOVC A,@A+DPTR
CJNE A,30H,M10
INC R6
MOV A,R5
ADD A,R6
MOVC A,@A+DPTR
CJNE A,31H,M10
INC R6
MOV A,R5
ADD A,R6
MOVC A,@A+DPTR
CJNE A,32H,M10
INC R6
MOV A,R5
ADD A,R6
MOVC A,@A+DPTR
CJNE A,33H,M10
SETB F0
M10: INC R5
INC R5
INC R5
INC R5
M12: DJNZ R3,CIKL
RET
ORG 200H
DB 40H,78H,44H,30H,19H,22H,02H,58H,00H,10H
ORG 210H
DB 2,2,0,0
END
Заключение
В данной работе были спроектированы электронные часы. Они разработаны с учетом опыта, накопленного при изучении аналогов и ориентировано на последующую коммерциализацию. Основными критериями выбора тех или иных компонентов были цена, простота монтажа, функциональность устройства. При продолжении работы над устройством особое внимание необходимо будет уделить надежности устройства, так как оно должно будет непрерывно функционировать в течение нескольких лет. В целом же можно считать, что задача на проектирование выполнена полностью.
Список используемой литературы
1. Русанов В.В., Шевелев М.Ю. Микропроцессорные устройства и системы. Учебное пособие. Томск: ТУСУР, 2007 г.
2. Шарапов А.В. Цифровая и микропроцессорная техника. Томск: Изд.ТГУ
3. Шарапов А.В. Микропроцессорные устройства и системы. Методическое указания к выполнению курсового проекта. Томск: Изд.ТГУ
4. Дж. Уитсон. 500 практических схем на ИС. Издательство МИР. 1992г.
5. А.А. Мячев. Персональные ЭВМ и микроЭВМ. Основы организации. Москва “Радио и связь” 1991г.
Размещено на Allbest.ru
Подобные документы
Принцип действия устройства сбора информации на базе микроконтроллера МК51: индикация, "рабочий режим" и передача данных персонального компьютера. Алгоритм начального опроса датчиков. Электрическая принципиальная схема устройства, текст программы.
курсовая работа [102,5 K], добавлен 21.10.2012Актуальность задачи. Разработка функциональной схемы устройства. Радиолокационная установка (РЛУ). Микропроцессорная часть. Обоснование алгоритма работы устройства. Разработка управляющей программы устройства. Схема алгоритма. Пояснения к программе.
курсовая работа [193,9 K], добавлен 18.10.2007Анализ возможности разработки системы автоматизированного контроля на базе микроконтроллера МК51. Анализ структурной схемы МК51, портов ввода/вывода данных, возможности организации доступа к внешней памяти. Обзор системы команд МК51. Резидентная память.
курсовая работа [108,7 K], добавлен 15.01.2012Микропроцессоры позволяют строить универсальные устройства управления электронными весами. Разработка функциональной схемы, схемы алгоритма прикладной программы. Разработка принципиальной схемы, управляющей программы. Листинг управляющей программы.
курсовая работа [118,0 K], добавлен 04.07.2008Описание структуры системы синтезатора. Описание ресурсов однокристального 8-разрядного Flash CMOS микроконтроллера РIC16F876. Основное предназначение сторожевого таймера WDT. Описание функциональных узлов МПС. Разработка алгоритма работы устройства.
курсовая работа [1,1 M], добавлен 14.12.2009Разработка функциональной и принципиальной схемы. Выбор управляющего контроллера. Описание МК PIC16F626, МК AVR, МК 51. Выбор элементной базы. Разработка управляющей программы. Описание алгоритма работы программы. Схема устройства, листинг программы.
курсовая работа [492,9 K], добавлен 28.12.2012Сравнительный анализ существующих приборов. Разработка функциональной схемы устройства. Выбор и статистический расчет элементов, входящих в систему: датчика, источник тока, усилителя, микроконтроллера, блок питания. Блок-схема управляющей программы.
курсовая работа [769,9 K], добавлен 12.01.2015Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Разработка математической модели системы. Моделирование работы конвейера сборочного цеха в течении 8 часов. Определение вероятности пропуска секции. Расчет количества скомплектованных изделий за 8 часов. Исследование системы на имитационной модели.
контрольная работа [98,3 K], добавлен 24.09.2014Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.
курсовая работа [577,8 K], добавлен 24.06.2013