Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_ЭУА_УМК_4_лаб.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
486.4 Кб
Скачать

Кафедра инженерной

кибернетики

Элементы и устройства автоматики. Часть 1

Методические указания

к выполнению лабораторных работ для студентов теплоэнергетических специальностей

Алматы 2006

СОСТАВИТЕЛИ: А. А. Копесбаева, В. М. Тарасов. Элементы и устройства автоматики. Часть 1. Методические указания к выполнению лабораторных работ для студентов теплоэнергетических специальностей. – Алматы: АИЭС, 2006. – с.

Представлены методические указания к выполнению лабораторных работ по дисциплине «Элементы и средства автоматизации»

Рецензент: канд. техн. наук, доцент Шевяков Ю.В.

Печатается по плану издания Алматинского института энергетики и связи на 2006 год.

© Алматинский институт энергетики и связи 2006 г.

Введение

В набор работ в данных методических указаниях входят 4 лабораторные работы на учебном микропроцессорном комплекте УМК-7.

Таблица 1. Перечень лабораторных работ по ЭУА, выполняемых на УМК-7

Номер лабораторной работы

Наименование

1

Изучение среды MPLAB. Управление портами микропроцессора

2

Сложение, вычитание. Логика. Операции сдвига

3

Сравнение чисел. Маскирование. Организация переходов. Использование косвенной адресации.

4

Программирование клавиатуры. Написание и обращения к подпрограммам

До дня проведения работы студенты должны к ней подготовиться: во время внеаудиторных занятий прочитать описание лабораторной работы, составить программы для заданных вариантов заданий.

Отчет о лабораторной работе должен содержать тексты программ для микропроцессора с комментариями, и заполненную таблицу результатов для своего варианта.

Лабораторная работа 1. Изучение среды MPLAB. Освоение карты памяти PIC, некоторых команд, портов вывода

Цель работы: изучить среду MPLAB, изучить технику управления портами микропроцессора и командами установки и стирания отдельных бит в регистрах. Научиться применять символьные имена.

Оборудование и программное обеспечение: Windows98, среда MPLAB, комплекс УМК-7.

Задания для внеаудиторной подготовки:

  • познакомиться с описанием УМК-7 и MPLAB по приложению А;

  • познакомиться по приложению Б с битами RP0 и RP1 регистра status, определяющими номер банка;

  • познакомиться с картой памяти PIC по приложению В;

  • познакомиться по приложению Г с командами микропроцессора PIC, примененными в приведенных ниже программах;

  • познакомиться с регистрами PORTC и TRISC, и их размещением в банках. Помните, что регистры могут находиться в разных банках микропроцессора;

  • подготовьте тексты программ по заданиям 1.1 и 1.2 в таблицах 1.1 и 1.2 для ввода в микропроцессор при аудиторных занятиях. Используйте приведенные ниже образцы программ в качестве аналога.

Таблица 1.1 – Варианты к заданию 1.1

Вариант

Заданные значения

Вариант

Заданные значения

1

00001111

6

10101010

2

11110000

7

01010101

3

00111100

8

00110011

4

11001100

9

11100010

5

01001101

10

00011101

Примечание - Программа должна последовательно зажигать светодиоды, подключенные к порту С. Используйте символьные имена в программе.

Таблица 1.2 - Варианты к заданию 1.2

Вариант

Настройка ввод/вывод порта С

Число, пересылаемое в порт С

Вариант

Настройка ввод/вывод порта С

Число, пересылаемое в порт С

1

00111100

00001111

6

11110000

10101010

2

01100111

11110000

7

11000011

01010101

3

00011110

00111100

8

11100001

00110011

4

00111011

11111111

9

11100111

00111111

5

00011101

10101010

10

01110011

11000111

Примечание - Напишите программу для настройки порта С на ввод/вывод и пересылки в него заданного числа.

Образцы программ

Программа 1.1. Управление портом С, применение символьных имен. Символьные имена устраняют двусмысленность и облегчают чтение исходного текста. В качестве значения для символьных имен могут быть данные или адреса регистров. Ассемблер, когда встретит символьное имя, вместо него будет подставлять значение, присвоенное символьному имени.

