Реферат: Розробка схеми електричної принципової годинника-будильника-термометра з ІЧ ПК

МІНІСТЕРСТВООСВІТИ І НАУКИ УКРАЇНИ

 

РОМЕНСЬКИЙКОЛЕДЖ

ДЕРЖАВНОГОВИЩОГО НАВЧАЛЬНОГО ЗАКЛАДУ

«КИЇВСЬКИЙНАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ ІМЕНІ ВАДИМА ГЕТЬМАНА»

 

Спеціальність:5.091504

«Обслуговуваннякомп’ютерних та інтелектуальних систем та мереж»

 

Курсовийпроектз предмету:

Мікропроцесорнісистеми

 

Тема:«Розробити схему електричну принципову годинника-будильника-термометра з ІЧ ПК»

 

РККНЕУ. КП. 5.091504.


Виконав:студент гр. К 3-2

Катрич С. В.

 

Перевірив викладач

Шокота Т.А.


2007


Зміст

 

Вступ

1         Загальний розділ

1.1      Призначення проектуємогопристрою

1.2      Технічні характеристики

1.3      Розробка і обґрунтуваннясхеми електричноїструктурної

2         Спеціальний розділ

2.1      Вибір і обґрунтуванняелементної бази

2.2      Принцип роботи окремих ВІС звикористанням часових діаграмта алгоритмів роботи

2.3      Принцип роботи пристроюзгідно схеми електричної принципової

3         Експлуатаційний розділ

3.1      Ініціалізація програмуємихВІС

3.2      Тест перевірки окремихвузлів або пристроїв

3.3      Розрахунок надійностіпристрою

4         Анотація

5         Література


 

Вступ

 

За сучасногорозвитку науки і техніки, та постійного удосконалення електричних пристроїв мивсе частіше і частіше стикаємося зі словами мікропроцесор та мікроконтролер. Ціпристрої дозволяють реалізувати досить складні закони керування електроннимипристроями. Безперечною перевагою мікропроцесорних систем керування є їхгнучкість, оскільки систему, розроблену для виконання одного завдання, легкопристосувати для вирішення інших завдань шляхом зміни програмного забезпечення.

Надзвичайновисокий рівень технічних характеристик мікропроцесорних великих інтегральнихсхем і їх досить низька вартість у розрахунку на одиницю оброблюваноїінформації дозволяють впроваджувати мікропроцесори у побутову, промислову іспеціальну радіоелектронну апаратуру.

Мікропроцесор(МП) — програмно-управляючий пристрій, призначений для обробки цифровоїінформації і керування процесом цієї обробки, виконано у виді однієї (абодекількох) інтегральної схеми з високим ступенем інтеграції електроннихелементів.

Продуктивністьмікропроцесорів швидко зростає разом з удосконаленням мікроелектронноїтехнології й архітектури. Процесори ЕОМ мають складну логічну структуру імістять велику кількість електронних елементів з безліччю розгалужених зв'язківміж ними. Для підвищення продуктивності процесора необхідно розвивати всі йогоапаратурні ресурси. Можливості однокристальних мікропроцесорів визначаємікроелектронна технологія на визначеному рівні розвитку. Тому, для збільшенняпродуктивності процесорів, використовують їх реалізацію у видібагатокристальних, а також секційних багатокристальних мікропроцесорів.

БагатокристальніМП можна одержати в тому випадку, коли виробляється поділ логічної схемипроцесора на окремі функціонально закінчені частини, кожна з якої реалізуєтьсяу виді інтегральної схеми.

Надзвичайноважливим кроком у розвитку електроніки вцілому було створення мікроконтролерів(МК) — керуючих пристроїв, виконаних на одному чи декількох кристалах.

Мікроконтролеривиконують функції логічного аналізу і керування (що дозволяє за рахуноквиключення арифметичних операцій зменшити їхню апаратурну складність чи розвитифункції логічного керування).

Архітектура МПС –розподіл функцій, що реалізуються системою на окремих її рівнях, та точневизначення меж між цими рівнями. Вона поєднує апаратні, мікропрограмні іпрограмні засоби обчислювальної техніки, визначає принцип організації МПС тафункції її компонентів, зокрема процесора, пам’яті та ін. Архітектура МПС невідображає конструктивні особливості логічних структур і модулів та технологіюїх виробництва.

Загальнийархітектурний тип мікросистеми містить такі компоненти:

