Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Разработка часов на микроконтроллере PIC16F84

Тип Реферат
Предмет Радиоэлектроника
Просмотров
1568
Размер файла
177 б
Поделиться

Ознакомительный фрагмент работы:

Разработка часов на микроконтроллере PIC16F84

ФорматЗонаПозОбозначениеНаименованиеколПримечание




Резистор




R1,R2,R6,R4МЛТ0,125 2 Ком +/- 10%4



R7МЛТ0,125 780 ом +/- 10%1



R3,R5МЛТ0,125 10 Ком +/- 10%2











Конденсатор




С1,С4К50-16100 Мкф +- 10%2



С2,С3КМ3-160.2 Мкф +- 10%2











Транзисторы




VT2,VT3КТ315Г2



VT1КТ361Г3











Микросхемы




DD1К1533АП51



DD2К142ЕН5А1











Диод




VD1КД5221






































































































































ФорматЗонаПозОбозначениеНаименованиеколПримечание




Резистор




R1,R2МЛТ0,125 10 Ком +/- 10%2



R3-R10МЛТ0,125 180 ом +/- 10%8











Конденсатор




С1,С2К5-1630 пф +- 10%2











Микросхемы




DD1PIC16F84A-04ip1











Индикатор




HG1-HG4АЛС324А14











Кварцевыйрезонатор




Qz1РК-8534.000 Мгц1


































































































































































МинистерствообразованияРоссийскойФедерации

СеверокавказскийГосударственныйТехническийУниверситет

Кафедраэлектроникии микроэлектроники


КУРСОВОЙ ПРОЕКТ


По предмету: Микропроцессорныесистемы управленияи диагностики


На тему"Разработкачасов на микроконтроллереPIC16F84 "


Выполнил: студент 5 курса

группыУПЭ-991

КозидубовЕ.Н

Принял: ЯкушевВ.М.


Ставрополь2002


Задание


Разработатьчасы реальноговремени намикроконтроллереPIC16F84, программноеобеспечения для него наязыке ассемблер,рассмотретьвопросы программированиямикроконтроллера.


Напряжениепипания устройства5В +/-1В

ЧастотатактовогогенератораМК 4 Мгц

Количествоотображаемыхцифр на идикаторе 4

Количествокнопок управления 2

Единицыизмерениявремени Часы

Минуты

Секунды


Содержание


Введение

1.Разработкаструктурнойсхемы устройства

2.Выборэлементнойбазы

3.Разработкасхемы электрическойпринципиальной

4.Разработкапрограммногообеспечения

5.Программированиемикроконтроллера

Заключение

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


Введение

Последниегоды отмеченымассовым наполнениемрынка всевозможнойавтоматизированнойаппаратуройсамого различногоназначенияи самой различнойсложности отпластиковойплатежнойкарточки дохолодильника,автомобиляи сложнейшихустановок. Этостало возможнымблагодарямикроконтроллерам(МК) Микроконтроллерывходят во всесферы жизнедеятельностичеловека, ихнасыщенностьв нашем окружениирастет из годав год. То чтоказалось нам 5 лет назад сказкой сейчас вполневозможно благодарястремительномуразвитию технологиипроизводстваэлектронныхкомпонентов.Да пять летназад мы ужезнали просуперкомпьютерысуперпроцессорысуперАЦП и т.д.Ну а что же сейчаса сейчас "ВСЕВ ОДНОМ КОРПУСЕ"и это жестокаяправда. Раньше, изобретателюэлектронныхсхем приходилосьиметь дело с"кучей" электронныхкомпонентов, размещая согромным трудомвсе на печатнойплате размеромметр на метри при испытаниикипятить чайникна тойже плате(это про расходуемуюэнергию), в нашевремя разработчикуэлектроннойаппаратурыне грозят вышеуказанныесложности, точнее чембольше денегтем меньшесложностей.Но появляютсяновые неудобстваинформационного общества такиекак :

Фирмы производящиемикроконтроллерыATMEL,INTEL,ZILOG,MICROCHIP,"и с радостьюдля патриотов"АНГСТРЕМ,scenix,кажетсяможно продолжатьбесконечно.Каждая изперечисленныхфирм кромеАНГСТРЕМ имеетболее 100 видовразличных поназначениюмикроконтроллеров,а каждый микроконтроллерне менее 200 страництехническихописаний ихарактеристикплюс к этомуна английскомязыке, кромеАНГСТРЕМ. Выберисвой девизсовременногообщества.

