Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа №1: «Управление светодиодами».Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Лабораторная работа №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; просмотров: 896; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.008 с.) |