—   центральнийпроцесор (ЦП);

—   схемисинхронізації;

—   пам’ять;

—   підсистемавведення-виведення;

—   логікауправління шиною;

—   системнашина.

В мікросистеміроль центрального процесора виконує МП. Він дешифрує команди і управляє всімаподіями в системі, а також виконує всі арифметичні і логічні операції.

Генератор синхронізаціїформує одну або кілька послідовностей рівномірно розміщених імпульсів, длясинхронізації дій в МП і логіці управління шиною. Вихідні імпульси генераторамають одну й ту ж частоту, але зміщені в часі, тобто мають різні фази.

Пам’ятьпризначена для збереження даних та команд, які виконує ЦП. Вона складається знабору модулів, кожен з яких містить кілька тисяч комірок.

Підсистемавведення-виведення складається з різних пристроїв, призначених для взаємодії ззовнішнім середовищем та збереження великих об’ємів інформації.

Системну шинуутворює сукупність провідників по яких передаються дані від ЦП до пам’яті тапристроїв введення-виведення. Звичайно провідники шини об’єднуються в тригрупи:

—   лініїданих (для передачі інформації);

—   лініїадреси (вказують звідки або куди передається інформація);

—   лініїуправління, (регулюють дії на шині).

Інтерфейс пам’ятіутворює схеми для дешифрування адреси цільової комірки і буферизувати даних нашину (з шини), а також схеми виконання операцій зчитування і запису.

Всі інтерфейсивведення-виведення повинні буферизувати дані на системну шину (з системноїшини), приймати накази від ЦП і передавати в ЦП інформацію про станпідключеного пристрою. Взаємодія між інтерфейсом введення-виведення і шиноюданих здійснюється через регістри, що називаються портами введення-виведення.


1 Загальнийрозділ

 

1.1Призначення проектуємого пристрою

Визначеннята поняття термінів, які використовуються у курсовому проекті:

АЛП    –арифметико-логічний пристрій

ЕОМ   – електронно-обчислювальна машина

МП      – мікропроцесор

МПК   – мікропроцесорний комплект

ВІС     – великі інтегральні схеми

ЦП      – центральний процесор

МК      – мікроконтролер

ОМК   –однокристальний мікроконтролер

МПС   –мікропроцесорна система

ОЗП    –оперативно-запам’ятовучий пристрій

ДК       – дистанційне керування

Місце таосновні функції пристрою в архітектурі МПС.

Однокристальниммікроконтролером (ОМК) називають пристрій, виконаний конструктивно в одномукорпусі ВІС, і містить усі компоненти МПС: процесор, пам'ять даних, пам'ятьпрограм, програмовні інтерфейси.

Дляоднокристальних мікроконтролерів характерні:

- системакоманд, орієнтована на виконання завдань керування і регулювання;

- алгоритми,що реалізуються на ОМК, мають багато розгалужень залежно від зовнішніхсигналів;

- дані,якими оперують ОМК, не повинні мати велику розрядність;

- схемнареалізація систем керування на базі ОМК нескладна і має невисоку вартість;

- універсальністьі можливість розширення функцій керування значно нижчі, ніж у системах ізоднокристальними МП.

Однокристальнімікроконтролери — зручний інструмент для створення сучасних вбудованихпристроїв керування різноманітним обладнанням, автомобільною електронікою,побутовою технікою, мобільними телефонами та ін.

Вданій роботі описується МК приладу, що призначений для індикації поточногочасу, подачі звукового сигналу у визначений час та індикації температури в двохточках (в приміщенні та на подвір’ї) на проміжку -55…+99 ºС з точністю ±1ºС. Час та температура виводяться почергово. Встановлення значення часу, спрацюваннябудильника, спалахування та вимикання індикатора здійснюється з ІЧ пультадистанційного керування (ДК). Будильник подає звуковий сигнал з паузою 10 с,спочатку два коротких (приблизно по 0,1 с) одиночних, потім стільки ж здвоєних(з паузою 0,1 с), а після них – два зтроєних (з такою ж паузою). На протязіхвилини зтроєні сигнали подаються кожну секунду до тих пір, поки будильник небуде відключений. Існує функція Snooze (повторення сигнала через певний час),що дозволяє ще трохи поспати після першого сигналу. Якщо індикатор погашено, вмомент спрацювання будильника він вмикається і до відключення чи переходу врежим Snooze показує поточний час. Передбачено короткий звуковий сигнал принатисненні кнопок пульта, індикацію (світлодіодом) при проходженні команд зпульта, резервне живлення при зникненні напруги в мережі (в цьому випадкубудильник буде подавати безперервний сигнал).

