- •Министерство образования украины
- •«Однокристальный микроконтроллер i8051»
- •Практическая часть
- •Лабораторная работа №1 изучение программных и аппаратных средств разработки и отладки систем на базе i8051 Практическая часть.
- •Порядок выполнения работы
- •Name sample
- •Задания.
- •Лабораторная работа №2.
- •III. Работа с внешней памятью данных (впд).
- •1. Запомнить в впд содержимое регистров банка 0.
- •IV.Операции со стеком.
- •Индивидуальное задание на лабораторную работу
- •Задания 2
- •Контрольные вопросы.
- •Лабораторная работа №3.
- •Задания 1.
- •Задания 2
- •Контрольные вопросы.
- •Лабораторная работа №4
- •X equ p1.2
- •V equ p1.1
- •Задания 1.
- •Задания 2.
- •Задания 3.
- •Контрольные вопросы.
- •Лабораторная работа №5 команды передачи управления. Практическая часть.
- •3. Временная задержка длительностью 1с:
- •4. Передать управление одной из восьми программ rout0 - rout7 при появлении нулевого уровня на соответствующем входе порта 0. Наивысшим приоритетом обладает вход р1.0:
- •5. Множественное ветвление программы:
- •6. Последовательная передача параметров
- •Задания 1.
- •Индивидуальные задания 2
- •Контрольные вопросы.
- •Лабораторная работа №6 изучение системы прерываний Практическая часть.
- •1. Сохранение состояния центрального процессора во время прерываний
- •End Задания 1.
- •Контрольные вопросы.
- •Устранение дребезга контактов
- •2. Формирование импульсных сигналов
- •Xcor: cpl p3.4
- •3. Измерение длительности импульса
- •5. Передача символьной строки через последовательный порт.
- •6. Ввод данных с тумблеров, подключенных к линиям 3 и 4 порта 1 и выдача их на светодиоды, подключенные к линиям 4 и 5 порта 3.
- •7. Воспроизведение звука через динамик, подключенный к p3.5.
- •Задание 1
- •Задание 2
- •Контрольные вопросы.
- •3. Считывание текущего состояния таймера без нарушения процесса синхронизации.
- •4. Измерение длительности сигнала.
- •Задания.
- •Контрольные вопросы.
- •Лабораторная работа №9 организация Динамической индикации Практическая часть.
- •Задания.
- •Контрольные вопросы.
- •Лабораторная работа №10 вВод информации с Клавиатуры
- •Mov numb,#8
- •Movx @dptr,a ; Вывод следующего знакоместа
- •Задания.
- •Контрольные вопросы.
7. Воспроизведение звука через динамик, подключенный к p3.5.
SOUND EQU P3.5 ; Описание контакта Р3.5:
LOOP: SETB SOUND ; Установка бита порта
MOV R0,#80H ; Задержка
DJNZ R0,$
CLR SOUND ; Сброс бита порта
MOV R0,#80H
DJNZ R0,$ ; Задержка
JMP LOOP
Задание 1
Индицировать светодиодами, какие из тумблеров включены.
Организовать попеременное мигание крайних и среднего светодиода.
Мигание всех светодиодов с уменьшающимся интервалом мигания.
Бегущий огонь с ускорением.
Организовать вывод двух тональных сигналов по очереди (двухтональная сирена).
Вывести на светодиоды номер включенного тумблера в двоичном коде.
Вывести на светодиоды количество импульсных сигналов от правого тумблера.
Реализовать режим, когда тональность сигнала зависит от количества включенных тумблеров.
Реализовать режим, когда правый тумблер является разрешением сигнала, а два других определяют его тональность.
Написать программу, вычисляющую булеву функцию трех переменных. Переменные X,V поступают на линии 3,4 порта 1, а W поступает на линию 2 порта 3 соответственно. Результат Y необходимо вывести на линию 4 порта 3:
Y=X V W (X V)
Y=V X W (W V)
Y=W V (W X V)
Y=W V X (X W)
Y=(W X V) V W
Y=W X (V V )
Задание 2
При первом нажатии на кнопку INT1 увеличивать код на светодиодах на единицу, при втором-на двойку и т.д.
По каждому второму нажатию кнопки INT1 сдвигать код на светодиодах на один разряд влево.
По нажатию на кнопку INT1 циклически сдвигать код на светодиодах на один разряд вправо.
По троекратному нажатию на INT1 минвертировать состояние светодиодов.
Подсчитывать число нажатий на INT1 (от 0 до 63) и отображать на светодиодах в восьмеричном коде (переключение цифр-тумблером).
По первому нажатию на INT1 считать первое значение с тумблеров, по второму-второе и сумму вывести на светодиоды.
При нажатии на кнопку INT1 первый раз сдвинуть информацию на светодиодах влево, второй раз –вправо, третий раз- уменьшить на 1.
Мигать левым светодиодом с частотой 1-2 Гц , а по нажатию INT1 считать с переключателей адрес и заполнить 10 ячеек ОЗУ, начиная с этого адреса, последовательно числами от 0 до 9.
При включении левого переключателя подсчитывать количество нажатий на кнопку INT1 , при выключении количество вывести на светодиоды.
Реализовать кодовый замок, где шифр набирается тумблерами, а для ввода шифра используется кнопка INT1. В случае правильного набора зажигаются светодиоды, иначе-мигают с частотой 1-2 Гц.
11. Написать программу, последовательно передающую через порт 3 содержимое участка памяти ЗЗН ЗАН. Передачу каждого байта сопроводить единичным стробом на линии 5 порта 3. Начало передачи каждого нового байта определяется появлением среза внешнего строб-сигнала, заведенного на линию Р3.3 и выявленного по прерыванию.
Контрольные вопросы.
Какие порты существуют в i8051 ?
Для чего может быть использован каждый из портов ?
Опишите особенности работы при байтовых и битовых операциях.
Опишите, как осуществляется работа с универсальным асинхронным приемопередатчиком (УАПП) .
ЛАБОРАТОРНАЯ РАБОТА №8
ТАЙМЕР
Практическая часть.
1. Инициализация Таймера 1 для автозагрузки с частотой 32х2400 Гц.
TR1 EQU TCON.6
TINIT: MOV TCON,#1101001B
MOV ТН1,#-13
SETB TR1
Формирование временной задержки на основе таймера.
В качестве примера рассмотрим организацию временной задержки в 50мс. Предполагается, что бит IE.7 установлен.
;организация перехода к метке NEXT при переполнении Т/С0
ORG 0С00BH ; Адрес вектора прерывания от Т/С0
CLR TCON.4 ; Останов Т/С0
RETI ; Выход из подпрограммы обработки прерывания
ORG 0С100H ; Начальный адрес программы
MOV TMOD,#01H ; Настройка Т/С0
MOV TL0,#LOW 50000-1 ; Загрузка таймера
MOV TH0,#HIGH 50000-1
SETB TCON.4 ; Старт Т/С0
SETB IE.1 ; Разрешение прерывания от Т/С0
MOV A,PCON ; Перевод МК51 в режим холостого хода
SETB A.0
MOV PCON,A
NEXT: …