Міністерство освіти і науки України
Донбаська державна машинобудівна академія
Методичні вказівки до лабораторного практикуму
з дисципліни “Мікропроцесорні пристрої”
(для спеціальності 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 і широко розгалужену у всьому світі ділерську мережу.
Друга частина лабораторного практикуму з дисципліни ―Мікропроцесорні пристрої‖ призначена для закріплення теоретичних знань та придбання практичних навичок програмування РІС- мікроконтролерів.
У залежності від розрядності команд, архітектурних особливостей і функціональних можливостей однокристальні мікроконтролери (ОМК) 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 і т.п., цифрові перемножувачі, додаткові таймери-лічильники, збільшена кількість портів вводу/виводу дискретних сигналів та інше.