После точки с запятой в программе напечатаны комментарии.

include<p16F877.inc>

R0 EQU B'00000001' ; R0 символьное имя, его значение 01h.

R1 EQU B'00000010' ; R1 символьное имя, его значение 02h.

; Начало исполняемой части программы.

org 0 ; Код, следующий за этим выражением, начинается с нулевого ; адреса электрически программируемого постоянного запоминающего ; устройства (ЭППЗУ).

nop ; Пустая команда используемая для работы отладчика.

nop ;

nop

org 05 ; Код, следующий за этим выражением, начинается с 5-го адреса ; ЭППЗУ (метка START).

START ; Метка начала программы.

CLRF STATUS ; Очистить регистр status и выбрать банк 0.

BSF STATUS, RP0 ; Выбрать первый банк.

CLRF TRISC ; Обнулить TRISC, и настроить PORTC на выход.

CLRF STATUS ; Выбрать нулевой банк.

LOOP ; Метка.

CLRF PORTC ; Потушить светодиоды.

MOVLW B'11000011' ; Переслать в регистр W число В’11000011’.

MOVWF PORTC ; Переслать число из W в PORTC ,зажечь ; те светодиоды, которые подключены к биту, содержащему «1».

MOVLW B’00000001’ ; Записать в регистр W двоичное число.

MOVWF PORTC ; Переслать это число в регистр PORTC.

MOVLW R0 ; Переслать в регистр W число B’00000001’.

MOVWF PORTC ; Зажечь светодиоды, переслав в порт С число из W.

MOVLW R1 ; Переслать в регистр W число B’00000010’.

MOVWF PORTC ; Зажечь светодиоды.

GOTO LOOP ; Перейти на метку LOOP.

END

Программа 1.2. В этой программе выполнена настройка четырех младших разрядов регистра PORTС на вывод, остальных на ввод.

include <p16F877.inc>

org 0x000 ; Выполнение программы начинается с нулевого адреса.

nop

nop

nop

org 05h ; Продолжить с адреса 5.

START ; Метка начала программы.

CLRF STATUS ; Очистка регистра.

BSF STATUS, RP0 ; Записать 1 в бит RP0 и выбирать банк 1.

MOVLW B’11110000’ ; Значение, используемое для настройки ; четырех младших разрядов порта на ввод, а четырех старших ; разрядов на вывод.

MOVWF TRISC ; Настройка четырех младших разрядов порта С ; на ввод, а четырех старших разрядов на вывод.

CLRF STATUS ; Выбрать нулевой банк.

LOOP ; Метка.

CLRF PORTС ; Очистить порт С.

MOVLW B’11111111’ ; Записать в W двоичное число.

MOVWF PORTС ; Записать в порт С восемь единиц.

MOVLW B’00111100’ ; Записать в W двоичное число.

MOVWF PORTС ; Записать его в порт С.

GOTO LOOP ; Вернуться на метку LOOP.

END

Задания к выполнению лабораторной работы на УМК-7

З адание 1. Запустите MPLAB двойным щелчком мыши по соответствующей иконке на рабочем столе. Напечатайте подготовленную дома программу по заданию 1. При наборе текста программы применяйте регистр букв как в образце. С первой позиции печатаются метки, с шестой позиции печатаются команды.

Сохраните программу, например с именем tut877.asm в папке program.

Ч тобы заставить работать вашу программу нужно её скомпилировать, для этого необходимо:

  • закрыть открытый проект, если такой есть, командами Project Close Project в основном меню MPLAB;

  • создать новый проект командами ProjectNew Project;

  • указать папку для размещения нового проекта, и затем ввести имя проекта tut877.pjt в поле File Name (см. рисунок 1.1). Нажать кнопку OK.

Д

олжно открыться окно проекта Edit Project, показанное на рисунке 1.2.