Средстваразработкипрограммногообеспечениядля микроконтроллерову каждой фирмысвое, а что касаетсяязыков программированияконечно ассемблерсамый старый,добрый, всемпонятный, нуа что через годперечислимнекоторые, "C,PASCAL,JAVA,DELPHI,C++,+TURBO,+VISUAL"опять можнопродолжатьбесконечно.

Вернемсяк теме "в одномкорпусе" раньшеК155ХХ 50 штук асейчас PIC16F84и простов подарок ПЗУ,ОЗУ, таймер,система прерываний,аналогово-цифравойпреобразователь,встроенныйгенератор,корпус с 20 ножкамии т.д.

Ну хватито грустном заработу!

В даннойпроекте будетразработаноустройствона современноммикроконтроллере,написана программаи рассмотреныинструментальныесредства.Такжебудит примененызнания полученныена занятиях.


1.Разработкаструктурнойсхемы устройства


Структурнаясхема электронныхчасов на микропроцессореприведена нарисунке 1. Онасостоит из 4основных блоков.Тактовый генераторпредназначендля генерациипрямоугольныхимпульсовчастотой 4 Мгцдля тактированиямикропроцессораи программируемоготаймера . Микропроцес-




Рисунок 1.Структурнаясхема устройства


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


2.Выбор элементнойбазы


Данное устройствоможет бытьвыполнено наразной элементнойбазе включаямикросхемысерии 155,176,561 такжеразличныемикропроцессорныекомплекты580,1816,1830 и на специализированных микросхемахнапример 1901 чтопредпочтительнейс экономическойточки зреният.к в их составвходят контроллерклавиатурыи дисплея тактовыйгенератор,устройствоуправления,таймер и многоедругое необходимоедля электронныхчасов. В даннойработе в учебныхцелях это устройствобудет разработанона микроконтроллерефирмы Microchip.inc.

PIC16F84относится ксемейству КМОПмикроконтроллеров.Отличаетсятем, что имеетвнутреннее1K x 14 бит EEPROM для программ,8-битовые данныеи 64байт EEPROM памятиданных. Приэтом отличаютсянизкой стоимостьюи высокойпроизводительностью.Все командысостоят изодного слова(14 бит шириной)и исполняютсяза один цикл(400 нс при 10 МГц),кроме командперехода, которыевыполняютсяза два цикла(800 нс). PIC16F84имеет прерывание,срабатывающееот четырехисточников,и восьмиуровневыйаппаратныйстек. Перифериявключает в себя8-битный таймер/счетчикс 8-битным программируемымпредварительнымделителем(фактически16 - битный таймер)и 13 линий двунаправленноговвода/вывода.Высокая нагрузочнаяспособность(25 мА макс. втекающийток, 20 мА макс.вытекающийток) линийввода/выводаупрощают внешниедрайверы и, темсамым, уменьшаетсяобщая стоимостьсистемы. Разработкина базе контроллеровPIC16F84поддерживаетсяассемблером,программнымсимулятором,внутрисхемнымэмулятором(только фирмыMicrochip) и программатором.
Серия PIC16F84подходит дляширокого спектраприложенийот схем высокоскоростногоуправленияавтомобильнымии электрическимидвигателямидо экономичныхудаленныхприемопередатчиков,показывающихприборов исвязных процессоров.Наличие ПЗУпозволяетподстраиватьпараметры вприкладныхпрограммах(коды передатчика,скорости двигателя,частоты приемникаи т.д.). Малыеразмеры корпусов,как для обычного,так и для поверхностногомонтажа, делаетэту сериюмикроконтроллеровпригодной дляпортативныхприложений.Низкая цена,экономичность,быстродействие,простотаиспользованияи гибкостьввода/выводаделает PIC16F84привлекательнымдаже в тех областях,где ранее неприменялисьмикроконтроллеры.Например, таймеры,замена жесткойлогики в большихсистемах,сопроцессоры.Cледует добавить,что встроенныйавтомат программированияEEPROM кристаллаPIC16F84позволяет легкоподстраиватьпрограмму иданные подконкретныетребованиядаже послезавершенияассемблированияи тестирования.Эта возможностьможет бытьиспользованакак для тиражирования,так и для занесениякалибровочныхданных ужепосле окончательноготестирования.

