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

Призначення проектуємого пристрою та технічні характеристики. Розробка й обґрунтування схеми електричної структурної схеми визначника телефонного номера. Принцип роботи ВІС з використанням часових діаграм та алгоритмів роботи. Тест надійності пристрою.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 26.03.2009
Размер файла 190,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

РОМЕНСЬКИЙ ПОЛІТЕХНІЧНИЙ ТЕХНІКУМ

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

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

З предмету «Мікропроцесорні системи»

Тема «Розробити схему електричну принципову визначника телефонного номера на базі мікроконтролера PIC16F84»

Перевірив: Виконав:

викладач студент групи К 3-1

2008 р.

Зміст

Вступ

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

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

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

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

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

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

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

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

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

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

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

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

Анотація

Література

ВСТУП

Мікропроцесори й мікропроцесорні системи являються в наш час найбільш масовими засобами обчислювальної техніки.

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

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

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

Те що здавалося нам 5 років тому казкою зараз цілком можливо завдяки стрімкому розвитку технології виробництва електронних компонентів.

З'являються фірми, які виробляють мікроконтролери: ATMEL, INTEL, ZILOG, MICROCHIP, scenix, здається можна продовжувати нескінченно. Кожна з перерахованих має більш як 100 видів різних за призначенням мікроконтролерів, а кожний мікроконтролер не менш 200 сторінок технічних описів і характеристик англійською мовою. Вибери свій девіз сучасного суспільства.

Засоби розробки програмного забезпечення для мікроконтролерів у кожної фірми свої, а що стосується мов програмування звичайно асемблер самий старий, добрий, всім зрозумілий, ну і ще перелічимо деякі: C, PASCAL, JAVA, DELPHI, C++ знову можна продовжувати нескінченно.

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

У даному проекті буде розроблений визначник телефонного номеру на базі мікроконтролера PIC16F84, буде написана програма і розглянуті інструментальні засоби.

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

У курсовій роботі прийняті наступні скорочення:

АРП - автоматичний регулятор підсилення

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

МА - магістраль адреси

МД - магістраль даних

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

ПЗП - постійний запам'ятовуючий пристрій

КМДН - комплементарні польові транзистори із структурою метал-діелектрик-напівпровідник

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

Пристрій зібраний на контролері PIC16F84 і мікросхемі К561ЛА7. Конденсатор С4 необхідний для усталеної роботи при розряді елементів живлення. Пристрій розрахований на абонентську лінію з напругою 60V. Можливо, при використанні на АТС зі значенням напруги 48V, прийде збільшити опір резистора R12 до 56кОм, а резистора R14 до 16кОм. Конденсатор С6 необхідний для усунення перешкод. Стан елемента DD1.3 повинне змінюватися при знятті трубки з будь-якого телефонного апарата підключеного до лінії, а зміна стану елемента DD1.4 відбувається тільки при наявності на лінії викличного сигналу . Елементи DD1.1 і DD1.2 використовуються як компаратор. Конденсатор С5 з робочою напругою не менш 200V. Резистор R8 необхідний для захисту входу елемента DD1.1. Резистор R10 разом із вхідною ємністю елемента DD1.2 являє собою RC-Фільтр. У тому випадку, якщо рівень вихідного сигналу недостатній для чіткого визначення номера (при роботі на "глухих" АТС) можна зменшити опору резисторів R6 & R7 до 56кОм. Значення ємності конденсатора C1 і резисторів R1-R5 не повинні змінюватися більш ніж на 30%.

Увага! Для правильної роботи програми, при записі її в контролер PIC16F84 варто дозволити роботу WDT (сторожовий таймер) і PWRT (таймер скидання). Особливості пристрою й рекомендації зі складання Пристрій харчується від 2-х батарей типу АА, R6 або UM-3 напругою 1,5V. Вимикач живлення не передбачений, тому що контролер у вільне від роботи час перебуває в режимі SLEEP і практично не споживає енергії. Для підключення до телефонної лінії використовується проведення з розніманням RJ-11, що виходить із отвору для антени на корпусі телефону. Полярність підключення до телефонної лінії значення не має.

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

Проектована схема має наступні основні технічні характеристики:

Напруга живлення пристрою V 3

Струм живлення в режимі SLEEP µA~1

Струм живлення в робочому режимі mA~2

Струм нагрузки на лінію АТС µA, не більше 120

Частота сигнала запроса АОН Hz500

Напруга на лінії АТС без нагрузки V60

Елементна база :

Мікросхема К561ЛА7 має наступні основні технічні характеристики:

Напруга живлення ........................................ 3...15

