Робота з портами вводу/виводу

Вивчення пакета MPLAB

МЕТА

На прикладі мікроконтролера PIC16C56 вивчити режими роботи портів вводу/виводу, способи й особливості їх ініціалізації. Розглянути ввід/вивід дискретних сигналів. Набути практичні уміння роботи з пакетом MPLAB, засвоїти способи задання зовнішніх впливів на виводи портів мікроконтролера.

ЗАВДАННЯ ПО ЛАБОРАТОРНІЙ РОБОТІ

2.1. Ініціалізація портів вводу/виводу.

2.1.1. Настроїти порт A на вивід (регістр TRISA).

2.1.2. Настроїти порт B на ввід (регістр TRISB).

2.2. Ввід інформації з датчиків дискретних сигналів.

2.2.1. Увести через порт B число M, відповідно до варіанта завдання.

2.2.2. Записати введене число в комірку пам'яті даних з адресою A, відповідно до варіанта завдання.

2.3. Вивід дискретних сигналів із мікроконтролера.

2.3.1. Вивести молодшу тетраду введеного числа в порт A.

2.3.2. Вивести старшу тетраду введеного числа в порт A.

ВАРІАНТИ ЗАВДАНЬ

Варіант Номер у журналі групи
                                   
  M                                    
A                                    
  M                                    
A                                    
  M                                    
A                                    
  M                                    
A                                    

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

Регістри вводу\виводу PORTA, PORTВ

Регістриf5 та f6 відповідають двом портам вводу\виводу, що є у PIC16F84. Порт A має 5 розрядів PA4-PA0, котрі можуть бути індивідуально запрограмовані як входи або виходи за допомогою регістра TRISA, що має адресу 85h. Порт В має 8 розрядів PB7-PB0 й програмується за допомогою регістру TRISB, що має адресу 86h.

Завдання “1” у розряді регістру TRIS програмує відповідний розряд порту як вхід. При читанні порту зчитується безпосередньо стан виводу, а під час запису до порту запис відбувається до буферного регістру.

Список директив MPASM

Директива Опис Синтаксис
LIST Список параметрів list [<list option>,...,<list option>]
ORG Встановлення адреси <label> org <expr>
EQU Визначення константи асемблера <label> equ <expr>
END Закінчення програми end
TITLE Определение заголовка программы title "<title text>"

Приклад програми.

Записати число в порт А й вивести його потетрадно через порт В.

I-спосіб

Tris PORTA equ 85h

Tris PORTB equ 86h; визначення адрес портів


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: