Разработка электронных часов на базе МК51

 

Содержание


Введение

. Конкретизация технического задания

.Разработка функциональной схемы

. Разработка управляющий программы

Заключение

Список использованных источников


Введение


Электро?нные часы? - часы, в которых для отсчёта времени используются периодические колебания электронного генератора, преобразованные в дискретные сигналы, повторяющиеся через 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ВЕ518051АН4 КбайтПЗУ128 байт12150

Перед разработкой управляющей программы составим схему алгоритма прикладной программы . Схема приведенная на рис.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

00HMAIN ; Подпрограмма обслуживания прерывания от таймера00BH ; Вектор прерыванияR0,EXIT ; Задержка в однуR0,#1 ; секундуR1,EXITR1,#2T0,M1 ; Коррекция минутT1,M2 ; Коррекция часовA,35H ; Счетчик единиц секунд

INCA35H,AA,#10,EXIT35H,#0

MOV A,34H ; Счетчик десятков секунд

INCA34H,AA,#6,EXIT34H,#0

M1:MOV A,33H ; Счетчик единиц минут

INCA33H,AA,#10,EXIT33H,#0

MOV A,32H ; Счетчик десятков минут

INCA32H,AA,#6,EXIT32H,#0

M2: MOV A,31H ; Счетчик единиц часовA31H,AA,#4,M3; Проверка на совпадение

MOVA,30H; 24 часаA,#2,M331H,#030H,#0EXIT:CJNE A,#10,EXIT31H,#0 A,30H ; Счетчик десятков часов

INCA

MOV30H,A

EXIT: RETI ; Возврат из п/п прерываний:; Начальная инициализация30H,#0 ; Счетчик десятков часов31H,#0 ; Счетчик единиц часов32H,#0 ; Счетчик десятков минут33H,#0 ; Счетчик единиц минут34H,#0 ; Счетчик десятков секунд35H,#0 ; Счетчик единиц секундP1,#0FFHP0,#0FFHF0R0,#1 ; Начальная загрузкаR1,#2 ; счетчиков генератораTH0,#9CH ; секундных импульсовTMOD,#02H ; Т/С0 в режиме 2IE,#82H ; Разрешение

; прерываний от Т/С0TR0 ; Старт таймера Т/С0

INDIC:MOVDPTR,#200HA,35H;A,@A+DPTR;P0,A;P1.5;P1.0;A,34H;A,@A+DPTR;P0,A;P1.0;P1.1;A,33H;A,@A+DPTR;P0,A;P1.1;P1.2;A,32H;A,@A+DPTR;P0,A;P1.2;P1.3;A,31H;A,@A+DPTR;P0,A;P1.3;P1.4;A,30H;A,@A+DPTR;P0,A ;P1.4;P1.5;F0,M100;OPROS;INDIC ; Основная программа

M100:CLRP2.0A,34HA,#1,INDICF0INDIC:MOVR3,#24;DPTR,#210HR5,#0:MOVR6,#0A,R5A,R6A,@A+DPTRA,30H,M10R6A,R5A,R6A,@A+DPTRA,31H,M10R6A,R5A,R6A,@A+DPTRA,32H,M10R6A,R5A,R6A,@A+DPTRA,33H,M10F0:INCR5R5R5R5:DJNZR3,CIKL200H40H,78H,44H,30H,19H,22H,02H,58H,00H,10H210H

DB2,2,0,0


Заключение


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



Список используемой литературы


1. Русанов В.В., Шевелев М.Ю. Микропроцессорные устройства и системы. Учебное пособие. Томск: ТУСУР, 2007 г.

. Шарапов А.В. Цифровая и микропроцессорная техника. Томск: Изд.ТГУ

. Шарапов А.В. Микропроцессорные устройства и системы. Методическое указания к выполнению курсового проекта. Томск: Изд.ТГУ

. Дж. Уитсон. 500 практических схем на ИС. Издательство МИР. 1992г.

. А.А. Мячев. Персональные ЭВМ и микроЭВМ. Основы организации. Москва Радио и связь 1991г.


Содержание Введение . Конкретизация технического задания .Разработка функциональной схемы . Разработка управляющий программы Заключение

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