Смекни!
smekni.com

Мікропроцесорні пристрої (стр. 1 из 21)

Міністерство освіти і науки України

Донбаська державна машинобудівна академія

Методичні вказівки до лабораторного практикуму

з дисципліни “Мікропроцесорні пристрої”

(для спеціальності 7.092203 ―Електромеханічні системи автоматизації та електропривод‖)

Частина 2

Затверджено на методичній раді ДДМА

Протокол № від 2006 р.

Краматорськ 2007

УДК 681.3

Методичні вказівки до лабораторного практикуму з дисципліни

―Мікропроцесорні пристрої‖ (для спеціальності 7.092203

―Електромеханічні системи автоматизації та електропривод‖) / Укл. О.М. Наливайко. – Краматорськ: ДДМА, 2007. - 98 с.

Викладені основні відомості про мікроконтролери сімейства PIC та основи їх програмування. Наведені індивідуальні завдання та контрольні питання для виконання лабораторних робіт на навчальних стендах PICDEM 2 PLUS

Укладач О.М. Наливайко, доц.

Відповід. за випуск О.М. Наливайко, доц.

Зміст

Вступ....................................................................................................5

1 КОРОТКИЙ ОПИС ОДНОКРИСТАЛЬНИХ МІКРОКОНТРОЛЕРІВ РІС

1.1 Загальні відомості........................................................................6

1.2 Особливості структурної організації.........................................8

1.2.1 Набір регістрів........................................................................9

1.2.2 Сторожовий таймер WDT.....................................................10

1.2.3 Тактовий генератор .............................................................11

1.2.4 Схема скидання……………….............................................11

2 МІКРОКОНТРОЛЕР PIC16F877

2.1 Характеристика мікроконтролера.............................................11

2.2 Cтруктурна схема мікроконтролера PIC16F877......................12

2.3 Організація пам'яті.......................................................................15

2.3.1 Пам‘ять програм...................................................................15

2.3.2 Організація пам'яті даних......................................................16

2.4 Регістр стану STATUS .............................................................19

2.5 Регістр OPTION.........................................................................20

2.6 Регістр INTCON........................................................................22

2.7 Лічильник команд.....................................................................23

2.8 Стік...............................................................................................24

2.9 Порти введення/виводу...............................................................24

2.9.1 Регістри PORTА і TRISA.....................................................25

2.9.2 Регістри PORTB і TRISB.....................................................26

2.9.3 Регістри PORTC і TRISC.....................................................28

2.9.4 Регістри PORTD і TRISD....................................................29

2.9.5 Регістри PORTE і TRISE.....................................................30

2.10 Таймери.....................................................................................30

2.10.1 Модуль таймера TMR0..................................................................31

2.10.2 Модуль таймера TMR1..................................................................32

2.10.3 Модуль таймера TMR2..................................................................35

2.11 Модуль 10-розрядного АЦП........................................................37

2.12 Переривання................................................................................40

2.13 Сторожовий таймер WDT…....................................................42

2.14 Біти конфігурації.......................................................................43 2.15 Система команд.....................................................................................44

3 Програмування РІС – мікроконтролерів.............................................47

3.1 Правила запису програм на мові Асемблера.............................47

3.2 Структура робочої програми.......................................................50

3.3 Приклад написання початкового тексту програми...................50

3.4 Перетворення початкового тексту робочої програми

у об'єктний модуль.......................................................................54

3.5 Використання програми-транслятора MPASM…....................55

3.6 Відладка робочих програм.........................................................57 4 MPLAB IDE..............................................................................................................58

4.1 Засоби розробки MPLAB IDE…........................................................59 Створення нового проекту..................................................................60

4.3 Створення початкового файлу............................................................60

4.4 Компіляція початкового файлу............................................................62

4.5 Відладка програми................................................................................64

4.6 Внутрішньосхемний відладчик MPLAB ICD2..................................67

4.7 Демонстраційно – відладочна плата PICDEM 2 Plus........................68

4.8 Програмування контролера.................................................................69 5 Лабораторний практикум.............................................................................70

Лабораторна робота 1............................................................................70

Лабораторна робота 2............................................................................72

Лабораторна робота 3............................................................................74

Лабораторна робота 4............................................................................77

Лабораторна робота 5............................................................................79

Лабораторна робота 6............................................................................83

Література......................................................................................................89

Додаток А.......................................................................................................90

Додаток Б.......................................................................................................92

Додаток В.......................................................................................................95

Додаток Г.......................................................................................................96

ВСТУП