Структурнаясхема микроконтроллераприведена нарисунке 2.



Рисунок 2.Структурнаясхема микроконтроллераPIC16F84


Архитектураоснована наконцепциираздельныхшин и областейпамяти дляданных и длякоманд (Гарвардскаяархитектура).Шина данныхи память данных(ОЗУ) - имеют ширину8 бит, а программнаяшина и программнаяпамять (ПЗУ)имеют ширину14 бит. Такаяконцепцияобеспечиваетпростую, номощную системукоманд, разработаннуютак, что битовые,байтовые ирегистровыеоперации работаютс высокой скоростьюи с перекрытиемпо временивыборок команди циклов выполнения.14- битовая ширинапрограммнойпамяти обеспечиваетвыборку 14-битовойкоманды в одинцикл. Двухступенчатыйконвейер обеспечиваетодновременнуювыборку и исполнениекоманды. Всекоманды выполняютсяза один цикл,исключая командыпереходов. ВPIC16F84программнаяпамять объемом1К х 14 расположенавнутри кристалла.Исполняемаяпрограмма можетнаходитьсятолько во встроенномПЗУ.


Условнографическоеобозначениемикроконтроллераприведено нарисунке 3.



Программныйкод, которыйзаписан в кристалл,может бытьзащищен отсчитыванияпри помощиустановки битазащиты (CP) в словеконфигурациив ноль. Содержимоепрограммы неможет бытьпрочитано так,что с ним можнобыло бы работать.Кроме того, приустановленномбите защитыстановитсяневозможнымизменять программу.То-же относитсяи к содержимомупамяти данныхEEPROM.
Если установленазащита, то битCP можно стеретьтолько вместес содержимымкристалла.Сначала будетстерта EEPROM программнаяпамять и памятьданных и в последнююочередь битзащиты кодаCP.

КристаллPIC16C84 имеет четыреслова, расположенныепо адресу(2000h-2003h) Они предназначеныдля храненияидентификационногокода (ID) пользователя,контрольнойсуммы или другойинформации.Как и словоконфигурации,они могут бытьпрочитаны илизаписаны толькос помощьюпрограмматора.Доступа попрограмме кним нет.
Есликристалл защищен,пользователюрекомендуетсяиспользоватьдля идентификациитолько младшиесемь бит каждогоID слова, а в старшийбит записывать`0`. Тогда ID словаможно будетпрочитать дажев защищенномварианте.

Входв режим SLEEP осуществляетсякомандой SLEEP. Поэтой команде,если WDT разрешен,то он сбрасываетсяи начинает счетвремени, бит"PD" в регистрестатуса (f3) сбрасывается,бит "TO" устанавливается,а встроенныйгенераторвыключается.Порты ввода/выводасохраняютсостояние,которое ониимели до входав режим SLEEP. Длясниженияпотребляемоготока в этомрежиме, ножкина вывод должныиметь такиезначения, чтобыне протекалток между кристалломи внешнимицепями. Ножкина ввод должныбыть соединенывнешними резисторамис высоким илинизким уровнем,чтобы избежатьтоков переключения,вызываемыхплавающимивысокоомнымивходами. То жеи про RTCC. Ножка/MCLR должна бытьпод напряжениемVihmc.


Обозначение

Нормальныйрежим

Режимзаписи EEPROM

RA0 - RA3Двунаправленныелинии ввода/вывода.Входныеуровни ТТЛ.-
RA4/RTCCВходчерез триггерШмитта. Ножкапорта ввода/выводас открытымстоком иливход частотыдля таймера/счетчикаRTCC-
RB0/INTДвунаправленнаялиния портаввода/выводаили внешнийвход прерывания.Уровни ТТЛ.-
RB1 - RB5Двунаправленныелинии ввода/вывода.Уровни ТТЛ.-
RB6Двунаправленныелинии ввода/вывода.Уровни ТТЛ.Входтактовой частотыдля EEPROM
RB7Двунаправленныелинии ввода/вывода.Уровни ТТЛ.Вход/выходEEPROM данных.
/MCLR/Vpp/Низкийуровень наэтом входегенерируетсигнал сбросадля контроллера.Активный низкий.Сброс контроллера.Длярежима EEPROM - податьVpp.
OSC1 /CLKINДляподключениякварца, RC иливход внешнейтактовой частоты.-
OSC2 /CLKOUTГенератор,выход тактовойчастоты в режимеRC генератора,в остальныхслучаях - дляподкл.кварц-
VddНапряжениепитанияНапряжениепитания
VssОбщий(земля)Общий(земля)

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