Принциповасхема заснована на мікроконтролері DD2 АТ89С4051. 1.2 Технічні характеристики

Пристворенні схеми електричної принципової розроблюваного пристрою буловикористано такі елементи як мікроконтролер АТ89С4051, мікросхеми КР1171СП47, FCP8583, SAA3010, PCF8583,DS1621, MC34063.

Розрахунокнадійності строю представлено в відповідному розділі курсового проекту.

Характеристикимікроконтролера АТ89С4051:

АТ89С4051– низьковольтний швидкодіючий 8-ми розрядний мікроконтролер, що використовуєенергонезалежну технологію пам’яті Atmel що характеризуються також високою щільністю, має 4 кілобайтиперепрограмованої пам’яті з можливістю 1000 циклів запису/стирання, 15 портіввводу/виводу, 2 16-бітових таймери/лічильники, послідовний порт та системупереривань, п’ятивекторну дворівневу систему переривань, дуплексний послідовнийпорт, презиційний аналоговий компаратор. Даний мікроконтролер підтримує режим Power-down, який зберігає вміст пам’яті алезупиняє генератори до наступного перезапуску (/відновлення роботи) апаратнихпристроїв, а також Idle mode – режим, під час якого він зупиняєЦПП, і підтримує роботу пам’яті, таймерів/лічильників, послідовним портом тасистемою переривань, для продовження роботи пристрою.

Нарисунку 1.2.1 зображено корпус мікроконтролера АТ89С4051.

/>

Рисунок1.2.1 – Зображення корпусу мікроконтролеру АТ89С4051

Структурна схемамікроконтролера АТ89С4051 зображена на рисунку 1.2.2.

/>

Рисунок 1.2.2 – Структурна схема мікроконтролера АТ89С4051

На схемізображено: регістр адрес пам’яті, пам’ять RAM, Flash-пам’ять, регістр В,Арифметико-логічний пристрій (АЛП), буфер даних, вказівник стеку, програмний регістрадрес, програмний лічильник, інкрементор, порти драйверів, аналоговийкомпаратор, схеми управління і синхронізації, регістр інструкцій, блокпереривання, серійний порт і блоки таймеру.

1.3 Розробка іобґрунтування схеми електричної структурної

Структурна схемапристрою зображена на рисунку 1.3.

/>

Рисунок 1.3 –Структурна схема розроблюваного пристрою

На структурнійсхемі пристрою (див. рисунок 1.3) зображено наступні функціональні блоки:мікроконтролер, який забезпечує керування роботою всіх пристроїв схеми; блокживлення що забезпечує безперебійне живлення всіх компонентів схеми;індикатори, які відображають час та температуру; блок датчиків який призначенийдля знімання показників температури та синхронізації пристрою з блокомкерування до якого входить пульт ДК; блок управління часом що забезпечуєорганізацію управління часом.


2 Спеціальнийрозділ

 

2.1 Вибір і обґрунтування елементної бази

Схемаелектрична принципова створюваного пристрою зображена на рисунку 2.1.1.Користуючись даною схемою, дамо коротку її характеристику та обґрунтуваннявибору елементів, що входять до неї.

/>

Рисунок 2.1.1 –Схема електрична принципова годинника-будильника-термометра

Основоюстворюваного пристрою є мікроконтролер DD2 AT89C4051, який керує роботою всіх вузлів. Дойого складу входить енергозалежна пам’ять програм (4кб), ОЗП (128 байт), 2таймери, система переривань та ін. (див. пункт 1.2). Для надійного запуску тазахисту мікроконтролера від збоїв по напрузі використано мікросхему КР1171СП47(DA1), яка забезпечує затримкуна своєму виході низький рівень при напрузі живлення менше 4.7 В.

Таблопристрою складається з п’яти світлодіодних цифрових індикаторів типу SA08-11GWA. Індикація статична. Для зниженняяскравості свічення в коло живлення індикаторів включено діоди VD5 і VD6.

Длякерування вузлом індикації використано три виводи мікроконтролера: P1.2, (14); P1.3, (15); P1.4, (16).

МС74HC595 являє собою 8-бітгнийрегістр з послідовним входом і паралельним виходом.

