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

Режими роботи портів вводу та виводу на прикладі мікроконтролера PIC16C56. Ввід та вивід дискретних сигналів. Способи задання зовнішніх впливів на виводи портів мікроконтролера. Відладка та перевірка працездатності програми, кількість кроків виконання.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык украинский
Дата добавления 22.11.2015
Размер файла 177,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

[Введите текст]

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

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

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

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

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

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

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

Виконав:

студентка групи КІТЗ - 17В

Платонова Ю.О.

Перивірив:

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

Харків 2010

Мета роботи: На прикладі мікроконтролера 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 (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

PORTAEQU05H

PORTBEQU06H

MEMEQU14

ORG 0

MOVLW 0x00

TRIS PORTA

MOVLW 0xFF

LOOP

MOVF PORTB, 0

MOVWF MEM

MOVWF PORTA

NOP

SWAPF MEM, 0

MOVWF PORTA

NOP

GOTO LOOP

END

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

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

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

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00000005 00001 PORTA EQU 05H

00000006 00002 PORTB EQU 06H

00000014 00003 MEM EQU 14

0000 00004 ORG 0

0000 0C00 00005 MOVLW 0x00

0001 0005 00006 TRIS PORTA

0002 0CFF 00007 MOVLW 0xFF

0003 00008 LOOP

0003 0206 00009 MOVF PORTB, 0

0004 0034 00010 MOVWF MEM

0005 0025 00011 MOVWF PORTA

0006 0000 00012 NOP

0007 0394 00013 SWAPF MEM, 0

0008 0025 00014 MOVWF PORTA

0009 0000 00015 NOP

000A 0A03 00016 GOTO LOOP

00017 END

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

SYMBOL TABLE

LABEL VALUE

LOOP 00000003

MEM 00000014

PORTA 00000005

PORTB 00000006

__16C56 00000001

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 - кількість кроків за які виконується програма.
Для перевірки працездатності програми, її необхідно відлагодити шляхом послідовного натискання клавіши F8 та дивлячись на стан усіх використаних регістрів, який можна побачити за допомогою вікна watch (меню Window/Load Watch Window Lab_1.wat - файл,який можна створити за допомогою Window/New Watch Window та підключити необхідні регістри). Вікно Watch зображено на рис.2.
Також необхідно перевірити зміни значення вхідного байту, яке задано у файлі nn.sti, чи відповідають зміни значення вхідного байту заданому такту.
Це можна зробити за допомогою просмотру кількості тактів роботи програми у вікні Stop Watch (меню Window) (див. рис.2.)

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

1. Відкрити проект Lab_1.pjt.

2. Відкомпілювати його (Project/Buld All) та впевнитися, що помилок немає.

3. Підключити файл nn.sti, у якому задані значення вхідного байту.

4. Вивести на екран вікна Watch та Stop Watch

5. Для початку відлатки необхідно зробити скидання процесу (F6).

6. Почати пошагову відладку за допомогою клавіши F8 та аналізувати стан регістрів.

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

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

Висновок

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

Размещено на Allbest.ru

...

Подобные документы

  • Дослідження роботи портів виводу/вводу на мікроконтролері ATmega328 на платі Arduino UNO, розробка програми для підключення світлодіода та кнопки. Особливості здійснення керування виводами та забезпечення взаємодії з зовнішніми пристроями та сенсорами.

    лабораторная работа [292,9 K], добавлен 13.11.2023

  • Користування стандартним та форматованим вводом-виводом. Використання вводу та виводу аргументу. Розробка лінійних програм. Програми з розгалуженням, циклічні програми з регулярною змінною аргументу. Використання вказівників для роботи з масивами даних.

    курсовая работа [4,6 M], добавлен 27.02.2014

  • Розробка програми для отримання відомостей про відвантаження готової продукції: програмування головного блоку та процедур вводу даних з первинних документів, їх виводу на дисплей, сортування записів вхідного файлу, підрахунку підсумків по коду утримання.

    курсовая работа [64,2 K], добавлен 23.04.2010

  • Складові частини операційної системи та їх призначення. Вказівки для роботи з каталогами. Команди MS DOS для роботи з файлами. Текстовий редактор MS-DOS Editor. Перенаправлення операцій вводу-виводу. Створення командних файлів та інсталяційних пакетів.

    лабораторная работа [16,2 K], добавлен 11.05.2009

  • Характеристика методів та етапів створення простих програм на мові програмування С++. Особливості структури та порядку запуску програми. Функції вводу і виводу та маніпулятори мови С++. Робота з одновимірними масивами. Символьна інформація та рядки.

    дипломная работа [91,2 K], добавлен 19.06.2010

  • Дослідження основних завдань та алгоритму роботи програм копіювання файлів: "COPY1.С" (функції роботи з file handles) та "COPY2.С" (функції потокового вводу-виводу). Повний розбір роботи обох кодів програм, їх тестування, модифікація та оптимізація.

    лабораторная работа [23,4 K], добавлен 04.04.2011

  • Створення програми для виконання найпростіших функцій календаря за допомогою Borland DELPHI 2007. Аналіз процесу обробки інформації і побудова функціональних діаграм. Розробка інтерфейсу користувача, форм вводу-виводу інформації, основних алгоритмів.

    курсовая работа [1,3 M], добавлен 01.06.2013

  • Внутрішня побудова мікроконтроллера: процесор, пам'ять, порти вводу-виводу, таймери, мультиплексори, пристрої для послідовної передачі даних, контролер переривань та спеціалізовані регістри. Режими адресації даних. Система команд мікроконтроллерів.

    реферат [53,6 K], добавлен 25.03.2011

  • Короткий опис мікроконтролера ATmega6450, його особливості та опис виводів. Розробка принципової схеми стенду. Написання програми на мові СІ при використанні програмного середовища CodeVisionAVR. Перепрограмування мікроконтролера ATmega6450 сімейства AVR.

    курсовая работа [491,2 K], добавлен 15.05.2013

  • Базові типи змінних. Елементарний ввід-вивід. Умовні оператори та оператори множинного вибору. Основні функції вводу даних із клавіатури scanf, gets, getchar. Визначення основних (базових) типів даних. Вивід повідомлення при невірно заданому ключі.

    контрольная работа [74,6 K], добавлен 03.10.2010

  • Розробка компонентів технічного і програмного забезпечення мікропроцесорного пристрою, аналогово-цифровий і цифро-аналоговий перетворювачі. Синтез структурної схеми фільтру. Структурна схема та алгоритм функціонування пристрою. Програми вводу, виводу.

    курсовая работа [869,6 K], добавлен 15.02.2011

  • Програма-симулятор для прийома та передачи даних з портів мікроконтролера, з попереднім їх налаштуванням на введення, виведення даних, встановлення переривань та управління часовими затримками. Розробка програмної схеми для реалізації функції світлофора.

    курсовая работа [1,8 M], добавлен 23.04.2014

  • Історія розвитку обчислювальної техніки. Особливості IBM-структури. Основні пристрої: материнська плата, процесор, системна шина, BIOS, внутрішня пам’ять. Стандартні типи інтерфейсів. Пристрої вводу-виводу інформації. Інші пристрої.

    реферат [112,1 K], добавлен 04.10.2004

  • Програмування під DOS мовою низького рівня Асемблер (ASM-86). Функції програми: виведення в довільне місце екрану тексту заданого стилю та кольору, змінення шрифту, розміру літер та напрямку їх виводу. Алгоритм програми, системні вимоги до комп'ютера.

    курсовая работа [47,4 K], добавлен 03.06.2009

  • Коротка характеристика кабельних та бездротових портів, розрахунок їх практичної швидкості. Дослідження реальної швидкості передачі даних за допомогою Bluetooth. Призначення, особливості та архітектура мобільного протоколу 3GPP Long Term Evolution.

    лабораторная работа [693,9 K], добавлен 08.10.2012

  • Опис методів обчислення формули Ньютона-Котеса та поліномів Лежандра. Розгляд програмування процедур вводу меж інтегрування, ініціації елементів квадратурних формул Гауса та Чебишева. обчислення визначеного інтеграла і виводу результатів на екран.

    курсовая работа [82,1 K], добавлен 23.04.2010

  • Методи чисельного розв'язання рівнянь. Рух тіла у в’язкому середовищі. В'язкість (внутрішнє тертя) і в'язкопружність. Метод Рунге-Кутти четвертого порядку. Функції та макроси вводу та виводу даних у стилі мови програмування Сі. Параметри фізичної моделі.

    курсовая работа [947,5 K], добавлен 23.08.2014

  • Дослідження внутрішньої структури операційної системи Windows. Архітектура NT і структура ядра. Методи перехоплення функцій у режимі ядра та режимі користувача. Поняття драйверу. Пакети вводу-виводу. Оцінка стабільності та безпеки системи Windows.

    курсовая работа [239,3 K], добавлен 02.01.2014

  • Вибір засобу виконання поставленої задачі. Функції переривання INT 21h MS DOS, що використані при роботі програм. Функції роботи із DTA та інші функції переривання INT 21h. Функція завершення програми. Розробка програми на Pascal. Допоміжні процедури.

    дипломная работа [89,0 K], добавлен 20.01.2009

  • Розрахунок часових затримок для формування імпульсів у програмі передачі даних через послідовний порт мікроконтролера, а також розрахунок швидкості передачі даних через послідовний порт. Алгоритм підпрограми обробки переривань від послідовного порту.

    курсовая работа [29,9 K], добавлен 07.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.