Вихідна напруга низького рівня при впливі перешкоди: при Uп = 10 В..................................................... ?2,9

В при Uп = 5 В......................................................... ?0,95

Вихідна напруга високого рівня при впливі перешкоди при Uп = 10 В…. ?7,2

Струм живлення при Uп = 15 В .......................... ? 5 мкА

Вхідний струм низького (високого) рівня

Струм живлення при Uп = 15 В ........................ ?0,3 мкА

Вихідна напруга низького рівня при: при Uп = 10В...................... ?1,3 мА

при Uп = 5 В....................................................... ?0,51 мА

Вихідна напруга високого рівня при: при Uп = 10 В................... ?1,3 мА

при Uп = 5 В; ивых = 4,6 В.................................... ?0,51 мА

при Uп = 5 В; t/Bb|X = 2,5 В................................... ?1,6 мА

Час задержки поширення при включенні (вимиканні): при Uп = 10 В.......... ?80 нс

при Uп = 5 В....................................................... ?60 нс

Вхідна емкість............................................... ? 11 пФ

Мікросхема РІС16С84 має наступні основні технічні характеристики:

Корпус позначається:

P - обичний пластмасовий DIP

SO -300 mil SOIC

Частота генератора: 0 ---> 10mHz

Обсяг адресуємо пам'яті …………………. …………….До 1Кбайт.

Ємність ПЗУ …………………………………………… байт;

Ємність ОЗУ ……………………………………………. Кбайт.

навантажувальна здатність……………………………..25мА

макс. струм що втікає…………………………………..20 мА

Споживаний струм,…………………………………….. 160 мА

команди складаються з одного слова………………….14 біт

команда виконуються за 1 цикл ………………………..400 нс - 10 Мгц

команди переходу……………………………………….800 нс

Интервал рабочих температур………………………… -55 ... +125С Температура зберігання………………………………… -65 ... +150С

Напруга на любій ножкі відносно Vss …………….…..-0.6...Vdd +0.6 В

Интервал робочих температур ……………….………..55 ... +125С

Температура зберігання.………………………………..-65 ... +150С

Vss…………………………………………………..……..0 ... +7.5 В

Напруга на /MCLR відносно Vss ……………………….0...+14 В

Общая рассеиваемая мощност…………………………. 800 мВт

Макс. ток в ножку Vss …………… …………… ………150 мА

Макс. ток в ножку Vdd …………………………………100 мА

Макс. ток в любую ножку ввода …………………….. +/- 500 мкА

Макс. втікающий ток (люба ножка Вивода) ……….....25 мА

Макс. вытекающий ток (любая ножка Вывода) ………20 мА

Макс. сумарный вытекающий ток порта_А ………….80 мА

Макс. сумарный вытекающий ток порта_В …………. 50 мА

Макс. сумарный втекающий ток порта_А ………….. 50 мА

Макс. сумарный втекающий ток порта_В…………….100 мА

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

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

У блоксхемі приведена схема обробки інформації яку здійснює мікроконтролер.Обмін інформацією між мікроконтролером й іншими блоками здійснюється по системній шині.

Рисунок 1.1 Структурна схема мікроконтролера

Системна шина містить у собі три магістралі: адреси, даних і керування.

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

Використання в мікро-ЕОМ трьох магістралей забезпечує високу швидкодію і спрощує процес обчислень.

PІС16F84 відноситься до сімейства КМОП мікроконтролерів. Відрізняється тим від попередніх моделей тим, що має внутрішню 1K x 14 біт память EEPROM для програм, 8-бітові дані й 64байт EEPROM пам'яті даних. При цьому відрізняються низькою вартістю й високою продуктивністю. Всі команди складаються з одного слова (14 біт шириною) і виконуються за один цикл (400 нс при 10 МГЦ), крім команд переходу, які виконуються за два цикли (800 нс). PІС16F84 має переривання, що спрацьовує від чотирьох джерел, і восьмирівневий апаратний стек. Периферія містить у собі 8-бітний таймер/лічильник з 8-бітним програмувальним попереднім дільником (фактично 16 - бітний таймер) і 13 ліній двунаправленного вводу/виводу вводу/виводу. Висока наванта-жувальна здатність (25мА макс. струм, що втікає, 20 мА макс. струм, що випливає) ліній PІС16F84 ставиться до сімейства КМОП мікроконтролерів. Відрізняється тим, що має внутрішнє 1K x 14 біт пам'яті EEPROM для програм, 8-бітові дані й 64байт EEPROM пам'яті даних. При цьому відрізняються низькою вартістю й високою продуктивністю. Всі команди складаються з одного слова (14 біт шириною) і виконуються за один цикл (400 нс при 10 МГЦ), крім команд переходу, які виконуються за два цикли (800 нс). PІС16F84 має переривання, що спрацьовує від чотирьох джерел, і восьми-рівневий апаратний стек. Периферія містить у собі 8-бітний таймер/лічильник з 8-бітним програмувальним попереднім дільни-ком (фактично 16 - бітний таймер) і 13 ліній двунаправленного уведення/висновку. Висока навантажувальна здатність (25 мА макс. струм, що втікає, 20 мА макс. струм, що випливає) ліній уведення/висновку спрощують зовнішні драйвери й, тим самим, зменшується загальна вартість системи. Розробки на базі контро-лерів PІC16F84 підтримується асемблером, програмним симуля-тором, внутрісхемним емулятором (тільки фірми Mіcrochіp) і программатором.