Вякості годинника використано мікросхему PCF 8583, яка дозволила забути про скидання часу за умови відсутностіживлення. В PCF 8583 є статична пам’ять, щовикористовується для визначення першого включення годинника.

Дляподачі звукових сигналів застосовано електромагнітний випромінювач НСМ1606Х звбудованим генератором, що працює на частоті 2200 Гц.

БатареяGB1 служить для живлення мікросхемигодинника та звуковипромінювача при відсутності живлення в мережі.

Дляприйому сигналів керування пульта ДК використано інтегральний приймачІЧ-діапазону SFH 506-36. Ця мікросхема дужечутлива до перешкод в колі живлення, тому до неї включено фільтр VD4C8C9.

Живиться пристрійвід стабілізованого перетворювача напруги на основі мікросхеми MC 34063. Принципову схему ІЧ пульту ДКзображено на рисунку 2.1.2.

/>

Рисунок 2.1.2 – Схемаелектрична принципова годинника-будильника-термометра

Пульткерування виконано на базі малогабаритного калькулятора. В якості передавачавикористано мікросхему SAA 3010 яка працює в системі ІЧ ДК RC5. В режимі очікування SAA 3010 спожива незначний струм що робитьексплуатацію пульту дуже зручною.

Вякості виносних датчиків апаратури застосовано мікросхеми DS1621

2.2 Принцип роботи окремих ВІС з використанням часових діаграм таалгоритмів роботи

Часовідіаграми машинних циклів читання зовнішньої пам’яті програм показано на рисунку2.2.1.

/>

Рисунок2.2.1 – діаграми машинних циклів читання зовнішньої пам’яті програм

При виконаннікоманди MOVX, сигнал ALE формується у другому машинному циклілише один раз.

2.3Принцип роботи пристрою згідно схемиелектричної принципової

Схемаелектрична принципова зображена на рисунку 2.1.1 пункту 2.1.

Описуванийпристрій призначений для індикації поточного часу, подачі звукових сигналів взаданий час та індикації температури в двох точках в інтервалі від -55˚ до+99˚ С з точністю />˚ С. Час ітемпература відображаються по черзі на протязі 10, 1 та 2 секунд відповідно.Встановлення показань годинника, часу спрацювання будильника, відключення будильника,ввімкнення і вимкнення індикатора проводяться з ІЧ пульта ДК.

Будильникподає звукові сигнали з паузою 10 с: спочатку – два коротких одиночних, потім –стільки ж здвоєних, а після них – два строєних. По закінченні хвилини вбудованісигнали подаються в кожну секунду до тих пір, доки будильник не буде вимкнено.Якщо індикатор вимкнено, в момент спрацювання будильника він вмикається і довідключення або переходу в режим Snooze показує поточний час. Передбачений короткий звуковий відклику відповідь на натиснення кнопок пульту.

МікроконтролерDD2 AT89C4051 керує роботою всіх вузлів. Дойого складу входить енергозалежна пам’ять програм, ОЗП, 2 таймери, системапереривань та ін. Для надійного запуску та захисту мікроконтролера від збоїв понапрузі використано мікросхему КР1171СП47 (DA1), яка забезпечує затримку на своємувиході низький рівень при напрузі живлення менше 4.7 В.

Таблопристрою складається з п’яти світлодіодних цифрових індикаторів типу SA08-11GWA. Індикація статична. Для зниженняяскравості свічення в коло живлення індикаторів включено діоди VD5 і VD6.

Длякерування вузлом індикації використано три виводи мікроконтролера: P1.2, (14); P1.3, (15); P1.4, (16).

МС 74HC595 являє собою 8-бітгний регістр зпослідовним входом і паралельним виходом.

Вякості годинника використано мікросхему PCF 8583, яка дозволила забути про скидання часу за умови відсутностіживлення. В PCF 8583 є статична пам’ять, щовикористовується для визначення першого включення годинника.

Дляподачі звукових сигналів застосовано електромагнітний випромінювач НСМ1606Х звбудованим генератором, що працює на частоті 2200 Гц.

БатареяGB1 служить для живлення мікросхемигодинника та звуковипромінювача при відсутності живлення в мережі.

Дляприйому сигналів керування пульта ДК використано інтегральний приймачІЧ-діапазону SFH 506-36. Ця мікросхема дужечутлива до перешкод в колі живлення, тому до неї включено фільтр VD4C8C9.