Интервалрабочих температур-55 ... +125С
Температурахранения-65 ... +150С
Напряжениена любой ножкеотносительноVss (земли) (исключаяVdd и /MCLR)-0.6...Vdd +0.6 В
НапряжениеVdd относительноVss0 ... +7.5 В
Напряжениена /MCLR относительноVss0...+14 В(Прим.2)
Общаярассеиваемаямощность800 мВт(Прим.1)
Макс.ток в ножкуVss150 мА
Макс.ток в ножкуVdd100 мА
Макс.ток в любуюножку ввода+- 500 мкА
Макс.втекающийток (любая ножкаВывода)25 мА
Макс.вытекающийток (любая ножкаВывода)20 мА
Макс.сумарныйвытекающийток для всехножек порта_А80 мА
Макс.сумарныйвытекающийток для всехножек порта_В50 мА
Макс.сумарныйвтекающийток для всехножек порта_А50 мА
Макс.сумарныйвтекающийток для всехножек порта_В100 мА

Область ОЗУорганизованакак 128 х 8. К ячейкамОЗУ можноадресоватьсяпрямо или косвенно,через региструказатель FSR(04h).
Это такжеотносится ик EEPROM памятиданных-констант.

В регистрестатуса (03h) естьбиты выборастраниц, которыепозволяютобращатьсяк четырем страницамбудущих модификацийэтого кристалла.Однако дляPIC16F84память данныхсуществуеттолько до адреса02Fh. Первые 12 адресовиспользуютсядля размещениярегистровспециальногоназначения.Регистры садресами 0Ch-2Fhмогут бытьиспользованы,как регистрыобщего назначения,которые представляютсобой статическоеОЗУ. Некоторыерегистры специальногоназначенияпродублированына обеих страницах,а некотрыерасположенына странице1 отдельно. Когдаустановленастраница 1, тообращение кадресам 8Ch-AFh фактическиадресует страницу0. К регистрамможно адресоватьсяпрямо или косвенно.В обоих случаяхможно адресоватьдо 512 регистров.

Watchdog таймерпредставляетсобой полностьюнезависимыйвстроенныйRC генератор,который нетребует никакихвнешних цепей.Он будет работать,даже если основнойгенераторостановлен,как это бываетпри исполнениикоманды SLEEP. Таймервырабатываетсигнал сброса.Выработка такихсбросов можетбыть запрещенапутем записинуля в специальныйбит конфигурацииWDTE. Эту операциюпроизводятна этапе программирования микросхем.


Номинальнаявыдержка WDTсоставляет18 мс (без использованияделителя). Оназависит оттемпературы,напряженияпитания, отособенностейтипов микросхем.Если требуютсябольшие задержки,то к WDT может бытьподключенвстроенныйделитель скоэффициентомделения до1:128; которыйпрограммируетсяпутем записив регистр OPTION.Здесь могутбыть реализованывыдержки до2.5 секунд.
Команды"CLRWDT" и "SLEEP" обнуляютWDT и делитель,если он подключенк WDT. Это запускаетвыдержку временисначала ипредотвращаетна некотороевремя выработкусигнала сброс.Если сигналсброса от WDT всеже произошел,то одновременнообнуляетсябит "TO" в регистрестатуса (f3). Вприложенияхс высоким уровнемпомех, содержимоерегистра OPTIONподверженосбою. Поэтомурегистр OPTION долженобновлятьсячерез равныепромежуткивремени. Следуетучесть, чтонаихудшейкомбинациейявляется: Vdd=min,температура=maxи max коэффициентделения делителя,-это приводитк самой большойвыдержке времени,она может достигатьнесколькихсекунд.

Также в устройствебудет использованцифро-буквенныйиндикатор свысотой цифр7,5 мм из семисегментов сдецимальнойточкой АЛС324А,его графическоеизображениеприведено нарисунке 4.


3.Разработкасхемы электрическойпринципиальной


