Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
knigaEMTmikroprotsesori.doc
Скачиваний:
16
Добавлен:
10.03.2016
Размер:
1.33 Mб
Скачать

Лабораторна робота № 21 Дії з портами мікроконтролера, логічні операції та обробка окремих бітів

Мета роботи: засвоїти систему команд мікроконтролерів PIC16xxx

Теоретичні відомості

Однокристальний мікроконтролер PIC16F628 та йому подібні мають систему з 35 команд, кожна з яких має 14 бітів. Вони дозволяють складати ефективні програми. Коди команд при програмуванні заносяться у пам'ять програм. Вона відділена від вісьмибітових комірок оперативної пам'яті, які ще називаються регістрами або файлами.

Розрізняють регістри спеціального і загального призначення. Усі регістри включно з портами введення-виведення розташовані у загальному адресному полі. Тобто ті команди, що звертаються до регістрів загального призначення, можуть так само звертатись до регістрів спеціального призначення або до зовнішніх портів. Регістри спеціального призначення та зовнішні порти мають сталі імена, які задані у стандартному файлі включення P16F628.INC. Наприклад, зовнішні порти А та В іменуються PORTA та PORTB, вказівник для непрямої адресації – FSR, регістр стану – STATUS тощо.

Регістрам загального призначення розробник програми надає свої імена за допомогою директиви EQU (див. програму). Вона дозволяє іменувати константи, що будуть використані у програмі.

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

b'01110101' – двійкове число;

o'174' – вісімкове число;

d'186' або .186 – десяткове число;

h'E8' або 0xE8 – шістнадцяткове число.

Лабораторна установка складається з таких частин:

  1. Плата мікроконтролера з елементарними пристроями виведення – світлодіодами. Вони підключені до порту А (біти RA0 …RA4) та В (біти RB0 …RB7). До цих же бітів портів приєднані елементарні пристрої введення (вимикачі).

  2. Плата програматора.

  3. Перемикач режимів Робота / Програмування.

  4. Блок живлення.

Для програмування мікроконтролера лабораторна установка підключається шлейфом до LPT-порту комп'ютера.

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

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

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

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

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

;ЛАБОРАТОРНА РОБОТА 21

; Дії з портами мікроконтролера, логічні операції

;та обробка окремих бітів.

LIST P=16F628 ;тип мікропроцесора

#INCLUDE "P16F628.INC" ;підключення файла

;стандартних імен

;директиву __CONFIG набрати в одному рядку,

;закінчуючи словом _LVP_OFF

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _MCLRE_ON & _LVP_OFF

COD EQU КОД ;тут замість "КОД" введіть дві

; останні цифри з імені проекту

org h'000' ;Задання адреси початку програми

movlw h'07' ;Відключити компаратори і

movwf CMCON ; встановити порт А в

;дискретний режим

movlw COD ;вивести COD у зачепку

movwf PORTB ;порту В

bsf STATUS, RP0 ;Обрати банк регістрів 1

clrf TRISB ;порт В - на виведення

movlw h'FF' ;/порт A -

movwf TRISA ;/ на введення

bcf STATUS, RP0 ;Обрати банк регістрів 0

T0: btfss PORTA,0 ;якщо вимикач RА0 ввімкнутий,

;пропустити наступну команду

goto T0 ;а якщо ні, – виконати перехід

movlw b'10011000' ;

iorwf PORTB,f ;логічне "АБО" з W та портом В

T1: btfss PORTA,1 ;/повторювати ці дві команди,

goto T1 ;/ поки вимкнений вимикач RA1

movlw b'11100111'

andwf PORTB,f ; логічне "ТА" з W та портом В

T2: btfss PORTA,2 ;\ повторювати ці дві команди,

goto T2 ;\ поки вимкнений вимикач RA2

movlw b'11100010'

xorwf PORTB,f ;логічне "ВИКЛЮЧНЕ АБО" з W та

;портом В

T3: btfss PORTA,3 ;далі написати коментар самостійно

goto T3 ;

bsf PORTB,6 ;

bcf PORTB,1 ;

T4: btfss PORTA,4 ;

goto T4 ;

movlw b'00101010';

movwf PORTB ;

T5: btfsc PORTA,0 ;

goto T5 ;

decf PORTB,f ;

goto T0 ;

end

У програмі застосовуються такі види команд:

Команда

Коментар

movlw k

;переслати число (літерал) у робочий регістр W

movwf f

; переслати вміст робочого регістра W у регістр f

bcf f, b

;занести 0 у біт номер b регістра f (b 0, 1… 7)

bsf f, b

; занести 1 у біт номер b регістра f (b 0, 1… 7)

goto k

;безумовний перехід на адресу k

clrw

;очистити робочий регістр W

btfss f, b

;якщо у регістрі f вказаний біт b = 1, пропустити наступну команду

btfsc f, b

;якщо у регістрі f вказаний біт b = 0, пропустити наступну команду

iorwf f,d

;побітне "ВКЛЮЧНЕ АБО" з регістрами W i f

andwf f,d

; побітне "І" з регістрами W i f

xorwf f,d

; побітне "ВИКЛЮЧНЕ АБО" з регістрами W i f

  1. Записати програму на диск (File – Save).

  2. Виконати компіляцію програми (Project – Make Project або піктограма у вигляді зеленої лійки). Після цього на екрані з'являється вікно результатів компіляції (Build Results).

  3. Якщо з'явилось повідомлення про помилки (error), слід, ознайомившись з поясненням змісту помилки, натиснути мишею на цей рядок вікна Build Results. MPLAB зробить активним той рядок у тексті програми, де, ймовірно, зроблено помилку. Слід виправити її і далі так само й інші помилки. Потім повернутись до п. 5, поки не буде видано повідомлення "Build completed successfully" (Компіляцію завершено успішно). При цьому створюється файл з тим же ім'ям і розширенням .hex.

  4. Подумки аналізуючи програму, слід послідовно записати в табл. 21.1 стан світлодіодів після кожної зміни стану вимикачів.

  5. Підключити лабораторну установку до LPT-порту комп'ютера і до живлення. Встановити перемикач "Робота / Програмування" у положення "Програмування" (при цьому світиться світлодіод Prog). Вимкнути всі вимикачі, що підключені до портів.

  6. Згорнути вікно MPLAB і на робочому столі зробити подвійний клік на синій піктограмі програматора "ProPic2". Перевірити у вікні ProPic2, чи вірно задано тип мікроконтролера (у верхній правій частині вікна виділено синім кольором) і, якщо треба, обрати потрібний тип. Стандартним шляхом відкрити створений вами файл з розширенням .hex.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]