3Експлуатаційний розділ

 

3.1 Ініціалізація програмуємих ВІС

Програмаініціалізації мікросхем виконує налагодження портів вводу-виводу мікросхем тавстановлює параметри дільника та входів мікросхеми по яким буде виконуватисяпереривання. Також налагоджуються переривання по таймеру. Всі інші перериваннязабороняються.

Програмаініціалізації і програма тестування пристрою наведена в пункті 3.2.

 

3.2 Тест перевірки окремих вузлів або пристроїв

Програмаза якою працює мікропроцесор мовою асемблера АТ89С4051 має наступний вигляд:

__CONFIG _CP_OFF &_WDT_OFF & _PWRTE_ON & _XT_OSC

ORG 0

Goto                    PROGRAM

sec                       equ   H'11'                   ; секунди

sec10                   equ   H'12'                   ; Десятки секунд

min                      equ   H'13'                   ; минути

min10                            equ   H'14'                   ; Десятки минут

hour                     equ   H'15'                   ; години

hour10                          equ   H'16'                   ; Десятки годин

Indicator              equ   H'17'                   ; 7-сегментний код для загрузки в регістр DD2

Bit_counter                   equ    H'18'                  ; лічильник бітів, загруженних в регістр DD2

FLAGS                equ    H'19'                  ; різні прапорці

FLAGS_2            equ    H'1F'

Fig_pointer          equ    H'1B'                 ; показник виведеної цифри

TEMP                           equ    H'1C'                  ;для тимчасового збереження вмісту порту A

Ind_start              equ    H'1D'                  ; адреса комірки,яка першою виводиться на індикатор

SB_delay             equ    H'1E'                  ;часова затримка

STATUS_copy    equ    H'21'                   ;копії вмісту регістрів

W_copy               equ    H'22'

FSR_copy           equ    H'23'

min_al_1             equ    H'24'                   ;регістри першого будильника

min10_al_1                   equ    H'25'

hour_al_1            equ    H'26'

hour10_al_1                 equ    H'27'

min_al_2             equ    H'28'                   ; регістри другогобудильника

min10_al_2                   equ    H'29'

hour_al_2            equ    H'2A'

hour10_al_2                 equ  H'2B'

EEP_Ind_4                   equ    H'2C'                  ; регістри для індикації

EEP_Ind_3                   equ    H'2D'                  ; режиму роботи з EEPROM

EEP_Ind_2                   equ    H'2E'

EEP_Ind_1                   equ    H'2F'

Alarm_count                 equ    H'30'                   ; лічильник будильника

SB4_count                    equ    H'31'                   ; лічильник часу натискання на кнопку SB2

IntCount_H                   equ    H'32'                   ; лічильник переповнення таймеру номер 1

IntCount_L                   equ    H'33'                  ; лічильник переповнення таймеру номер 2

MaxInt_H                     equ    H'34'                  ; верхня границя лічильника переривань

MaxInt_L                      equ    H'35'                  ; визначає секундну затримку

TIME_SET                   equ    H'36'                  ; коефіцієнт корекції часу

; — Підпрограма якадобавляє хвилини ---------------

INC_MIN     macro Reg1_min,Reg2_min

movfw                 Reg1_min           ; якщо кількість менут = 9 то

xorlw                            9                         ;обнуляємо менути і прибавляємо десятки менут

BZ                       $+3                     ;інакше прибавляємо менути та виходимо з підпрограми

incf                      Reg1_min,  f

goto  Main_loop

clrf                       Reg1_min

movfw                 Reg2_min

xorlw                            5                         ;якщо кількість десятків менут = 5,

BZ                       $+3                       ;обнуляємо менути та взагалі та виходимо з підпрограми

incf                      Reg2_min,  f       ;інакше прибавляємо десятки менут

goto                     Main_loop

clrf                       Reg1_min

clrf                       Reg2_min

goto                     Main_loop

 endm

 ; — Підпрограма якаприбавляє години ---------------

INC_HOUR    macro Reg1_hour,Reg2_hour

movfw                 Reg1_hour          ; якщо кількість годин = 3, то перевіряємо чи

xorlw                            3                         ;число десятків годин = 2, якщо так то

btfss                    STATUS,   Z     ; обнуляємо години взагалі (перехід із 23 годин в 00)

goto                     $+5

movfw                 Reg2_hour

xorlw                            2