Серія PІC16F84 підходить для широкого спектра розробницької діяльності. Наявність ПЗУ дозволяє підбудовувати параметри в прикладних програмах (коди передавача, швидкості двигуна, частоти приймача й т.д.). Малі розміри корпусів, як для звичайного, так і для поверхневого монтажу, робить серію мікроконтролерів придатної для портативних додатків. Низька ціна, економічність, швидкодія, простота використання й гнучкість вводу/виводу робить PІC16F84 привабливим навіть у тих областях, де раніше не застосовувалися мікроконтролери. Убудований автомат програмування EEPROM кристала PІC16F84 дозволяє легко підбудовувати програму й дані під конкретні вимоги. Схеми виконані по п-МОП технології, вхідні і вихідні сигнали відповідають рівням роботи ТТЛ-схем. Частотомір побудована на базі мікроконтролера РІC16F84, працює з тактовою частотою до 4 Мгц. Схеми програмуються за допомогою фіксованого набору команд МК РІС16F84 MPASM.

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

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

2. СПЕЦІАЛЬНИЙ РОЗДІЛ

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

PIC16F84 відноситься до сімейства КМОП мікроконтролерів. Всі команди складаються із одного слова (14 біт шириною) і виконуються за один цикл (400 нс при 10 МГц), крім команд переходу, які виконуються за два цикла (800 нс). PIC16F84 має переривання, що спрацьовують від чотирьох джерел, і восьмирівневий апаратний стек. Перефірія включає в себе 8-бітний таймер/лічильник з 8-бітним програмуємим попереднім дільником (фактично 16-бітний таймер) і 13 ліній двунаправленого вводу/виводу. Висока навантажувальна здатність (25 мА макс. втікаючий струм, 20 мА макс. витікаючий струм) ліній вводу/виводу спрощує зовнішні драйвери і, тим самим, зменшується загальна вартість системи. Розробки на базі контролерів PIC16F84 підтримуються асемблером, програмним симулятором, внутрішньо схемним модулятором (тільки фірми Microchip) і програматором.

Серія PIC16F84 підходить для широкого спектра конструкцій від схем високорівневого управління автомобільними електричними двигунами до економічних віддалених прийомопередавачів, показывающих приборов и связных процессоров. Наявність ПЗП дозволяє подстраивать параметри в прикладних програмах (коди передавача, швидкості обертання двигуна, частоти приймача та ін.). Малі розміри корпусів, як для звичайного, так і для поверхневого монтажу, робить цю серію МК придатной для портативних додатків. Низька ціна, економічність, швидкодія, простота використання і гибкость вводу/виводу робить PIC16F84 привабливим навіть в тих областях, де раніше не застосовувалися мікроконтролери. Наприклад, таймери, заміна жорсткої логіки у великих системах, співпроцесори. Слідує додати, що вбудований автомат програмування EEPROM кристалу PIC16F84 дозволяє легко налагоджувати програму і дані під конкретні потреби навіть після завершення асемблювання і тестування. Ця можливість може бути використана як для тиражування, так і для занесення калібровочних даних вже після кінцевого тестування.

Структурна схема МК зображена на Рис 2.1.1.

Рисунок 2.1.1 Структурна схема МК PIC18F84

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

Умовно графічне позначення МК зображене на Рис 2.1.2.

Рисунок 2.1.2 Умовно графічне позначення МК PIC16F84.

Таблиця 2.1.1

Номер

вивода

Позначення

Тип

Функціональне призначення

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

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

1, 2, 18

RA0 - RA3

Вхід/Вихід

Двонаправлені лінії вводу/виводу. Вхідні рівні ТТЛ.

-

3

RA4/RTCC

Вхід/Вихід

