Робота з портами вводу/виводу. Вивчення пакета MPLAB

Страницы работы

Содержание работы

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

Національний технічний Університет “ХПІ”

“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра “Обчислювальної техніки та програмування”

Звіт з лабораторної роботи №1

з курсу “Мікроконтролери та мікро ЕОМ”

Тема: “Робота з портами вводу/виводу.

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

Виконав:

студент групи КІТ – 11Б

Кучеренко М.О.

Перивірив:

Скородєлов В.В.

Харків 2004

Лабораторна робота №1

Тема:  Робота з портами вводу/виводу. Вивчення пакета MPLAB

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

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

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

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

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

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

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

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

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

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

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

Індивидуальне завдання

З таблиці завдань беремо індивідуальне значення чисела М=98 та адресу комірки пам’яті А=13, (N=5, де N – номер по списку у журналі групи).

Хід роботи:

Для опису реалізації цього завдання розробимо послідовний алгоритм роботи мікроконтролера:

1.  Ініціалізація МК, а саме портів вводу/виводу А та В виконуючи настройку порту A на вивід (тобто обнуляємо регістр TRISA) та настройку порту В на вивід (тобто у регістр TRISA заносимо в усі біти “1”).

2.  Ввід інформації з датчиків дискретних сигналів, а саме: запис числа М=98 з порту В у комірку пам'яті даних з адресою A=13. Але для цього необхідно спочатку за допомогою пограми симулятора вхідних сигналів, ввести у порт В число М=98 (01100010 – в дійковій формі).

3.  Вивід дискретних сигналів із мікроконтролера, а саме: вивід молодшої, а потім сташої тетради введеного числа М в порт A.

4.  Закінчення роботи МК.

Структурна схема цього МК приведено на рис.1.

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

Текст програми можна написати у будь-якому текстовому редактрі, також це можна зробити редакторі Edit пакета MPLAB. Для того, щоб це зробити у редакторі Edit пакета MPLAB необхідно виконати слідуючи дії:

1)  запустити програму MPLAB.

2)  у головному меню вибрати пункт File/New;

3)  набрати текст програми та зберегти його з розширпенням .asm (пкнкт меню File/Save) програма була збережена на дискеті з ім’ям Lab_1.asm.

Для подальшої роботи з програмою необхідно виконати її трнсляцію, а для цього необхідно створити у програмі MPLAB файл проекту:

1)  вибрати пункт головного меню Project\New Project, задати ім’я проекту (Lab_1.pjt).

2)  відкриється вікно Edit Project, у якому треба натиснути на кнопку Add Node та підключити файл nata.asm – у вікні з’явиться файл Lab_1.hex;

3)  щоб виставити опції проекту, потрібно навести курсор на файл Lab_1.hex та натиснути на кнопку Node Propertion. Виставити систему числення – шеснадцатичну та усе підтвердити.

4)   Зберегати ще раз файл  Lab_1.pjt. Тепер проект створений.

Текст програми має наступний вигляд:

LIST P=PIC16C56

PORTA EQU 0x05

PORTB EQU 0x06

MEM   EQU 13

ORG   0x000        ; processor reset vector

GOTO  BEGIN        ; go to beginning of program

NOP

BEGIN              ; начало програмы

; ************* настройка портов в/в ************

CLRW               ; W:=0

TRIS PORTA         ; TRISA:=0 вывод по всем линиям

MOVLW  0xFF        ; W:=FFh

TRIS PORTB         ; TRISB:=1111 1111 ввод по всем линиям

CLRF PORTB         ; Clr PORTB

CLRF PORTA         ; Clr PORTA

MAIN  ;*********** Начало основной программы *********           

  movf   PORTB,0    ;W=98 (пересылка мз PORTB в W)

  movwf  MEM        ;W -> MEM

  movf   MEM,0

  movwf  PORTA      ;W -> PORTA  (младшая тетрада)

  swapf  MEM,0      ;обмен тетрад числа в МЕМ и запись в W

  movwf  PORTA      ;W -> PORTA  (старшая тетрада)

  GOTO   MAIN

END

В результаті трансляціі одержали такі файли Lab_1.lst, Lab_1.err, Lab_1.hex, які знаходяться на дискеті.

          Тект файлу лістинга (Lab_1.lst) має наступний вигляд:

MPASM 02.20 Released      LAB_1.ASM   3-11-2004  19:59:17      PAGE  1

LOC  OBJECT CODE     LINE SOURCE TEXT

  VALUE

                    00001 LIST P=PIC16C56

Похожие материалы

Информация о работе