Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа №1: «Управление светодиодами».Стр 1 из 3Следующая ⇒
Лабораторная работа №1: «Управление светодиодами». Цель лабораторной работы заключается в разработке программы, которая управляет схемой, показанной на рис. 1 по следующему алгоритму. Светодиод VD1 горит до тех пор, пока не нажата кнопка SB1, а VD2 погашен. После ее нажатия загорается светодиод VD2 и горит в течение времени 0,25 с. Светодиод VD1 в это время погашен, кнопка недоступна. После этого вновь загорается светодиод VD1, а VD2 гаснет, кнопка блокируется на время 0,5 с. Далее все повторяется.
Рис. 1. Схема управления светодиодами
Блок - схема алгоритма программы показана на рис. 2.
Рис. 2. Блок-схема алгоритма программы Ассемблерный текст программы, соответствующей блок-схеме алгоритма (рис. 2) представлен ниже.
org 00h ajmp M0 org 20h M0: mov P0,#11111111B mov P1,#00000001B M1: jb P0.0,M1 mov P1,#00000010B lcall DEL lcall DEL mov P1,#00000001B lcall DEL lcall DEL lcall DEL lcall DEL ljmp M1
DEL: mov R1,#239 M3: mov R2,#255 M4: djnz R2,M4 djnz R1,M3 ret end
Комментарии к программе. 1. При написании ассемблерного текста следует выделять поле меток, что требуется при отладке в симуляторе UMPS. 2. Инструкция для ассемблера org 00h указывает на то, что в ячейке ПЗУ с адресом 00h должна находиться команда, следующая за указанной инструкцией, то есть ajmp M0. С помощью указанной команды обеспечивается переход на начало основной программы. 3. Команда контроллера mov P0,#11111111B предназначена для настройки порта Р0 на ввод. К этому порту подключена кнопка SB1. 4. На основе команды jb P0.0,M1 (перейти на метку М1 если бит 0 порта Р0 равен 1) организован программный цикл опроса бита порта Р0, к которому подключена кнопка SB1. 5. Команда lcall DEL обеспечивает вызов подпрограммы задержки DEL определенной длительности. Многократный вызов подпрограммы позволяет получить необходимую задержку в соответствии с условиями задачи. 6. Команда djnz R2,M4 (декремент содержимого регистра R2 и переход на М4, если не ноль) позволяет организовать программную задержку времени.
Комментарии к программе. 1. Команда пересылки числа в регистр управления прерываниями mov IE,#10000001B обеспечивает глобальное разрешение прерываний и дополнительно разрешает внешнее прерывание INT0. 2. Команда пересылки числа в регистр mov TCON,#00000000B задает активный уровень сигнала (нулевой) на входе внешнего прерывания.
3. При нажатии на кнопку SB1 на входе внешнего прерывания INT0 формируется сигнал логического нуля, и в счетчик команд микроконтроллера записывается адрес 03h (вектор прерывания INT0). В ячейке ПЗУ с этим адресом находится команда абсолютного перехода (ajmp M5) к подпрограмме обработки прерывания. 4. Выход из подпрограммы обработки прерывания обеспечивается командой reti.
Комментарии к программе. 1. Команда пересылки числа в регистр управления прерываниями mov IE,#10000010B обеспечивает глобальное разрешение прерываний и дополнительно разрешает внешнее прерывание от таймера ТО. 2. Вектор прерывания от таймера ТО располагается по адресу 0Вh..
Лабораторная работа №4 «Изучение способа преобразования двоично-десятичного кода в семисегментный код».
Цель лабораторной работы заключается в разработке программы, которая иллюстрирует способ преобразования двоично-десятичного кода в код управления семисегментным индикатором, который подключен к порту Р1 как показано на рис. 7. Рис. 7 Схема подключения семисегментного индикатора
Будем считать, что в выбранном регистре R3 последовательно формируются двоично-десятичные числа, соответствующие десятичному эквиваленту чисел от 0 до 9. Каждое число должно быть преобразовано в код семисегментного индикатора и передано в порт Р1, к которому подключен этот индикатор (рис. 1). При таком подключении соответствие двоично-десятичного кода семисегментному, вызывающему свечение определенных сегментов индикатора в виде десятичной цифры, показано в табл. 1. Блок - схема алгоритма программы представлена на рис. 8. Таблица 1
Рис. 8. Блок - схема алгоритма программы Ассемблерный текст программы, соответствующей блок-схеме алгоритма (рис. 8) представлен ниже:
org 00h ajmp M0 org 20h M0: mov R3,#00h M00: сlr A clr C mov A,#09h subb A,R3 jc M0 mov A,R3 anl A,#%00001111 mov DPTR,#TABL
movc A,@A+DPTR mov P1,A lcall DEL inc R3 ljmp M00 DEL: mov R1,#255 M1: mov R2,#255 M2: djnz R2,M2 djnz R1,M1 ret TABL: db 3Fh db 06h db 5Bh db 4Fh db 66h db 6Dh db 7Dh db 07h db 7Fh db 6Fh end
Комментарии к программе. 1. С помощью директивы ассемблера DB обеспечивается занесение в память программ микроконтроллера константы или группы констант, формат которых равен байту. Эти константы располагаются в области ПЗУ начиная с адреса ТABL и представляют собой десятичные числа от 0 до 9, выраженные в семисегментном коде и показанные в табл. 1. 2. Команда movc A,@A+DPTR позволяет загрузить в аккумулятор байт данных из памяти программ. Команда выполняет следующие действия: складывает содержимое аккумулятора с регистром DPTR, определяет ячейку памяти с адресом, равным полученной сумме, извлекает из нее константу и помещает ее в аккумулятор.
Требования к выполнению и оформлению лабораторных работ При выполнении лабораторных работ необходимо поддерживаться следующей последовательности действий: 1. Ознакомление с целью и содержанием лабораторной работы. 2. Изучение блок-схемы алгоритма. 3. Набор ассемблерного текста программы, с применением встроенного редактора системы проектирования UMPS. 4. Компиляция программы с помощью ассемблера UMPSа. 5. Исправление ошибок и повторная компиляция программы. 6. Составление графического аналога принципиальной схемы лабораторной работы и подключение выводов внешних элементов. 7. Демонстрация работы схемы с использованием графической среды UMPSа. 8. Составление отчета, который должен содержать следующие компоненты: · принципиальную схему; · блок-схему алгоритма; · ассемблерный текст программы; · листинг программы; · HEX-файл программы;
Систем – UMPS
Общие сведения UMPS -интегрированная среда проектирования микропроцессорных систем (Universal Microprocessor Program Simulator). Предназначен для разработки и программной отладки микроконтроллерных приложений. Используемые микроконтроллеры составляют достаточно обширный класс, однако для DEMO-версии, которая установлена на компьютерах, их количество существенно ограничено. UMPS содержит редактор текста, с помощью которого можно печатать и редактировать программы на языке АССЕМБЛЕР, собственный транслятор (ассемблер) и программный симулятор. Наиболее полезна возможность моделирования работы микроконтроллера совместно с внешними устройствами, которые подключаются к портам микроконтроллера. Процесс моделирования иллюстрируется в графической среде UMPSа.
Библиографический список 1. Сташин, В. В. Проектирование цифровых устройств на однокристальных микроконтроллерах / В. В. Сташин, А. В. Урусов, О. Ф. Мологонцева. - М.: Энергоатомиздат, 1990. - 224 с. – ISBN 5-283-0154375-2. 2. Фрунзе, А. В. Микроконтроллеры? Это же просто! Т. 1 / А. В. Фрунзе - М.: ООО «ИД СКИМЕН», 2002. - 336с. – ISBN 5-94929-002-Х. 3. Бродин, В. К. Микроконтроллеры / В. К. Бродин, И. И. Шагурин. - М.: ЭКОМ, 1999. - 400 с. – ISBN 5-7163-020-0. Лабораторная работа №1: «Управление светодиодами». Цель лабораторной работы заключается в разработке программы, которая управляет схемой, показанной на рис. 1 по следующему алгоритму. Светодиод VD1 горит до тех пор, пока не нажата кнопка SB1, а VD2 погашен. После ее нажатия загорается светодиод VD2 и горит в течение времени 0,25 с. Светодиод VD1 в это время погашен, кнопка недоступна. После этого вновь загорается светодиод VD1, а VD2 гаснет, кнопка блокируется на время 0,5 с. Далее все повторяется.
Рис. 1. Схема управления светодиодами
Блок - схема алгоритма программы показана на рис. 2.
Рис. 2. Блок-схема алгоритма программы Ассемблерный текст программы, соответствующей блок-схеме алгоритма (рис. 2) представлен ниже.
org 00h ajmp M0 org 20h M0: mov P0,#11111111B mov P1,#00000001B M1: jb P0.0,M1 mov P1,#00000010B lcall DEL lcall DEL mov P1,#00000001B lcall DEL lcall DEL lcall DEL lcall DEL ljmp M1
DEL: mov R1,#239 M3: mov R2,#255 M4: djnz R2,M4 djnz R1,M3 ret end
Комментарии к программе. 1. При написании ассемблерного текста следует выделять поле меток, что требуется при отладке в симуляторе UMPS. 2. Инструкция для ассемблера org 00h указывает на то, что в ячейке ПЗУ с адресом 00h должна находиться команда, следующая за указанной инструкцией, то есть ajmp M0. С помощью указанной команды обеспечивается переход на начало основной программы. 3. Команда контроллера mov P0,#11111111B предназначена для настройки порта Р0 на ввод. К этому порту подключена кнопка SB1. 4. На основе команды jb P0.0,M1 (перейти на метку М1 если бит 0 порта Р0 равен 1) организован программный цикл опроса бита порта Р0, к которому подключена кнопка SB1. 5. Команда lcall DEL обеспечивает вызов подпрограммы задержки DEL определенной длительности. Многократный вызов подпрограммы позволяет получить необходимую задержку в соответствии с условиями задачи. 6. Команда djnz R2,M4 (декремент содержимого регистра R2 и переход на М4, если не ноль) позволяет организовать программную задержку времени.
|
||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-27; просмотров: 760; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.45.92 (0.037 с.) |