Вхід через тригер Шмитта. Ножка порта ввода/вывода с открытым стоком или вход частоты для таймера/счетчика RTCC

-

6

RB0/INT

Вхід/Вихід

Двунаправленная линия порта ввода/вывода или внешний вход прерывания. Уровни ТТЛ.

-

7 - 11

RB1 - RB5

Вхід/Вихід

Двунаправленные линии ввода/вывода. Уровни ТТЛ.

-

12

RB6

Вхід/Вихід

Двунаправленные линии ввода/вывода. Уровни ТТЛ.

Вход тактовой частоты для EEPROM

13

RB7

Вхід/Вихід

Двунаправленные линии ввода/вывода. Уровни ТТЛ.

Вход/выход EEPROM данных.

4

/MCLR/Vpp/

Вхід

Низкий уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий. Сброс контроллера.

Для режима EEPROM - подать Vpp.

16

OSC1 /CLKIN

Вхід

Для подключения кварца, RC или вход внешней тактовой частоты.

-

15

OSC2 /CLKOUT

Вхід

Генератор, вихід тактової частоти в режимі RC генератора, в інших випадках - для підключення кварцу.

-

14

Vdd

-

Напруга живлення

Напруга живлення

5

Vss

-

Загальний

Загальний

Область ОЗП організована як 128 х 8. До комірок ОЗП можна адресоватися прямо або косвенно, через регістр покажчик FSR (04h).Це також відноситься і до EEPROM пам'яті даних-констант.

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

Watchdog таймер представляє собою повністю незалежний вбудований RC, який не потребує ніяких зовнішніх кіл. Він буде працювати, навіть коли основний генератор буде зупиненим, як це відбувається при виконанні команди SLEEP. Таймер виробляє сигнал скидання. Вироблення таких скидань може бути заборонена шляхом запису нуля в спеціальний біт конфігурації WDTE. Ця операція виконується на етапі програмування мікросхеми.

Мікросхема К561ЛА7.

Рисунок 2.1.3 Умовно графічне позначення К561ЛА7.

Призначення виводів: 1-вхід Х2; 2-вхід Х1; 3-вихід Y1; 4-вихід Y2; 5-вхід ХЗ; 6-вхід Х4; 7-загальний; 8-вхід Х6; 9 -- вхід Х5; 10 -- вихід YЗ; 11 -- вихід Y4; 12 -- вхід X7; 13--вхід Х8; 14 -- напруга живлення.

2.2 Принцип роботи окремих мікросхем з використанням

тимчасових діаграм

Конвеєрна вибірка команд мікроконтролером і виконання команд

Вхідний тактовий сигнал (вхід OSC1) внутрішньою схемою мікро контролера ділиться на чотири неперекриваючихся такти Q1, Q2, Q3, Q4. Внутрішній лічильник команд збільшується на одиницю при кожному такті Q1, а вибірка команд із пам'яті програм на кожному такті Q4. Декодування і виконання команди виконується з такту Q1 до Q4. Цей процес показаний на Рис. 2.2.1.

Рис. 2.2.1 Діаграма циклів виконання команд

Цикл виконання команди складається із чотирьох тактів Q1, Q2, Q3 і Q4. Вибірка наступної команди і виконання поточної зміщені по часу таким чином виконання команди виконується за один цикл. Якщо команда змінює лічильник команд PC (наприклад команда GOTO) то необхідно два машинних циклу для виконання команди.

Цикл вибірки команди починається із збільшення лічильника команд PC в такті Q1. В циклі виконання команди, код завантаженої команди, поміщається в регістр команд IR на такті Q1. Декодування і виконання команди виконується в тактах Q1, Q2 і Q4. Операцій із пам'яті даних читається в такті Q2, а результат виконання команди записується в такті Q4.

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

Рисунок 3.1 схема електрична структурна.