ПрименениемикроконтроллеровPIC16F84 приводитк резкому уменьшениюразмеров устройствапотребляемоймощности иколичестваиспользуемыхэлементов. Приразработкеустройств намикроконтроллерах разработчикуэлектроннойсхемы необходимовыбрать частотутактовогогенераторадля поставленнойзадачи и следитьчтобы максимальнаянагрузка напорты вводавывода не превышаладопустимую.

КристаллыPIC16F84могут работатьс четырьмятипами встроенныхгенераторов.Пользовательможет запрограммироватьдва конфигурационныхбита (FOSC1 и FOSC0) длявыбора одногоиз четырехрежимов: RC, LP, XT, HS.КристаллыPIC16... могут такжетактироватьсяи от внешнихисточников.Генератор,построенныйна кварцевыхили керамическихрезонаторах,требует периодастабилизациипосле включенияпитания. Дляэтого, встроенныйтаймер запускагенераторадержит устройствов состояниисброса примерно18 мс после того,как сигнал на/MCLR ножке кристалладостигнетуровня логическойединицы. Такимобразом, внешняяцепочка RC , связаннаяс ножкой /MCLR вомногих случаяхне требуется.

Встроенныегенераторыработоспособныпри определенныхноминалахпитающегонапряжения:

Vdd

OSCmode

MaxFreq

2..3VRC2 MHz
LP200 kHz
3..6VRC, XT4 MHz
LP200 kHz
4,5..5,5HS10 MHz

При частотахниже 500 кГц, внутреннийгенератор можетгенерироватьсбойный импульсна гармониках,когда переключаетсябит 0 порта A. Этогоне происходитпри использованиивнешнего генератораили при встроенномRC генераторе.PIC16F84-XT,-HS или -LP требуютподключениякварцевогоили керамическогорезонаторак выводам OSC1 иOSC2. Маркировкаследующая: XT -стандартныйкварцевыйгенератор, HS -высокочастотныйкварцевыйгенератор, LP -низкочастотныйгенератор дляэкономичныхприложений.Резистор Rs можетпотребоватьсядля генератора"HS", особеннопри частотахниже 20 МГц длягашения гармоник.Он также можетпотребоватьсяв режиме XT срезонаторомтипа AT strip-cut. Необходимыезначенияконденсаторовдля разныхчастот приведеныв таблице.

Болеевысокая емкостьбудет увеличиватьстабильностьгенератора,но также будетувеличиватьвремя запуска.Значения приведеныдля ориентировки.В режимах HS иXT, чтобы избежатьгармоник можетпотребоватьсяпоследовательныйрезистор Rs.

Т
аблица Выбор конденсаторадля кварцевогогенератора

Типгенератора

Частота

КонденсаторС1

КонденсаторС2

LP32 КГц30 пФ30 - 50пф
100 КГц15 пф15 пФ
200 КГц0- 15пФ0 - 15пФ
XT100 КГц15 - 30пФ200 -300 пФ
200 КГц15- 30пФ100 -200 пФ
455 КГц15 - 30пФ15 -100пФ
1 МГц15 - 30пФ15 - 30пФ
2 МГц15 пФ15 пФ
4МГц15 пФ15 пФ
HS4 МГц15 пФ15 пФ
10 МГц15пФ15 пФ

Ввод информациидля управленияэлектроннымичасами осуществляетсячерез 2 кнопкиподключенныхк портам RB0иRA0 микроконтроллера.Схема подключенияпоказана нарисунке 6. Мерыпо предотвращениюдребезга контактовмогут реализоватсяпрограмнымметадом. Сопротивлениерезистороввыбирается из расчетапротиканиянаименьшего тока необходимогодля фиксациилогической1 на входахмикрокантроллерапри неактивныхпозициях кнопоки в данном случаесоставляют10 Ком.


Рисунок 6 .Подключениеклавиатурыуправления


Рисунок 7.Схема подключенияустройстваиндикации

Также в устройствеприсутствуетблок индикациисостоящий из4-х индикаторовАЛС324А которыеуправляютсямикропроцессоромчерез токоограничивающиерезисторыR4...R10 номеналом180 ом. Индикацияосуществляетсядинамическимспособом т.евывод осуществляетсяпо порядку1,2,3,4 - индикаторпо 10мс на каждыйиндикатор.Схема подключенияиндикаторовпоказана нарисунке 7.

Электрическаяпринципиальнаясхема устройстваприведена начертеже 1.


4.Разработкапрограммногообеспечения