Однокристальні мікроконтролери (ОМК) дозволяють істотно розширити інтелектуальні можливості різного роду пристроїв і систем. Вони є по суті спеціалізованими однокристальними МІКРОЕОМ, що містять для зв'язку із зовнішнім середовищем вбудовані периферійні вузли і пристрої, набір яких багато в чому визначає їх функціональні можливості і області застосування. Останнє спричинило за собою появу величезної різноманітності типів ОМК, які випускаються в даний час такими фірмами як, Intel, Motorola, Zilog, National, Mitsubishi Electric і ряд інших.

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

Переважне число ОМК мають традиційну (Фон-Неймановську або Прінстонську) архітектуру, в якої команди і дані передаються по одній шині. Особливий клас є мікроконтролери, архітектура яких заснована на концепції роздільних шин і областей пам'яті для даних і команд (Гарвардська архітектура). Дані мікроконтролери мають RISC-архітектуру, забезпечуючу просту але могутню систему команд, які виконуються за один цикл. До таких мікроконтролерів відносяться, зокрема, ОМК фірми Microchip сімейства PIC (12CXX, 16CXX, 17CXX).

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

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

Друга частина лабораторного практикуму з дисципліни ―Мікропроцесорні пристрої‖ призначена для закріплення теоретичних знань та придбання практичних навичок програмування РІС- мікроконтролерів.

1 КОРОТКИЙ ОПИС ОДНОКРИСТАЛЬНИХ МІКРОКОНТРОЛЕРІВ РІС

1.1 Загальні відомості

У залежності від розрядності команд, архітектурних особливостей і функціональних можливостей однокристальні мікроконтролери (ОМК) PIC поділяються на три основні групи (підсімейства):

1 Молодше підсімейство (12-розрядне процесорне ядро)-PIC 12C5хх, PIC 12C6хх, PIC 16C5хх.

2 Середнє підсімейство (14-розрядне процесорне ядро)- PIC 16C55х, PIC 16C6хх, PIC 16C7хх, PIC 16F8хх, PIC 16C9хх.

3 Старше підсімейство (16-розрядне процесорне ядро)- PIC 17Схх, PIC 18Схх, PIC 18Fхх.

Більшість ОМК, також як і мікроконтролери серії КР1816, має традиційну (Фон-Неймановську чи Прінстонську) архітектуру в якій команди і дані передаються по одній шині. Архітектура ж ОМК PIC заснована на концепції роздільних шин і областей пам'яті для даних і команд (Гарвардська архітектура) . Шина і пам'ять даних (ОЗП) має ширину 8 біт, а програмна шина і пам'ять (ПЗУ чи ППЗУ) має ширину 12, 14 чи 16 біт у залежності від сімейства ОМК. Така концепція забезпечує просту, але могутню систему команд, а двоступінчастий конвеєр забезпечує їхню одночасну вибірку і виконання. Усі команди складаються з одного слова (шириною 12, 14 чи 16 біт) і виповнюються за один цикл (200 нс при тактовій частоті 20Мгц), крім команд переходу, що виконуються за два цикли. За рахунок цього ОМК із RISC-архітектурою типу PIC 16/17/18 мають саму високу швидкодію в порівнянні з більшістю найбільш розповсюджених 8-бітових мікроконтролерів аналогічного класу і забезпечують більш ніж у 5-10 разів кращу продуктивність.

Контрольні іспити показують, що застосування ОМК серії PIC дозволяють зменшити час налагодження в 1,5-2 рази в порівнянні зі звичайними 8- розрядними мікроконтролерами.

Система команд PIC 12/16/17/18 включає тільки 33/37/57/75 команд і може бути легко і швидко вивчена. У конструкцію PIC включено багато енергозберігаючих особливостей, що роблять їх на сьогоднішній день самими мікроспоживаючими (у режимі SLEEP споживаний струм менш 1 мка), самими низьковольтними по напрузі живлення (2В) програмувальними користувачем мікроконтролерами.

Найпростіші типи таких ОМК містять 8-бітний таймер-лічильник з 8бітним програмованим попереднім дільником (фактично 16-бітний таймер) і 6(20) ліній двохнаправленого вводу/виводу. Корпус таких ОМК має 8(18) виводів. Мікроконтролери середнього і старшого підсімейств містять крім цього цілий ряд додаткових функціональних вузлів і блоків таких, наприклад, як: багатоканальні аналого-цифрові перетворювачі, розгалужену систему переривань, блоки керування рідкокристалевими індикаторами, компаратори, широтно-імпульсні модулятори, паралельні і послідовні інтерфейси типу I2C, RS-232 і т.п., цифрові перемножувачі, додаткові таймери-лічильники, збільшена кількість портів вводу/виводу дискретних сигналів та інше.