Пристрій призначений для автоматичної передачі будь-якого абонентського номера (при вихідному дзвінку) на АОН абонента, якому ви дзвоните. Інформація передається методом безинтервального пакета в коді 2 з 6. частоти, Що Кодують: 700, 900, 1100, 1300, 1500 і 1700Hz. Номер видається тільки по запиту Аона, тобто, якщо в абонента, якому ви подзвонили, немає визначника номера, то інформація не посилає. Робота пристрою можлива тільки в тому випадку, коли ваш власний номер за якимись причинами не визначається (у цьому випадку ви чуєте після з'єднання запити АОН).

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

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

Конфігурація портів МК:

- RB0 - RB2, RB7, RA0 - RA4 - вихід;

- RB4 - RB6 - вхід.

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

Код програми:

BEGIN ; Ініціалізація контролера

CLRF STATUS ; очистка регістра STATUS

BCF INTCON, GIE ; глобальна заборона переривань

BSF STATUS, RP0 ; сторінка 1 ОЗП

CLRF TRISA ; всі лінії на вивод

MOVLW b'11110000'

MOVWF TRISB ; напрямок ліній порта B

MOVLW B'01000000' ; налагодження преддільника

MOVWF OPTION_REG

BCF STATUS, RP0 ; сторінка 0 ОЗП

MOVLW B'00101000' ; дозвіл переривань по таймеру і

; RB4-RB7

MOVWF INTCON

GOTO $ ; зациклюємо назавжди

Алгоритм роботи програми

Алгоритм роботи програми ініціалізації показаний на рис. 3.1.1. Він складається із трьох кроків.

Рис 3.1.1 Алгоритм роботи програми

За алгоритмом МК спочатку викликає “вектор сбросу”, який знаходиться в комірці з адресом 0000H. В цій комірці знаходиться виклик підпрограми ініціалізації командою CALL BEGIN.

Програма ініціалізації встановлює в 0 всі байти регістра STATUS. Цим же вона виконує вибір нульової сторінки ОЗП. Далі виконується заборона переривань так, як переривання ще не налагоджені. Далі виконується вибір першої сторінки ОЗП і вказується напрямок роботи портів вводу/виводу.

Наступним кроком є налагодження регістра OPTION_REG, в який записується '01000000'. Це означає, що преддільник використовувати не будемо. Наступною командою виконується вибір нульової сторінки ОЗП.

Головною командою є налагодження системи переривань МК. За переривання відповідає регістр INTCON. Вміст цього регістра показаний на Рис 3.1.2.

GIE

EEIE

TOIE

INTE

RBIE

TOIF

INTF

RBIF

Рис 3.1.2 Структура регістра INTCON.

Регістр INTCON складається із таких бітів:

- RBIF - флаг переривання по зміні рівня сигналу на входах RB7-RB4 PORTB.

- INTF - флаг зовнішнього переривання INT.

- TOIF - флаг переривання по переповненню TMR0.

- RBIE - біт дозволу переривання по зміні рівня сигналу на

- входах RB7-RB4 PORTB.

- INTE - біт дозволу зовнішнього переривання INT.

- TOIE - біт дозволу переривання по переповненню TMR0.

- EEIE - біт дозволу переривання запису в EEPROM.

- GIE - біт глобального дозволу переривань.

В коді виконується запис слова '00101000' в цей регістр. Це означає, що ми дозволяємо переривання по зміні рівня сигналу на входах RB7-RB4 PORTB і переривання по переповненню TMR0.

На наступному і останньому крокі виконується зациклення основної програми. Подальшу роботу МК виконує налагоджена система переривань.

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

LIST p=16F84

__CONFIG 03FF1H

; значення задержки

; могуть бути от 1 до 255

T1 equ .67 ; грубо

T2 equ .221 ; точно

IndF equ 00h ; Доступ до пам'яті через FSR

Timer0 equ 01h ; TMR0

OptionR equ 01h ; Option (RP0=1)

PC equ 02h ; лічильника команд

Status equ 03h ; Status

FSR equ 04h ; Регістр косвенной адресації

PortA equ 05h ; Port A

TrisA equ 05h ; Tris A - RP0=1

PortB equ 06h ; Port B

TrisB equ 06h ; Tris B - RP0=1

EEData equ 08h ; EEPROM Data

EECon1 equ 08h ; EECON1 - RP0=1

EEAdr equ 09h ; EEPROM Address

EECon2 equ 09h ; EECON2 - RP0=1

IntCon equ 0Bh ;

Count equ 0Eh ; временний лічильника

Count1 equ 0Fh ; іще один

LED0 equ 010h ;

LED1 equ 011h ;

LED2 equ 012h ;

LED3 equ 013h ; ячейки

LED4 equ 014h ; індикатора

LED5 equ 015h ;

LED6 equ 016h ;

LED7 equ 017h ;

Temp equ 018h ; временний регістр

LEDIndex equ 019h ; указатель LED

TimerL equ 01ah ; молодший байт лічильника частоти

TimerM equ 01bh ; середній байт лічильника частоти

TimerH equ 01ch ; старший байт лічильника частоти

; Результат в

W equ 0 ; акумуляторі

F equ 1 ; регістрі

; Flag bits:

CF equ 0 ; Carry

DC equ 1 ; DC

ZF equ 2 ; Zero

RP0 equ 5

org 2100h

; частота ПЧ по з мовчанню

DE 008h,064h,070h ; 5.5 мгц

DE 0h,0h,0h

org 0

goto Start

; Перевірка та ініціалізація порта А

clrf PortA ; RA0..RA3 = 0

bsf Status,RP0

movlw b'00010011'

movwf TrisA ; RA0,RA1,RA4 input

bcf Status,RP0 ;

movf PortA,w

andlw b'00000011'

return

; Перекодування двійковогого кода в код LCD

Bin2LCD

bcf Status,0 ; clear the carry bit

movlw .24

movwf Count

clrf LED3

clrf LED2

clrf LED1

clrf LED0

loop16

rlf TimerL,f

rlf TimerM,f

rlf TimerH,f

rlf LED0,f

rlf LED1,f

rlf LED2,f

rlf LED3,f

decfsz Count,f

goto adjDEC

swapf LED3,w

andlw 0Fh

movwf LED7

movfw LED3

andlw 0Fh

movwf LED6

swapf LED2,w

andlw 0Fh

movwf LED5

movfw LED2

andlw 0Fh

movwf LED4

swapf LED1,w

andlw 0Fh

movwf LED3

movfw LED1

andlw 0Fh

movwf LED2

swapf LED0,w

andlw 0Fh

movwf LED1

movfw LED0

andlw 0Fh

movwf LED0

return

adjDEC

movlw LED0

movwf FSR

call adjBCD

movlw LED1

movwf FSR

call adjBCD

movlw LED2

movwf FSR

call adjBCD

movlw LED3

movwf FSR

call adjBCD

goto loop16

adjBCD

movlw 3

addwf 0,W

movwf Count1

btfsc Count1,3

movwf 0

movlw 30

addwf 0,W

movwf Count1

btfsc Count1,7

movwf 0

retlw 0

; Перекодуровання BCD -> 7 сегментний код

LCDTable

addwf PC,F ; W + PC -> PC

retlw b'00111111' ; ..FEDCBA = '0'

retlw b'00000110' ; .....CB. = '1'

retlw b'01011011' ; .G.ED.BA = '2'

retlw b'01001111' ; .G..DCBA = '3'

retlw b'01100110' ; .GF..CB. = '4'

retlw b'01101101' ; .GF.DC.A = '5'

retlw b'01111101' ; .GFEDC.A = '6'

retlw b'00000111' ; .....CBA = '7'

retlw b'01111111' ; .GFEDCBA = '8'

retlw b'01101111' ; .GF.DCBA = '9'

retlw b'01110001' ; .GFE...A = 'F'

;Головна програма

Start

bsf Status,RP0

movlw b'00010000' ; RA0..RA3 outputs

movwf TrisA ; RA4 input

movlw b'00000000' ; RB0..RB7 outputs

movwf TrisB

clrwdt ;

movlw b'00100111' ; Prescaler -> Timer0,

movwf OptionR ; 1:256, Виставляю дільник частоти

bcf Status,RP0 ;

clrf Count ; указателі

clrf LEDIndex

clrf LED0 ; індикатори

clrf LED1

clrf LED2

clrf LED3

clrf LED4

clrf LED5

clrf LED6

clrf LED7

clrf TimerL ; ячейка счота

clrf TimerM ; ячейка счота

clrf TimerH ; ячейка счота

; Перекодурованя bin => BCD => код для индикаторів

Go

bcf EECon1,2 ; заборона запису

movlw 0

movwf EEAdr

bsf Status,RP0

bsf EECon1,0

bcf Status,RP0 ;

movf EEData,w

movwf IF_H

movlw 1

movwf EEAdr

bsf Status,RP0

bsf EECon1,0

bcf Status,RP0 ;

movf EEData,w

movwf IF_M

movlw 2

movwf EEAdr

bsf Status,RP0

bsf EECon1,0

bcf Status,RP0 ;

movf EEData,w

movwf IF_L

call Bin2LCD

; Регистры LED0..LED7 заповнені значеннями, готовимося

міряти й відображать

clrf IntCon ; обнуління біта переповнення

clrf TimerH ; старший байт виміру

clrf Timer0 ; собственно таймер

clrf LEDIndex ; указатель цифри

movlw .60 ; начальне значення лічильника

movwf Count ; 60 -> Count

; Начало мірять й індикації: RA3 set input

movlw b'00000000' ; 0 в усі порти

movwf PortA

bsf Status,RP0

movlw b'00011000' ; RA0..RA2 output,RA3..RA4 input

movwf TrisA ; RA4 input

bcf Status,RP0 ;

LEDCycle movlw LED0

addwf LEDIndex,W ; LED1 + LEDIndex -> W

movwf FSR ; W -> FSR

movf IndF,W ; LED(0..6) -> W

call LCDTable ; W -> семисегментний код

movwf Temp ; точка есть?

movlw 5

bsf Status,ZF

subwf LEDIndex,W

btfss Status,ZF

goto NoDot

bsf Temp,7

NoDot movf Temp,W

movwf PortB ; вывод цифри в PortB

movf LEDIndex,W ; LEDIndex -> W

movwf PortA ; вивід позиції в PortA

; Проверка TMR0 на переполнение

btfss IntCon,2

goto DoNothing

incf TimerH,F

bcf IntCon,2

goto O_K

DoNothing nop

nop

nop

; The first timing loop

O_K

movlw T1

movwf Temp

Pause

decfsz Temp,F

goto Pause

incf LEDIndex,F

movlw 7 ; is 7th?

bcf Status,ZF

subwf LEDIndex,W

btfss Status,ZF

goto LEDCycle ; след. цифра

nop

clrf LEDIndex

decfsz Count,F

goto LEDCycle ; next 7xLED

nop

; The second timing loop

movlw T2

movwf Temp

EndPause

decfsz Temp,F

goto EndPause

nop

; Завершение міряти

Nx

clrw

movwf PortB ; RB0..RB7 = 0

movwf PortA ; RA0..RA3 = 0

bsf Status,RP0

movlw b'00010000'

movwf TrisA ; RA4 input

bcf Status,RP0 ;

nop

nop

; Послідня перевірка TMR0 на переповнення

btfss IntCon,2

goto Analyse

bcf IntCon,2

incf TimerH,F

; Аналіз вмісту попереднього дільника

Analyse

nop

movf Timer0,W ; средний байт лічильника

movwf TimerM ; TMR0 -> TimerM

clrf TimerL

CountIt

incf TimerL,F

bsf PortA,3 ; _| false impulz

nop

bcf PortA,3 ; |_

nop

movf Timer0,W ; actual Timer0 -> W

bcf Status,ZF

subwf TimerM,W

btfsc Status,ZF

goto CountIt

incf TimerL,F

comf TimerL,F

incf TimerL,F

incf TimerL,F ; молодший байт лічильника

goto KeyQuery

minusIF

comf IF_L,f

incf IF_L,f

btfsc Status,ZF

decf IF_M,f

comf IF_M,f

btfsc Status,ZF

decf IF_H,f

comf IF_H,f

movf IF_L,w

addwf TimerL,f

btfss Status,CF

goto min11

incf TimerM,f

btfss Status,ZF

goto min11

incf TimerH,f

min11

movf IF_M,w

addwf TimerM,f

btfsc Status,CF

incf TimerH,f

movf IF_H,w

addwf TimerH,f

btfsc Status,CF ; результат від'ємний?

goto Go1 ; ні

btfsc Status,CF ; а не нуль?

goto Go1 ; ні

comf TimerL,f ; перетворення

incf TimerL,f

btfsc Status,ZF

decf TimerM,f

comf TimerM,f ; від'ємного

btfsc Status,ZF

decf TimerH,f

comf TimerH,f ; результату

Go1

movlw 0

movwf KeyWait

goto Go

plusIF

movf IF_L,w

addwf TimerL,f

btfss Status,CF

goto pl11

incf TimerM,f

btfss Status,ZF

goto pl11

incf TimerH,f

pl11

movf IF_M,w

addwf TimerM,f

btfsc Status,CF

incf TimerH,f

movf IF_H,w

addwf TimerH,f

goto Go1

Edt

clrf IntCon ; очистити всі біти

movlw 0ah

movwf LED7 ; признак режиму

movlw b'00000000' ;

movwf PortA

bsf Status,RP0

movlw b'00010000' ; RA0..RA3 вивод,RA4 вводу

movwf TrisA ;

bcf Status,RP0 ;

clrf LEDIndex ; указатель цифри

EdtCycle

movlw LED0

addwf LEDIndex,W ; LED1 + LEDIndex -> W

movwf FSR ; W -> FSR

movf IndF,W ; LED(0..6) -> W

call LCDTable ; W -> семисегментный код

movwf Temp ; точка есть?

movlw 5

bsf Status,ZF

subwf LEDIndex,W

btfss Status,ZF

goto NoDot1

bsf Temp,7

NoDot1

movf Temp,W

movwf PortB ; вивід цифри в PortB

movf LEDIndex,W ; LEDIndex -> W

movwf PortA ; вивід позиції в PortA

; Timing loop

movlw .255

movwf Temp

Pause1

decfsz Temp,F

goto Pause1

incf LEDIndex,F

btfss LEDIndex,3

goto EdtCycle ; следуюча цифра

clrf LEDIndex

goto FunOff

NextFun

movlw 0 ; вихід із цикла редактування

movwf KeyWait

goto Edt ; next 8xLED

end

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

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

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

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

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

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

Збереження.

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

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

обслуговування.

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

Відмовлення - подія, що полягає в повній чи частковій утраті

працездатності ТЕЗа.

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

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

Поступові (параметричні) - постійна зміна одного чи декількох

параметрів з часом, що виходять за припустимі межі.

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

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

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

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

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

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

nі- кількість елементів у схемі;

і- інтенсивність відмовлень і-го елемента;

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

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

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

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

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

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

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

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

Ймовірність безвідмовної роботи визначається по наступній

формулі:

і=общ.;

t - час, година.

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

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

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

Анотація

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

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

Була написана програма ініціалізації і програма обробника переривань від таймера та портів вводу-виводу, вказані алгоритми роботи програми.

Виконаний розрахунок надійності, який показує, що пристрій може працювати до першої відмови в середньому.

Література

1. К.Г. Самофалов Микропроцессоры -Киев: Техника, 1989.

Микропроцессоры и микропроцессорные комплекты интегральных микросхем. Справочник. / Под ред. В.А. Шахнова . - М.: " Радио исвязь", 1988.

Микропроцессоры, архитектура и проектирование микро-ЭВМ, Организация вычислительных процессов. - М.: Высшая школа,1986.

Микропроцессоры. Средства сопряжения. Контролирующие иинформационно-управляющие системы. / Под ред. Л.Н. Преснухина . - М.: Высшая школа, 1986.

Микропроцессоры. В 3-х книгах. Учеб, для ВТУЗов. / Под ред. Л.Н. Преснухина, М.: Высшая школа, 1986.

Микропроцессоры и микро-ЭВМ в системах автоматического управления: справочник. -Л.: Машиностроение, 1987.

"Микропроцессорные средства и системы". № 6, 1988.

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


Подобные документы

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

    курсовая работа [527,4 K], добавлен 24.03.2009

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

    курсовая работа [935,6 K], добавлен 23.03.2009

  • Опис великої інтегральної схеми пристрою множення. Аналіз розв’язків поставленої задачі, розробка принципової електричної схеми, логічної моделі і тесту перевірки, розрахунок швидкодії. Тестування з використанням пакету прикладних програм OrCAD 9.1.

    курсовая работа [5,0 M], добавлен 22.02.2010

  • Розробка структурної та принципипової схеми мікропроцесорної системи, їх структура и головні елементи. Розробка програми мікропроцесора, а також пристрою для блоку воду-виводу, схеми дешифратора. Інтерфейс і закономірності зв’язку в комп’ютером.

    курсовая работа [639,9 K], добавлен 09.09.2015

  • Опис результату розробки архітектури пристрою та його структурної схеми на рівні міжрегістрових передач. Система для виконання тестування пристрою, результати його симуляції у формі часових діаграм. Cинтез розробленої VHDL-моделі пристрою в ПЛІС.

    курсовая работа [1,2 M], добавлен 03.03.2015

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

    курсовая работа [422,1 K], добавлен 27.02.2013

  • Розробка структурної схеми. Опис основних елементів мікропроцесора. Вибір підходящої структури процесорного елемента та його опис. Реалізація пристрою управління. Розробка мікропрограми та загальний алгоритм виконання процесором команди SBR Rm, B.

    контрольная работа [83,6 K], добавлен 04.06.2009

  • Характеристики вузлів системи автоматичного закривання жалюзі. Розробка схеми електричної функціональної. Блок-схема алгоритму роботи пристрою. Середовище розробки програмної частини пристрою. Основні компоненти розробки програмної частини системи.

    курсовая работа [1,0 M], добавлен 06.12.2014

  • Таблиця істинності логічних функцій пристрою, який необхідно синтезувати. Отримання логічних функцій пристрою та їх мінімізація за допомогою діаграм Вейча. Побудова та аналіз структурної схеми пристрою в програмі AFDK з логічними елементами до 3-х входів.

    курсовая работа [320,4 K], добавлен 03.05.2015

  • Розробка алгоритмів виконання арифметичних операцій для систем числення в різних кодах з оцінкою точності. Проектування цифрового автомату в булевих базисах з використанням логічних елементів. Складення структурної схеми комбінаційних цифрових автоматів.

    курсовая работа [264,6 K], добавлен 10.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.