Приразработкеи отладке программыбыла использованабесплатнаяпрограмма MplabпредоставляемаяфирмойMicrochip.

MPLAB- это интегрированнаясреда разработки(IDE) для семействамикроконтроллеровPICmicro фирмы Microchip TechnologyIncorporated. MPLAB позволяетписать, отлаживатьи оптимизироватьпрограммы дляВаших разработок.MPLAB включаеттекстовыйредактор, симулятор(виртуальныйотладчик), менеджерпроектов иподдерживаетэмуляторы(внутрисхемныеотладчики)MPLAB-ICE и PICMASTER , программаторыPICSTART Plus и PRO MATE II и другиесредства иинструментыразработокфирмы Microchip и другихфирм.

Инструментальныесредства MPLAB,организованныекак ниспадающиеменю и определяемыебыстрые клавиши,позволяют:-ассемблировать,компилироватьисходный текст;-отлаживатьлогику работы,наблюдая спомощью симулятораили, в реальномвремени, с эмуляторомMPLAB-ICE ;- просматриватьпеременныев окнах просмотра;-программироватькристаллы спомощью программаторовPICSTART Plus или PRO MATE II- и многоедругое.


Рисунок 8.Блок схемапрограммы


MPLAB работаетпод Microsoft Windows 3.1x, Windows 95, 98, NT,2000 (начиная сверсии 5.00.00). Правдане все дополнительноеоборудование,такое каквнутрисхемныеэмуляторы ипрограмматорыбудет функционироватьпод всемиоперационнымисистемами. Дляболее подробногоописания обращайтеськ специализированнойлитературеи техническимописаниям фирмыMicrochip.

Описаниепрограммы можнонайти на интернетсайте фирмыMicrochip

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

Самаяответственнаячасть программыэто обработкапрерыванияполученногоот встроенноготаймера микроконтроллераот неё зависитточность ходачасов т.е ошибкив этой частипрограммыприводят кзначительномуотстованиюили опережениюхода часовтамже можетбыть осуществленаточная подстройка.Рассмотримполучениеинтервала в1 секунду с помощьютаймера, приконфигурациитаймера егонадо подключитьк внутреннемугенераторукоторый позаданию вырабатываетчастоту 4,00 Мгцпосле такогоподключенияв данном микроконтроллерена таймер будетподаватсячастота генератора(Fг)/4и будет равна1000000 гц с помощьювстроенногопредделителяона делитсяна 64 и на таймерприходит уже15625 гц. После этогонам необходиморазделить эточисло на такоежечтобы получитьчастоту колебанийв 1гц. Из за небольшойразрядноститаймера (8) этапроцедураделается в дваэтапа длем на125 и еще раз настолько же.Сразу послеэтого прибавляем1 к региструсекунд (в программеsek).Результатприведен ниже:

1. F(г)=4мГц/4=1000000

2. 1000000/64=15625

3. 15625/125=125

4. 125/125=1 Гц


LIST p=16F84A ; указательпроцессора

include

org0x00;Вектор сброса

GotoStart

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

org004;Началопроцедурыобработкипрерывания

movwftemp ; Сохранениерабочего регистраW в регистреtemp

clrwdt;Очисткасторожевоготаймера дляпредотврашения

callInt1;сброса процессоракаждый 18мс

movlw b'10100000'; Разрешаем прерыванияот таймера

movwf INTCON;

movftemp,w;Востанавливаемзначение рабочегорегистра

clrwdt;Очисткасторожевоготаймера

return;Выходиз процедурыобработкипрерывания


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

org0x10

segment;Таблица преобразованияDEC -> семисегментныйкод.

CLRF PCLATH

ADDWF PCL, F

dt07E,b'00001100', 0B6, 09E, 0CC, 0DA, 0FA, 00E, 0FE, 0DE

Data1;*************десятки

CLRF PCLATH

ADDWF PCL, F

;0 1 2 3 4 5 6 7 8 9

dt0,0,0,0,0,0,0,0,0,0

dt1,1,1,1,1,1,1,1,1,1

dt2,2,2,2,2,2,2,2,2,2

dt3,3,3,3,3,3,3,3,3,3

dt4,4,4,4,4,4,4,4,4,4

dt5,5,5,5,5,5,5,5,5,5


Data2;***********единицы

CLRF PCLATH

ADDWF PCL, F

