Главная страница
Навигация по странице:

  • Практическая часть Порядок выполнения работы.

  • Варианты индивидуальных заданий

  • Практическая работа №38. Исследование последовательного интерфейса (асинхронный порт). Цель работы

  • Практическая работа №39. Исследование последовательного интерфейса. Цель работы

  • Аппаратные средства последовательного интерфейса.

  • Практическая работа №40 Разработка программного обеспечения. Цель работы

  • Методические указания для практических занятий по дисциплине мдк. 02. 01


    Скачать 7.37 Mb.
    НазваниеМетодические указания для практических занятий по дисциплине мдк. 02. 01
    Дата09.09.2022
    Размер7.37 Mb.
    Формат файлаpdf
    Имя файлаMetod_Mikroprocessornye-sistemy_PZ_09.02.01_2020.pdf
    ТипМетодические указания
    #669073
    страница25 из 43
    1   ...   21   22   23   24   25   26   27   28   ...   43
    Пример программы для статической индикации
    С частотой 1 Гц отобразить на статическом индикаторе число 04:
    CSEG
    ORG 0
    Continue: mov A,#04h ;записать в Акк. число 04 mov DPTR,#0A000h ;устан.в DPTR адрес Инд.DD15,DD16 movx @DPTR,A ;засветить на Инд. DD15,DD16 Ч 04 mov DPTR,#0B000h ;установить в DPTR адрес Инд.DD17,DD18 movx @DPTR,A ;засветить на Инд. DD17,DD18 Ч 04 mov R1,#0FFh ;временная задержка на 2 регистрах
    С1: mov R2,#0FFh ;с декрементом во вложенном цикле,
    С3: djnz R2, С3 ;определяет время свечения djnz R1, C1 ;индикаторов mov A,#0FFh ;записать в Акк. число FFh mov DPTR,#0A000h ;установить в DPTR адрес Инд.D15,DD16 movx @DPTR,A ;потушить индикаторы DD15,DD16 mov DPTR,#0B000h ;установить в DPTR адрес Инд. DD17,DD18 movx @DPTR,A ;потушить индикаторы DD17,DD18 mov R1,#0FFh ;временная задержка на 2 регистрах
    С2: mov R2,#0FFh ;с декрементом во вложенном цикле,
    С4: djnz R2, С4 ;определяет время гашения djnz R1, C2 ;индикаторов jmp Continue ;переход на начало программы
    END
    Практическая часть
    Порядок выполнения работы.
    1) Изучить принцип работы различных методов отображения.
    2) Разработать алгоритм для выполнения индивидуального задания до начало лабораторного занятия
    3) Разработать программу для выполнения индивидуального задания до начало лабораторного занятия с использование подпрограмм.
    4) Ввести программу индивидуального задания на персональном компьютере.
    5) Изучить программно отладочные средства (ПОС) для КР1816ВЕ31.

    196 6) С помощью ПОС проанализировать выполнение индивидуальной программы
    7) Загрузить программу в стенд ОЭВМ. Убедиться в правильном выполнении индивидуального задания, при отрицательном результате осуществить изменение алгоритма либо программы. Повторить загрузку программы в стенд ОЭВМ
    8) Распечатать листинг правильно работающей программы.
    9) Ответить на контрольные вопросы преподавателя
    Варианты индивидуальных заданий
    №.
    Текст индивидуального задания
    Занести в рег. R1 ХХН, отнимая от числа единицу отображать на Д_Инд. HG2, HG3 полученное значение до нуля с частотой 1 сек . С частотой 0,5 Гц. Переключать Свет. HL3,
    HL4
    Занести в В ДД число Х0, в рег. R1 ХХН, число из В. отображать на С_Инд. HL0 с частотой 1 Гц, число из R1 отображать на Д_Инд. HG2, HG3 с частотой 0,25 Гц.
    Вкл. Свет. HL1. Занести в рег. В ДД число 0Х, в рег.R5 Х0, два разряда суммы (десятки и единицы) поочередно отображать на С_Инд. HG1, HG0 и на Д_Инд. HG3, HG2 с частотой
    1 Гц..
    Занести в рег. R6 ДД число ХХН, в рег.R5 ДД ХХ, в рег.R0 ДД ХХ, последовательно отображать эти числа по одному разряду на на Д_Инд. HG2, HG3, С_Инд. HG1, HG2, HG3,
    HG4.
    Попеременно вкл. Свет. HL8-HL7. Занести в рег. R2 ДД число 0Х, в рег.R1 0Х, сумму чисел отобразить на Д_Инд. HG2, HG3.
    Занести в рег. А ДД число 0Х, в рег.R2 Х0, число из А отобразить на С_Инд. HG3, число из рег. R2 отображать на Д_Инд. HG3 с частотой в 0.25 Гц.
    Занести в Aк. ДД число ХХ, в рег. R1 ХХ, младшие два разряда суммы чисел отобразить на
    Д_Инд. HG2, HG3, старшую тетраду С_Инд. HG3, осуществить плавное загорание HL8.
    Занести в рег. R6 ДД число ХХH преобразовать его в двоично десятичное отобразить его на С_Инд. HG4- HG1.
    Занести в рег. В ДД число ХХ, в рег. R3 ХХ, разность чисел отобразить на Д_Инд. HG2,
    HG3.
    Вкл. Свет. HL5. Занести в Aкк. ДД число ХХ, в рег. R5 Х0, число из Акк. Отобразить на
    С_Инд. HG1, HG2, число из R5 отобразить на Д_Инд. HG2, HG3.
    Занести в рег. R0 ДД число ХХ, попеременно отображать мл. и ст. тетраду на Д_Инд. HG2,
    HG3 с частотой 0,25 Гц.
    Занести в рег. R2 ДД число 0Х, в рег.R5 0Х, сумму чисел отобразить на Д_Инд. HG2, HG3.
    Занести в рег. В ДД число, с частотой 2 Гц выводить это число на С_Инд. HG1, HG2 и одновременно на Д_Инд. HG2, HG3.
    Попеременно вкл. Свет. HL4-HL6. Занести в ячейку с адресом 0010h внешней памяти
    ОЭВМ ДД число 0Х, в рег.R3 ХХН, сумму чисел отобразить на Д_Инд. HG2, HG3.
    Занести в рег. R1 ДД число 0Х, в рег.R3 ХХ, младшие два разряда суммы отобразить на
    Д_Инд. HG2, HG3 с медленным (в течение 5 сек.) затуханием этого числа, старшую на
    С_Инд. HG1.
    Контрольные вопросы
    1. Назначение, программирование параллельного интерфейса КР580ВВ55. Назначение и сфера применения устройств с статическим и динамическим методом отображения.
    2. Расчет времени регенерации для динамического метода отображения.
    3. Обоснование необходимости применения различных методов отображения

    197 4. Схемотехнические решения для построения схем отображения информации
    5. Схемы включения единичных индикаторов .
    6. Включение жидкокристаллических индикаторов
    7. Включение газоразрядных индикаторов
    Практическая
    работа
    №38.
    Исследование
    последовательного
    интерфейса
    (асинхронный порт).
    Цель работы: исследование работы таймеров/счетчиков событий микроконтроллеров семейства MCS-51 с помощью персонального компьютера и программных средств отладки.
    Практическая часть
    1. Апробировать программу, реализующую на микроконтроллере К1830ВЕ51 электронные часы с индикацией часов, минут и секунд реального времени. Все операции по решению поставленной задачи выполняет подпрограмма обслуживания прерываний. Остальное время контроллер находится в режиме зацикливания основной программы.
    ; Начальная установка и запуск часов в 00 00 00
    ORG 00H
    MOV P0,#0
    ; Cчетчик часов
    MOV P1,#0
    ; Cчетчик минут
    MOV P2,#0
    ; Cчетчик секунд
    MOV R0,#100
    ; Начальная загрузка
    MOV R1,#100
    ; счетчиков генератора
    MOV TH1,#9CH
    ; секундных импульсов
    MOV TMOD,#20H ; Т/С1 в режиме 2
    MOV IE,#88H
    ; Разрешение прерываний от Т/С1
    SETB TR1
    ; Старт таймера Т/С1
    MAIN: SJMP MAIN
    ; Основная программа
    ; Подпрограмма обслуживания прерываний
    ORG 1BH
    ; Вектор прерывания
    DJNZ R0,EXIT
    ; Задержка в одну
    MOV R0,#100
    ; секунду
    DJNZ R1,EXIT
    MOV R1,#100
    JNB T0,M1
    ; Коррекция минут
    JNB T1,M2
    ; Коррекция часов
    MOV A,P2
    ; Счетчик секунд
    ADD A,#1
    DA
    A
    MOV P2,A
    CJNE A,#60H,EXIT
    MOV
    M1:
    MOV A,P1
    ; Счетчик минут
    ADD A,#1
    DA
    A
    MOV P1,A

    198
    CJNE A,#60H,EXIT
    MOV P1,#0
    M2
    MOV A,P0
    ; Счетчик часов
    ADD A,#1
    DA
    A
    MOV P0,A
    CJNE A,#24H,EXIT
    MOV P0,#0
    EXIT:
    RETI
    ; Возврат из п/п прерываний
    END
    При отладке программы с помощью эмулятора ход часов замедлен. Для ускорения процессов рекомендуется в регистры R0 и R1 загружать число 3, а не 100.
    После старта программы производится начальная загрузка регистров секундной задержки, а также счетчиков секунд, минут и часов. Таймер/счетчик Т/С1 настраивается на работу в режиме
    2, когда TL1 работает как 8-битовый автоперезагружаемый таймер, а TH1 хранит значение, которое перезагружается в TL1 каждый раз по переполнении. Разрешаются прерывания от Т/С1, и после его запуска они происходят через каждые 100 машинных циклов (100 мкс при частоте кварца 12 МГц), вызывая выполнение подпрограммы обслуживания с начальным адресом 1ВН.
    Через 10000 прерываний, которые подсчитывают счетчики на регистрах R0 и R1, т.е. ежесекундно, меняется содержимое порта Р2, определяющее показания цифрового индикатора секунд.
    Двоично-десятичный счетчик минут реализован c помощью порта Р1, аналогичный счетчик часов ? с помощью Р0. При включении контроллера счетчики сбрасываются и на цифровые индикаторы заносятся нули. Установка реального времени производится в определенной последовательности. Сначала держат лог. 0 на входе Т1 до тех пор, пока индикаторы покажут требуемое число часов. Затем держат лог. 0 на входе Т0 до тех пор, пока не высветятся нужные цифры минут. Коррекция осуществляется подачей секундных импульсов на счетчики часов и минут.
    Оценить минимальное и максимальное время выполнения подпрограммы обслуживания прерываний.
    Контрольные вопросы
    1. Разрешены ли прерывания после системного сброса?
    2. Может ли быть прервано выполнение программы обработки прерывания с высоким уровнем приоритета?
    3. Транслировать команду JB ТF0,$+5.
    4. Что происходит при выполнении команды CJNE A,#40,M1?
    5. Какой флаг устанавливается после выполнения команды MOV SBUF,B?
    6. Какими командами можно загрузить в Т/С0 дополнительный код числа
    10000?
    Практическая работа №39. Исследование последовательного интерфейса.
    Цель работы: Изучение принципа работы COM-портов PC.
    Теоретические сведения
    Последовательная передача данных
    При последовательной передаче данных биты, образующие коды символов, пересылаются по очереди один за другим по единственному проводнику, возвратным проводом является земля.
    Персональные компьютеры (PC) часто имеют два коммуникационных порта (обычно называемых
    COM-портами). Именно эти порты используются для асинхронной последовательной передачи

    199
    данных путем посылки и получения ASCII кода. Этот протокол передачи данных известен как стандарт RS232C. На рисунке 1 показано, как выглядит передаваемый сигнал при пересылке символа R. Каждому символу предшествует стартовый бит (логический 0), который передается перед стоповым битом. Длина стопового бита может составлять 1, 1.5 или 2 обычных бита. Число изменений состояния канала передачи данных в секунду называется скоростью передачи в бодах.
    В системе с двумя возможными состояниями скорость передачи в бодах равна числу битов, передаваемых за секунду (бит/с). При пересылке данных между компьютерами (или между компьютером и периферийным устройством) оба компьютера должны работать в одном и том же режиме так, чтобы во время передачи какого- либо символа тактовый генератор на принимающем компьютере работал на той же частоте, что и на передающем компьютере. Такая система является асинхронной, так как минимальное число символов, передаваемых в секунду, определяется скоростью работы передатчика, т. е. передатчик может сделать паузу любой длительности между символами. Во время любых пауз линия находится в состоянии логической единицы, поэтому естественно в качестве стартового бита при передаче стартового бита при передаче использовать логический ноль. Один из наиболее распространенных способов пересылки битов в системе асинхронной передачи данных показан на рисунке 1. Здесь логический 0 представлен уровнем напряжения, превышающем +3В(обычно 10В), а логическая 1 - уровнем напряжения, меньшим –
    3В(обычно – 10В). Нулевое напряжение указывает на неработающую систему или на разрыв на линии. Режим работы ИС приемника передатчика может быть запрограммирован путем использования: 1) пакета программ; 2) режима командной строки MS-DOS (рисунок 2); 3) некоторой команды в СИ программе.
    Аппаратные средства последовательного интерфейса.
    Специальные ИС, называемые универсальными асинхронными приемопередатчиками -
    UART, преобразуют данные из параллельного (TTL) формата, получаемого из шины данных микропроцессора, в последовательный (RS232). Эти устройства можно рассматривать как устройства с двумя внутренними секциями: преобразователем параллельного формата в последовательный, называемый передатчиком, и преобразователем последовательного формата в параллельный, называемый приемником. Передатчик представляет бит четности, стартовый и стоповый биты. Приемник проверяет формат и четность полученных данных. Приемник и передатчик могут работать одновременно, такой способ передачи называют полным дуплексом
    (передача только в одном направлении называется симплексной связью, передача в обоих направлениях, называется полудуплексной связью). Скорости передачи и приема данных

    200
    контролируются генератором тактовых импульсов, работающим на частоте, кратной скорости передачи данных. Внутренний регистр состояния, который хранит флажки состояний приема передачи и ошибок, может быть прочитан программным способом. Стандартным соединителем является 25-штырьковый разъем д типа (штепсельная часть). Однако в некоторых случаях применяется 9-штырьковый разъем, который пригоден для соединения наиболее часто используемых управляющих линий. Назначение выводов 25-штырькового разъема показано на рисунке 3.
    Практическая часть.
    В начале работы следует проверить адрес последовательного порта используемого компьютера. Типичные адреса COM –портов ПК для пересылки и получения данных приведены ниже: 1 последовательный порт: 3F8 hex 2 последовательный порт: 2F8 hex.
    Задание 1 Необходимо отослать некий символ с вывода «Передаваемые данные» (вывод 2) и получить на выводе «Принимаемые данные» (вывод 3) того же порта. Для этого теста нужен лишь один компьютер. Вывод 2 «Передаваемые данные» соединен с выводом 3 «Принимаемые данные» того же самого порта. Структурная схема программного обеспечения к этому заданию показана на рисунке 4.

    201
    Тестирование
    Соедините выводы 2 и 3 СОМ-порта.
    Нажмите на клавиатуре S, а затем введите символ.
    1. Нажмите R: тот же самый символ должен быть получен на экране.
    2. Отсоедините выводы 2 и 3. При нажатии R на экране должен быть получен другой символ.
    Контрольные вопросы.
    1. Почему каждому символу предшествует стартовый бит?
    2. Приведите два важных преимущества использования напряжения противоположной полярности для передачи логических состояний, а не обычных TTL-уровней 5 и 0в.
    3. Какое логическое состояние передается между символами?
    4. За какое время будет передан 7-разрядный символ с дополнительным битом четности при скорости передачи 1000бод?
    5. Каким образом принимающее устройство узнает о том, что передающее устройство не подключено, если используется трехпроводная система, в которой соединены выводы 2, 3 и 7?

    202
    Практическая работа №40 Разработка программного обеспечения.
    Цель работы: ознакомление с возможностями среды разработки AVR Studio и практическом освоении режимов её работы.
    Общие сведения
    AVR Studio – это интегрированная отладочная среда разработки приложений (IDE) для микроконтроллеров AVR компании Atmel (рис. 1). IDE AVR Studio содержит: средства создания и управления проектом; редактор кода на языке Ассемблер; транслятор языка Ассемблера (Atmel AVR ); отладчик (Debugger); программное обеспечение верхнего уровня для поддержки внутрисхемного программирования (In-SystemProgramming, ISP) с использованием стандартных отладочных средств Atmel AVR.
    4
    Работа с AVR Studio начинается с создания проекта. Сначала необходимо указать используемый микроконтроллер (МК) и платформу, на которой будет производиться отладка программы.
    Написание программы производится в окне редактора текста программы. Для использования символических имен регистров специального назначения вместо их адресов необходимо подключить (директива .include) к проекту файл определения регистров специального назначения (например, m16def.inc для ATmega16). Включаемые файлы входят в прикладное программное обеспечение AVR Studio и при инсталляции помещаются в папку
    Appnotes в директории установки AVR Studio.
    Написание программы в AVR Studio производится на языке Ассемблер. Последние версии
    AVR Studio содержат AVR Ассемблер второй версии, который в дополнение к стандартному
    Ассемблеру поддерживает новые директивы Ассемблера, Си - подобные директивы препроцессора, создание переменных определенного типа.
    В результате трансляции создается выходной файл в формате HEX (расширение .hex).
    Если не выдается сообщений об ошибках, можно приступать к отладке проекта.
    Отладчик AVR Studio поддерживает все типы МК AVR и имеет два режима работы: режим программной симуляции и режим управления различными типами внутрисхемных

    203
    эмуляторов (In-CircuitEmulators) производства фирмы Atmel. Важно отметить, что интерфейс пользователя не изменяется в зависимости от выбранного режима отладки.
    Отладочная среда поддерживает выполнение программ как в виде ассемблерного текста, так и в виде исходного текста языка Си, загруженного в объектном коде.
    Управление отладкой производится командами меню DEBUG либо соответствующими иконками на панели инструментов AVR Studio.
    Пользователь может выполнять программу полностью в пошаговом режиме, трассируя блоки функций или выполняя программу до того места, где стоит курсор. В дополнение можно определять неограниченное число точек останова, каждая из которых может быть включена или выключена. Точки останова сохраняются между сессиями работы.
    В AVR Studio для отладки программы предусмотрены две команды пошагового режима:
    Step Over и Trace into. Разница между ними в том, что при выполнении команды Step Over выполнение подпрограмм происходит до полного окончания без отображения процесса выполнения. К командам шагового режима также относится команда Auto Step.
    С помощью команд пошагового режима можно проследить изменения значений в переменных, регистрах ввода/вывода, памяти и регистрового файла. Для этого предназначены раздел I/O рабочей области AVR Studio (см. рис. 1), окно Watch (меню Debug \ Quick watch).
    Интегрированная среда разработки AVR Studio также поддерживает просмотр (меню View
    / Memory) ячеек памяти программ, памяти данных, EEPROM и регистров портов ввода/вывода в ходе исполнения. Выпадающее меню диалогового окна позволяет выбрать один из четырех массивов ячеек памяти: Data, IO, EEPROM, Program Memory. Для одновременного просмотра нескольких областей окно Memory может быть открыто несколько раз. Информация в диалоговом окне может быть представлена в виде байтов или в виде слов в шестнадцатеричной системе счисления, а также в виде ASСII-символов.
    В процессе отладки пользователь может инициализировать внутреннее ОЗУ, или EEPROM
    МК (например, данными, содержащимися в полученном при трансляции файле .eep), или сохранить содержимое ОЗУ и EEPROM в виде файлов в формате Intel Hex (меню File -
    >Up/Download Memory).
    Помимо шагового режима, возможна отладка программы с использованием точек останова
    (меню Breakpoints ->Toggle Breakpoint). Командой Start Debugging запускается исполнение программы. Программа будет выполняться до остановки пользователем или до обнаружения точки останова.
    Для наблюдения за работой программы можно открыть несколько окон, отображающих состояние различных узлов МК (см. рис. 1). Окна открываются нажатием соответствующих кнопок на панели инструментов или при выборе соответствующего пункта меню View. Если в процессе выполнения программы в очередном цикле значение какого-либо регистра изменится, то этот регистр будет выделен красным цветом. При этом если в следующем цикле значение регистра останется прежним, то цветовое выделение будет снято. Такое же цветовое выделение реализовано в окнах устройств ввода/вывода, памяти и переменных.
    Состояние встроенных периферийных устройств МК, а также состояния программного счетчика, указателя стека, содержимого регистра статуса SREG и индексных регистров X, Y и Z отображено в окне I/O View. В этом окне отражаются все функциональные блоки микроконтроллера. Любой блок может быть раскрыт нажатием на его значок. При раскрытии блока в окне отражаются адреса и состояния всех его регистров и отдельных, доступных для модификации, битов. Каждый доступный для модификации бит может быть установлен или сброшен как программой по ходу ее исполнения, так и пользователем вручную (указав курсором мыши нужный бит и щелкнув левой кнопкой мыши, пользователь может изменить значение бита на обратное), а в режиме программной симуляции это является способом имитации входного воздействия на МК.
    1   ...   21   22   23   24   25   26   27   28   ...   43


    написать администратору сайта