BZ                       $+D'14'

movfw                 Reg1_hour          ; якщо число годин = 10, прибавляєм

xorlw                            9                         ;десятки годин і скидаємо одениці

BZ                       $+3                     ;інакше прибавляєм одениці годин та виходимо із підпрограми

incf                      Reg1_hour, f

goto                     Main_loop

clrf                       Reg1_hour

movfw                 Reg2_hour

xorlw                            2

BZ                       $+3

incf                      Reg2_hour, f

goto                     Main_loop

clrf                       Reg1_hour

clrf                       Reg2_hour

goto                     Main_loop

 endm

; — Підпрограма зменшенняхвилин ---------------

DEC_MIN     macro Reg1_min,Reg2_min

local DEC_min10,Clr

movfw                 Reg1_min                     ; зменшуємхвилини

xorlw                            0

BZ                       DEC_min10

decf                      Reg1_min,f

goto                     Main_loop

DEC_min10                  movlw 9            ; установлюєм число хвилин = 9

movwf                 Reg1_min                     ;і зменшуєм десятки хвилин

movfw                 Reg2_min

xorlw                            0

BZ                       Clr

decf                      Reg2_min,  f

goto                     Main_loop

movlw                 5

movwf                 Reg2_min

goto                     Main_loop

 endm

 ; — Підпрограма зменшення годин ---------------

DEC_HOUR    macroReg1_hour,Reg2_hour

localSet_hour,Clr,If_hour10_1,If_hour10_2,Dec_hour10

movfw                 Reg1_hour                  ; зменшуєм години

xorlw                            0

BZ                       Set_hour

decf                      Reg1_hour, f

goto                     Main_loop

movfw                 Reg2_hour                   ; якщо десятки годин = 0,

xorlw                            0                        ; установлюємо годинирівні 3

btfss                     STATUS,   Z   

goto                     If_hour10_1

movlw                 3

movwf                 Reg1_hour

goto                     Dec_hour10

If_hour10_1                  movfwReg2_hour       ; якщо десяткигодин = 1,

xorlw                            1                        ; установлюєм число годин = 9

btfss                     STATUS,   Z

goto                     If_hour10_2

movlw                 9

movwf                 Reg1_hour

goto                     Dec_hour10

If_hour10_2                  movlw       9      ; якщо десяткигодин =  2,

movwf                 Reg1_hour                  ; установлюємо годинирівні 9

Dec_hour10                  movfwReg2_hour       ; зменшуєм десяткигодин

xorlw                            0

BZ                       Clr

decf                      Reg2_hour, f

goto                     Main_loop

Clr                       movlw       2

movwf                 Reg2_hour

goto                     Main_loop

 endm

 ; — Підпрограма запису вEEPROM ---------------

EE_write    macro   Adress,Data

movlw                 Adress

movwf                 EEADR

movfw                 Data

movwf                 EEDATA

call                       Write_to_EEPROM

 endm

 ; — Підпрограма читання EEPROM ---------------

EE_read     macro   Adress,Destination

movlw                 Adress 

movwf                 EEADR

call                       Read_from_EEPROM

movfw                 EEDATA

movwf                 Destination

 endm

 ; — ІНІЦІАЛІЗАЦІЯ ----------------------

PROGRAM

bsf                       STATUS,RP0    ; банк 1

clrf                       TRISA                         ; порт А навихід

movlw                 B'11110000'                ; RB7..RB4 — на вхід, RB3..RB0 — на вихід

movwf                 TRISB

movlw                 B'00001000'                ;відключений від таймеру

movwf                 OPTION_REG

bcf                       STATUS,   RP0          ; банк 0

clrf                       TIME_SET

clrf                       FLAGS

clrf                       FLAGS_2

clrf                       sec

clrf                       sec10

clrf                       min

clrf                       min10

clrf                       hour

clrf                       hour10

clrf                       SB_delay

clrf                       Bit_counter

clrf                       Alarm_count

clrf                       PORTB

clrf                       SB4_count

clrf                       IntCount_H

clrf                       IntCount_L

movlw                 B'00010001'

movwf                 PORTA

movlw                 H'16'                   ; починаєміндикацію з десятків годин

movwf                 Ind_start

movfw                 Ind_start

movwf                 Fig_pointer

bsf                       FLAGS,PT                  ; ввімкнення крапокна індикаторі

bsf                       FLAGS_2,  HL1