;0 1 2 3 4 5 6 7 8 9

dt0,1,2,3,4,5,6,7,8,9;0

dt0,1,2,3,4,5,6,7,8,9;10

dt0,1,2,3,4,5,6,7,8,9;20

dt0,1,2,3,4,5,6,7,8,9;30

dt0,1,2,3,4,5,6,7,8,9;40

dt0,1,2,3,4,5,6,7,8,9;50

;Программныерегистры:


skan1equ20;регхранения RB1,2

clok1equ21;хранение часов

sekequ22;регистрхранения секунд

minequ23;регистрхранения минут

cl_kequ24

Dig_xequ25;Значение X0:00 дляиндикации.

Dig_yequ26;Значение 0X:00 дляиндикации.

Dig_zequ27;Значение 00:X0 дляиндикации.

Dig_expequ28;Значение 00:0X дляиндикации.

cnt1 equ29;переменнаяисп для задержкивремени

cnt2 equ2A;переменнаяисп для задержкивремени

cnt_requ2B;переменнаяисп для задержкивремени

tempequ2C

clok2equ2D

temp1equ2E

n1equ2f

n2equ30

Start;Начальнаяинициализация.

clrw

bsf STATUS,RP0; Обращениек банку 1.

clrf PORTA; Обнулитьпорт А.

clrf PORTB; Обнулитьпорт В.

movlw b'00010000'

movwf TRISA; RA0 - RA3 выходы, RA4вход.

movlw b'00000001'

movwf TRISB; RB1 - RB7 выходы.RB0вход

movlw b'00000101';коэффициенпредделителя64

movwf OPTION_REG

bcf STATUS,RP0; Обращениек банку 0.

movlw b'10100000'

movwf INTCON

clrfmin

clrfsek

clrfcl_k

movlw0

movwfTMR0

movlw01;Для контролядисплея

movwfDig_x

movlw02;загрузить вовсе регистрыиндикации 8.

movwfDig_y

movlw03

movwfDig_z

movlw04

movwfDig_exp

movlw .131

movwf clok1

movwf TMR0

movlw .1

movwf temp1

Start1;Основной циклпрограммы.

movlw 19; Установитьсчетчик цикловиндикации.

movwf cnt_r

loop1 clrwdt

call refresh;индикаторы.

decfsz cnt_r, f

goto loop1

;***присвоениезначения регистраминдикации взависимостиот режима;индикации******

clrwdt

btfsstemp1,0

callTemp_min

btfsctemp1,0

callTemp_clk

;******присвоениезначения регистраминдикации

movfn1,0

callData1

movwfDig_x

movfn1,0

callData2

movwfDig_y

movfn2,0

callData1

movwfDig_z

clrwdt

movfn2,0

callData2

movwfDig_exp

;********клавишыустановкирежима индикациии времени*******

callDelay

btfssPORTA,4;сканируемклавишу установкирежима RA4 вывод3

incftemp1,1;прибавляемк темпу 1

btfssPORTB,0;клавишаустановкивремени RB0 вывод6

callMin_clk

gotoStart1

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

Temp_min

movfmin,0

movwfn1

movfsek,0

movwfn2

return

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

Temp_clk

movfcl_k,0

movwfn1

movfmin,0

movwfn2

return

;****************выборприбавитьминуты(0) иличасы(1)***********

Min_clk

clrwdt

btfsstemp1,0

incfmin,1

btfsctemp1,0

incfcl_k

;*******проверка60 мин 24 часа*****************

movfmin,0

sublw.60

btfscSTATUS,Z

clrfmin

movfcl_k,0

sublw.24

btfscSTATUS,Z

clrfcl_k

clrwdt

return

Sek;*****************делениена125

movlw .131;записываем131 т.к 256-125=131

movwf clok1

incfszsek

movfsek,0

sublw.60

btfscSTATUS,Z

callMin

return


Min

clrfsek

incfszmin

movfmin,0

sublw.60

btfscSTATUS,Z

callClok

retfie


Clok

clrfmin

incfszcl_k

movfcl_k,0

sublw.24

btfscSTATUS,Z

clrfcl_k

retfie


Int1;процедураобработкипрерывания

movlw .131;записываем131 т.к 256-125=131

addwfTMR0,1;256(максимальноезначение таймера)

incfszclok1;125(нужныйкоэффициенделения)

return

callSek

return

