Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основи використання MPLAB-ICD пояснено далі в ході роботи




Виведення цифрової інформації на семисегментні індикатори

Мета роботи: вивчити основи використання пристрою ICD для налагодження систем на базі РІС-контролерів, засвоїти спосіб виведення інформації на семисегментні індикатори за допомогою регістрів зсуву

 

ТЕОРЕТИЧНІ ВІДОМОСТІ

У середовище MPLAB є можливість здійснювати програмну імітацію (симуляцію) виконання команд, введення і зміну зовнішніх сигналів та інші можливості налагодження.

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

Щоб виправити подібні помилки, використовують пристрої, які називають емулятори. Вони дозволяють спільно налагодити апаратне та програмне забезпечення реальної мікроконтролерної системи. Але емулятор дорого коштує. Схожим за призначенням та значно дешевшим за нього є налагоджувач MPLAB-ICD (In-Circuit Debugger). Цей пристрій є внутрішньосхемним налагоджувачем і одночасно програматором.

MPLAB-ICD забезпечує:

· покрокове виконання коду в реальному масштабі часу;

· точки зупинки;

· внутрішньосхемну наладку;

· вбудоване програмування;

· роботу від джерела живлення налагоджуваної системи;

Часто при створенні мікроконтролерних систем управління і контролю необхідно передбачати виведення інформації на індикатори.

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

Раціональніше використовувати послідовну передачу інформації за двопровідною схемою з використанням регістрів зсуву (рис. 26.1). У такому випадку незалежно від кількості індикаторів потрібно використати два виводи мікроконтролера: один – для передачі даних (RC5), другий – для передачі сигналу синхронізації (RC3). Іще один вивід використовується тільки для скидання регістрів (RA2).

Алгоритм передачі інформації такий: у циклі, що повторюється 8·n разів (для двох індикаторів 16 разів), здійснюється послідовне в часі виведення бітів семисегментних кодів цифр на вивід RC5. Як тільки черговий біт з'являється на RC5, мікроконтролер виводить тактовий імпульс на RC3.


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

Лабораторна установка складається з демоплати, плати налагоджувача (має менші розміри) і комп'ютера.

 

ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ

1. Приєднати СОМ-порт комп'ютера до демоплати, демоплату до плати налагоджувача. Ввімкнути живлення демоплати (налагоджувач живиться від демоплати).

2. У середовищі MPLAB, створити у папці D:\1Work новий проект з іменем 26ГБ (Г – номер групи, Б – номер бригади), обравши у меню Project-New Project.

3. Натиснувши кнопку Change, у вікні Development Mode відкрити закладку Tools. Вибрати пункт MPLAB ICD Debugger (налагоджувач MPLAB) і тип процессора, що встановлений на демоплаті: Processor: PIC16F877. Натиснути кнопку ОК.

4. У вікні Edit Project додати новий файл на асемблері з іменем проекту та розширенням.asm (Add Node – додати вузол). Після повернення до вікна Edit Project нижче hex-файла з'явиться ім'я асемблерного файла. Натиснути кнопку ОК. У середовищі MPLAB IDE створити цей текстовий файл з розширенням.asm (File – New), записавши його у папку 1Work (File - Save As …).

5. При роботі з налагоджувачем з'явилось вікно MPLAB ICD. Треба встановити режими його роботи, натиснувши кнопку Options....

6. У вікні ICD Options слід обрати такі установки.

У рамці Configuration Bits:

a) Oscillator: XT (генератор: 2-10 МГц);

b) Watchdog Timer: Off/Disable (сторожовий таймер відключити);

c) Power Up Timer: On/Enable (таймер затримки після включення живлення ввімкнути);

d) Brown out Detect: Off/Disable (скидання при зниженні напруги живлення виключити);

e) Low Voltage Program: Disable (низьковольтне програмування заборонити);

f) Code Protect Data EE: code protect Off (захист даних EEPROM відмінити);

g) Flash Memory Write: Memory written to be EECON (запис у флеш-пам'ять через EECON);

h) Code Protect: Code Protection Off (захист коду програми відмінити).

 

У рамці Program Options зняти відмітку тільки для пункту ID Locations.

Закрити вікно ICD Options (´).

У вікні MPLAB ICD мають бути обрані такі пункти: COM1, 19200, Minimum, 2MHz-10MHz.

7. Ввести на асемблері текст програми.

 

Текст програми:

 

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

; Лабораторна робота № 26

;Індикація цифр на семисегментних індикаторах демоплати

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

 

list p=16f877; директива задає тип процесора

#include <p16f877.inc>;включення файла стандартних імен

Br equ БР;тут замість БР вставити номер своєї бригади

 

CBLOCK 20H;директива задає блок регістрів

T_C; буфер даних для відображення

_N; Змінна для установки затримок

LOOP3; Змінні

LOOP2; для

LOOP1; підпрограм

LOOP0; затримок

LSD; Молодша цифра числа

MSD; Старша цифра числа

L7;7-сегментний код молодшої цифри

M7;7-сегментний код старшої цифри

ENDC

 

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

; Основна програма

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

ORG 000H

nop

goto main

org 4

goto int

main:

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

bsf PORTA,2;відмінити скидання регістрів зсуву

clrf PORTC

bsf STATUS,RP0; банк пам'яті 1

movlw b'11111011'; Встановити порт А на введення,

movwf TRISA; лише біт 2 на вивод

movlw b'11010101'; Встановити RC5, RC3, RC1 на

movwf TRISC;виведення, інші- на введення

bcf STATUS,RP0; Вертання на сторінку 0 пам'яті

main_0: movlw d'100'

MOVWF T_C

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

main_1: ;тут складіть фрагмент, що від вмісту комірки Т_С




Поделиться с друзьями:


Дата добавления: 2015-06-25; Просмотров: 437; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.