movlw                 D'16'                  ; запускаємо таймерномер 0

movwf                 TMR0

EE_read               1,      TIME_SET        ; читаємо значення коэфіціэнту

movwf                 TIME_SET                 ; корекції часу

EE_read               2,      min_al_1  ; читаєм показпоказники обох

EE_read               3,      min10_al_1       ; будильників з EEPROM

EE_read               4,      hour_al_1

EE_read               5,      hour10_al_1

EE_read               6,      min_al_2

EE_read               7,      min10_al_2

EE_read               8,      hour_al_2

EE_read               9,      hour10_al_2

movfw                 min_al_1                      ; якщо в регістрах будильника

xorlw                            H'11'                   ; були числа0х11, тоді,

btfss                              STATUS,Z                   ; він був вімкнений при останньому

bsf                       FLAGS,      Al_on        ;записі в EEPROM

movfw                 min_al_2

xorlw                            H'11'

btfss                              STATUS,   Z

bsf                       FLAGS_2,  Al_on2

bsf                       PORTB,     3     ; вмикаєм світлодіод

btfsc                              FLAGS,      Al_on

bcf                       PORTB,     3

btfsc                              FLAGS_2,  Al_on2

bcf                       PORTB,     3

bsf                       INTCON,   T0IE         ; дозволяєм переривання

bsf                       INTCON,   GIE

movlw                 H'E'                    ;ініціалізація регістрів для правельної індикації

movwf                 EEP_Ind_1                 ; режим роботи EEPROM

movlw                 H'E'  

movwf                 EEP_Ind_2   

movfw                 TIME_SET        ; розбиваємо змінну TIME_SET

andlw                            B'00001111'                ; на16-розрядні десятки та одениці

movwf                 EEP_Ind_4                  ; одениці

movfw                 TIME_SET

movwf                 EEP_Ind_3                 ; десятки

swapf                            EEP_Ind_3,         f

movlw                 B'00001111'

andwf                  EEP_Ind_3,         f       

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

 ;       ГОЛОВНИЙ ЦИКЛ ПРОГРАМИ

******************************************************************

movlw  H'21'      ; задаємо верхнюграницю

movwf                 MaxInt_L                     ;лічби переривань = 3873

movlw                 H'F'

movwf                 MaxInt_H

movfw                 TIME_SET         ; добавляєм TIME_SET дограниці

bcf                       STATUS,   C     ; лічби переповнення таймера

addwf                  MaxInt_L,  f

btfsc                              STATUS,   C

incf                      MaxInt_H, f

movfw                 IntCount_H                  ; порівнюєм старшийбайт

xorwf                            MaxInt_H, w

btfss                              STATUS,   Z

goto                               Main_loop

movfw                 IntCount_L                  ; порівнюєм молотший байт

xorwf                            MaxInt_L,  w

btfss                              STATUS,   Z

goto                               Main_loop

goto                               ADD1s               ; секунда пройшла

 ; — Процедура перекодуваннячисла в семисегментний код --------

Table

        addwf   PCL,f

        retlw   B'00000010'    ; цифра 0

        retlw  B'10011110'    ; цифра 1

        retlw  B'00100100'    ; цифра 2

        retlw  B'00001100'    ; цифра 3

        retlw  B'10011000'    ; цифра 4

        retlw  B'01001000'    ; цифра 5

        retlw  B'01000000'    ; цифра 6

        retlw  B'00011110'    ; цифра 7

        retlw  B'00000000'    ; цифра 8

        retlw  B'00001000'    ; цифра 9

        retlw  B'11111110'    ; пусте місце (код 10h)

        retlw  B'11111100'    ; тире (код 11h)

 ;********************* Режим індикації секунд ***********************

Show_seconds

clrf                       SB4_count

btfsc                              FLAGS,Sec                 ; якщо на індикаторі показані секунди

goto                               Show_hour                  ; повертаємся до нормальноговигляду

movlw                 H'14'      

movwf                 Ind_start  

bsf                       FLAGS,      Sec

movwf                 SB_delay

goto                               Main_loop

Show_hour

movlw                 H'16'

movwf                 Ind_start

bcf                       FLAGS,Sec

movwf                 SB_delay

goto                               Main_loop

 ;***************** Добавляєм менутиреального часу ******************

ADDmin_button

clrf                                sec

clrf                                sec10

INC_MIN min,    min10