;***********************Выводна индикатор*************

refresh;Процедурасканированияиндикации.

movf Dig_x, W; Значениедеситых.часовдля индикации.

call segment; ПреобразованиеDEC -> семисегментныйкод.

movwf PORTB ; Вывод цифрына индикатор.

bcf PORTA, 0; Активизироватьиндикатор.

call Delay; Задержкавремени длясканирования.

bsf PORTA, 0; Отключитьиндикатор.


movf Dig_y, W; Значениеед.часов дляиндикации.

call segment; ПреобразованиеDEC -> семисегментныйкод.

movwf PORTB ; Вывод цифрына индикатор.

bcf PORTA,1; Активизироватьиндикатор.

call Delay; Задержкавремени длясканирования.

bsf PORTA,1; Отключитьиндикатор.


movf Dig_z, W; Значениедесят.минутдля индикации.

call segment; ПреобразованиеDEC -> семисегментныйкод.

movwf PORTB ; Вывод цифрына индикатор.

bcf PORTA,2; Активизироватьиндикатор.

call Delay; Задержкавремени длясканирования.

bsf PORTA,2; Отключитьиндикатор.


movf Dig_exp, W; Значениеед.минут.

callsegment; ПреобразованиеDEC -> семисегментныйкод.

movwf PORTB ; Вывод цифрына индикатор.

bcf PORTA,3; Активизироватьиндикатор.

call Delay; Задержкавремени длясканирования.

bsf PORTA,3; Отключитьиндикатор.

return

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

Delay;Подпрограммазадержки времени

clrwdt

movlw .5; для сканированияиндикации.

movwf cnt1

nop

beta movlw .150

movwf cnt2

Alfanop

nop

decfsz cnt2, f

goto Alfa

nop

nop

decfsz cnt1, f

goto beta

nop

return

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

end


5.Программированиемикроконтроллера


Конструкцияпредставляетиз себя оченьпростое и дешевоеустройстводля программированияи последующегочтения внутреннейпамяти PIC контроллеровтипа PIC16C84 /83, PIC16F84 /83,PIC16CE625 /624/623. В отличиеот многиханалогичныхконструкций,программатордопускаетвнутрисхемноепрограммирование.При разработкеза основу былавзята схема, рекомендуемаяфирмой "Microchip" .

Программаторпитается отисточниканапряжением12…13v с током до100ma и подключаетсяк порту LPT1 персональногокомпьютера.Управляющаяпрограммаразрабатываласьдля MS DOS, поэтомупри работе всреде «Windows» длясоблюдениянеобходимыхвременныхсоотношенийпри программированииее необходимозапускать врежиме эмуляцииMS DOS. Хотя самапрограммапрекрасноработает и воконном режиме,попытка программированияв этом случаени к чему хорошемуне приведет.АлгоритмпрограммированиябольшинстваPIC контроллероводинаков, поэтомуне составиттруда расширитьих номенклатуру.Интерфейспрограммыпрост и интуитивнопонятен.

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


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

Устройствовходит в режимпрограммированияУдержаниемнизкого уровняна выводах RB6,RB7 во время переходасигнала навыводе MCLR/Vppиз нижнегоуровня в высокий.После этогоRB6 становитсятактовым сигналом,а RB7-даннымипрограммирования.

Послевхода в режимпрограммированияможно послать6-ти битную команду.В зависимостииот нее можнозаписать илисчитать 14-битныеданные.



Заключение


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


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


1. Радио №1 2001г.с.21 "Частотомерна PIC-контроллере"

2. УгрюмовЕ.П. Цифроваясхемотехника.-СПб.:БХВ-Санкт-Петербург,2000.-528с.: ил.

3.Микроконтроллеры.Выпуск 2:ОднокристальныемикроконтроллерыPIC12c5x, PIC16x8x, PIC14000, M16C/61/62. Переводс англ.Б.Я.. Прокопенко/Под ред.Б. Я.Прокопенко.-М.: ДОДЭКА, 2000.- 336 с.


Internet - Ресурсы


http://www.microchip.ru:8101/

http://www.paguo.ru/

http://www.disall.narod.ru/picpro.htm

http://www.chipnews.ru/html.cgi/arhiv/index.htm

Микроконтроллеры.Выпуск 2:

ОднокристальныемикроконтроллерыPIC12c5x, PIC16x8x, PIC14000,


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно