Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

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

РефератДопомога в написанніДізнатися вартістьмоєї роботи

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

Робота з портами введення та виводу. Вивчення пакету 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.

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

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

Хід роботи

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

  • 1. Ініціалізація МК, а саме портів вводу/виводу, А та В виконуючи настройку порту A на вивід (тобто обнуляємо регістр TRISA) та настройку порту В на вивід (тобто у регістр TRISA заносимо в усі біти «1»).
  • 2. Ввід інформації з датчиків дискретних сигналів, а саме: запис числа М=98 з порту В у комірку пам’яті даних з адресою A=13. Але для цього необхідно спочатку за допомогою пограми симулятора вхідних сигналів, ввести у порт В число М=98 (1 100 010 — в дійковій формі).
  • 3. Вивід дискретних сигналів із мікроконтролера, а саме: вивід молодшої, а потім сташої тетради введеного числа М в порт A.
  • 4. Закінчення роботи МК.

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

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

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

  • 1) запустити програму MPLAB.
  • 2) у головному меню вибрати пункт File/New;
  • 3) набрати текст програми та зберегти його з розширпенням .asm (пкнкт меню File/Save) програма була збережена на дискеті з ім'ям Lab1.asm.

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

  • 1) вибрати пункт головного меню ProjectNew Project, задати ім'я проекту (Lab1.pjt).
  • 2) відкриється вікно Edit Project, у якому треба натиснути на кнопку Add Node та підключити файл nata. asm — у вікні з’явиться файл Lab1.hex;
  • 3) щоб виставити опції проекту, потрібно навести курсор на файл Lab1.hex та натиснути на кнопку Node Propertion. Виставити систему числення — шеснадцатичну та усе підтвердити.
  • 4) Зберегати ще раз файл Lab1.pjt. Тепер проект створений.

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

LIST P=PIC16C56.

PORTAEQU05H.

PORTBEQU06H.

MEMEQU14.

ORG 0.

MOVLW 0×00.

TRIS PORTA.

MOVLW 0xFF.

LOOP.

MOVF PORTB, 0.

MOVWF MEM.

MOVWF PORTA.

NOP.

SWAPF MEM, 0.

MOVWF PORTA.

NOP.

GOTO LOOP.

END.

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

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

MPASM 5.35beta LAB 1. ASM 6−3-2010 11:37:04 PAGE 1.

LOC OBJECT CODE LINE SOURCE TEXT.

VALUE.

  • 5 1 PORTA EQU 05H
  • 6 2 PORTB EQU 06H
  • 14 3 MEM EQU 14
  • 0000 4 ORG 0
  • 0000 0C00 5 MOVLW 0×00
  • 0001 0005 6 TRIS PORTA
  • 0002 0CFF 7 MOVLW 0xFF
  • 0003 8 LOOP
  • 0003 0206 9 MOVF PORTB, 0
  • 0004 0034 10 MOVWF MEM
  • 0005 0025 11 MOVWF PORTA
  • 0006 0000 12 NOP
  • 0007 0394 13 SWAPF MEM, 0
  • 0008 0025 14 MOVWF PORTA
  • 0009 0000 15 NOP
  • 000A 0A03 16 GOTO LOOP
  • 17 END

MPASM 5.35beta LAB 1. ASM 6−3-2010 11:37:04 PAGE 2.

SYMBOL TABLE.

LABEL VALUE.

LOOP 3.

MEM 14.

PORTA 5.

PORTB 6.

__16C56 1.

MEMORY USAGE MAP ('X' = Used, '-' = Unused).

0000: XXXXXXXXXXX——- ———————— ———————— ———————-;

All other memory blocks unused.

Program Memory Words Used: 11.

Program Memory Words Free: 1013.

Errors: 0.

Warnings: 0 reported, 0 suppressed.

Messages: 0 reported, 0 suppressed.

Відладка та перевірка працездатності програми

Відладка програми виконувалась за допомогою MPLAB Simulator Stimulus, де можна задавати послідовніст вхвдного байту. Для цоьго необхідно створити файл з розширенням .sti та підключити його перед виконанням програми (меню Debug/Simulator Stimulus/Pin Simulus/Enable). Тобто був створений файл nn. sti, який має слідуючий вигляд:

де STEP — кількість кроків за які виконується програма.

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

Для перевірки працездатності програми, її необхідно відлагодити шляхом послідовного натискання клавіши F8 та дивлячись на стан усіх використаних регістрів, який можна побачити за допомогою вікна watch (меню Window/Load Watch Window Lab1.wat — файл, який можна створити за допомогою Window/New Watch Window та підключити необхідні регістри). Вікно Watch зображено на рис. 2.

Також необхідно перевірити зміни значення вхідного байту, яке задано у файлі nn. sti, чи відповідають зміни значення вхідного байту заданому такту.

Це можна зробити за допомогою просмотру кількості тактів роботи програми у вікні Stop Watch (меню Window) (див. рис. 2.).

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

  • 1. Відкрити проект Lab1.pjt.
  • 2. Відкомпілювати його (Project/Buld All) та впевнитися, що помилок немає.
  • 3. Підключити файл nn. sti, у якому задані значення вхідного байту.
  • 4. Вивести на екран вікна Watch та Stop Watch
  • 5. Для початку відлатки необхідно зробити скидання процесу (F6).
  • 6. Почати пошагову відладку за допомогою клавіши F8 та аналізувати стан регістрів.

Після виконання всіх цих дій, а саме відладки роботи програми та аналізу стану регістрів, ми цілком впевнилися у її працездатності. Процес відладки програми показано на рис. 2.

Процес відладки програми.

Рис. 2. Процес відладки програми

Висновок

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

Показати весь текст
Заповнити форму поточною роботою