Обратите внимание на строку Development Mode. Она показывает, что мы работаем с симулятором MPLAB-SIM и процессором PIC12C508. На вашем дисплее будут указаны тот Development Mode и тот процессор, с которым работали с последний раз в MPLAB-IDE. Возможно сейчас необходимо изменить этот параметр для этого нажмите кнопку Change. Откроется окно Development Mode, показанное на рисунке 1.3. Выберите строку MPLAB-ICD Debugger. Нажмите кнопки Apply и OK. Вы вернетесь в окно Edit Project.

Выделите строку tut877 [.hex] в области Project Files в диалоговом окне Edit Project, и затем нажмите кнопку Add Node. В диалоговом окне Add Node выберите файл tut877.asm, и затем нажмите кнопку OK. Вы вновь вернетесь в окно Edit Project.

Ассемблер MPASM всегда создает файл с расширением .hex, скомпилированный из asm-файла тем же названием, что и исходный asm-файл. Менеджер проекта (Project Manager) создаст файл tut877.hex, при формировании проекта (Built Project).

Нажмите OK, чтобы закрыть окно Edit Project.

Г отовый проект следует сохранить командами Project - Save Project. Теперь выберите команды Project - Make Project для компиляции приложения, используя MPASM. Окно Build Results покажет командную строку, посланную ассемблеру. Если в последней строке будет написана фраза “Build completed successfully”, как показано на рисунке 1.4, то компиляция проведена успешно. В случае неудачи щелкните 2 раза в окне Build Results на строку с ошибкой и вы вернетесь в текст ассемблера на соответствующую строку. Исправьте текст программы. Повторно выполните команды Project - Save Project и Project - Make Project для компиляции. Устраните таким образом все ошибки.

У странив все ошибки запрограммируйте кристалл, нажав в окне MPLAB-ICD кнопку Program (рисунок 1.5). Если это окно отсутствует, закройте и снова откройте созданный вами проект. Если эти действия не помогут исправьте установки Development Mode командами Optiens - Development Mode – MPLAB ICD Debugger. Программирование может занять пару минут, в течение этого времени поле Status показывает процесс выполнения. По завершении программирования в поле Status отображается сообщение “Waiting for user command” - “Ожидание команды пользователя”.

Выполните программу в пошаговом режиме командами Debug – Run - STEP. Следите за результатами выполнения команд по светодиодам.

Если выполнение программы застряло на какой либо строке и не продолжается дальше, выполните команду Debug – Clear all points.

Остановите выполнение программы командами Run - Reset. (Команда Halt просто приостанавливает выполнение программы и после команд Debug – Run- Step выполнение программы продолжится с места останова).

Запустите её в обычном режиме командами Debug – Run – Run. Наблюдайте выполнение программы. Объясните почему светятся все светодиоды одновременно.

При необходимости исправьте домашнюю заготовку для включения ее в отчет по лабораторной работе. Можно скопировать текст в Блокнот.

Задание 2. Измените программу согласно подготовленной программе по заданию 1.2 настройки порта С на ввод/вывод и пересылке в него заданного числа.

Сохраните эту программу не изменяя имени файла и проекта. Используя команды Save Project и Make Project, создайте проект как описано ранее.

Внимание! В дальнейших лабораторных работах меняйте только текст программы, не меняя имени файла и проекта.

Запрограммируйте кристалл и запустите программу в пошаговом режиме командами Debug – Run - Step. Запишите результат работы программы в таблицу 1.3.

Таблица 1.3 – Таблица результатов

Число по настройке порта С на вход/выход

Пересылаемое в порт С число

Выходное число в порту С

Задание 3. Исследуйте состояние регистров PORTC и W, для этого создайте окно наблюдения командами Window – Watch Window – New Watch Window. Напечатайте в поле редактирования символ “P” и из предложенного списка выберите строку PORTC. Нажмите кнопку Properties и выберите двоичный формат вывода чисел. Далее нажмите кнопку Add. В результате будет создано новое окно наблюдения с именем Watch1. Теперь напечатайте в поле редактирования ‘W’ и из предложенного списка выберете W, нажмите на кнопку ADD и затем CLOSE. Второй раз нажимать на кнопку Properties не требуется. Повторите программу из задания 1.2 в пошаговом режиме и наблюдайте за изменением состояния регистров PORTC и W в созданном вами окне Watch1.