goto                               Main_loop

 ;******************Добавляєм годиниреального часу ******************

ADDh_button

clrf                                sec

clrf                                sec10

INC_HOUR                  hour, hour10

goto                     Main_loop

   END                                                     ; кінець програми


/>

Рисунок3.2.1 — Блок-схема роботи пристрою

3.3 Розрахунок надійності пристрою

Надійність – властивість пристрою виконувати заданіфункції в заданих режимах і умовах застосування, обслуговування, ремонту,збереження, транспортування на протязі необхідного інтервалу часу.

Показникинадійності:

1.        Безвідмовність.

2.        Довговічність.

3.        Ремонтопридатність.

4.        Збереження.

Безвідмовність – властивість безупинно зберігатипрацездатність до граничного стану, після настання, якого подальша експлуатаціявиробу економічно недоцільна.

Ремонтопридатність – пристосованість пристрою допопередження відмовлень, до можливості виявлення та усунення несправностейшляхом проведення ремонту і технічного обслуговування.

До термінівремонтопридатності відносяться: відмовлення, збереження.

Відмовлення –подія, що полягає в повній або частковій утраті працездатності пристрою.

Відмовленнябувають:

Раптові(катастрофічні) – стрибкоподібна зміна параметрів робочого виробу.

Поступові(параметричні) – постійна зміна одного або декількох параметрів з часом, щовиходять за припустимі межі.

Збереження –термін, протягом якого при дотриманні режимів збереження виріб зберігаєпрацездатний стан.

Розрахунокнадійності поділяється на три розділи:

1. Визначення значення інтенсивностівідмовлення всіх елементів за принциповою схемою вузла пристрою.

2. Визначення значення імовірності безвідмовноїроботи всієї схеми.

Визначеннясереднього наробітку до першого відмовлення.

Виконаннярозрахунків проходить наступним чином:

1.      Інтенсивністьвідмовлення всіх елементів визначається за формулою:

/>                           (3.3.1)

де:

ni<sub/>– кількість елементів у схемі;

li<sub/>–інтенсивність відмовлень і-го елемента;

m – кількість типів елементів.

При розрахункутакож потрібно враховувати інтенсивність відмовлень через пайки радіоелементівна друкованій платі.

Інтенсивністьвідмовлень елементів розраховуємо за формулою:

/>                         (3.3.2)

де:

lо– інтенсивність відмовлень елементів у режимі номінального навантаження;

Кe– експлуатаційний коефіцієнт;

Кр – коефіцієнт навантаження.

Усі ці параметриберуться з довідника з розрахунку надійності.

2.      Ймовірністю безвідмовної роботи називаєтьсяймовірність того, що за певних умов експлуатації в заданому інтервалі часу невідбудеться жодного відмовлення.

Ймовірністьбезвідмовної роботи визначається за формулою:

/>                          (3.3.3)

де:

/> -інтенсивність відмов всіх елементів;

t – час, (год).

За результатамирозрахунків складається таблиця і графік.

3.      Середнійнаробіток до першого відмовлення – це час роботи пристрою до першої відмови.

Середнійнаробіток на відмовлення визначається за формулою:

/>                        (3.3.4)

Розрахунокнадійності пристрою приведено далі.


Анотація

Завданнямданої курсової роботи є створення схеми електричної принциповоїгодинника-будильника-термометра з ІЧ ПК. В ході виконання курсової роботирозроблено структурну та електричну принципову схему пристрою та програмутестування роботи пристрою, та проведено розрахунок надійності його роботи.

Виконання даноїкурсової роботи змусило повторити та закріпити вивчений протягом навчальногороку матеріал з предмету «Мікропроцесорні системи», а також звернутися дододаткової літератури та вивчити багато нового.


Література

1.        БороволоковЭ.П. Фролов В.В.«Радиолюбительские схемы» // К.: Кондор – 1995 – 6 с.

2.        ЯкименкоЮ.І. Терещенко Т.О. Сокол Є.І. «Мікропроцесорна техніка» // К.: Кондор – 2004 –24 с.

3.        Методичнівказівки щодо виконання курсової роботи.

4.        ВершининО.Е. «Применение микропроцессоров для автоматизации технологических процессов» // Л.: Энергоатомиздат,1986.

5.        СамофаловК.Г., Викторов О.В., Кузняк А.К. «Микропроцессоры» // К.: Техника, 1986.

еще рефераты
Еще работы по информатике, программированию