- •Movx @dptr,a ; Вывод следующего знакоместа
- •Контрольные вопросы.
- •Лабораторная работа №10 вВод информации с Клавиатуры
- •Контрольные вопросы.
- •Лабораторная работа №9 организация Динамической индикации Практическая часть.
- •Порядок выполнения работы
- •Задания.
- •Подпрограмма обслуживания 8-и разрядного семисегментного индикатора.
- •Задания.
- •Контрольные вопросы
- •Лабораторная работа №2. Команды пересылки данных. Практическая часть.
- •Формирование временной задержки на основе таймера.
- •3. Считывание текущего состояния таймера без нарушения процесса синхронизации.
- •4. Измерение длительности сигнала.
- •Задание 2
- •1. Инициализация Таймера 1 для автозагрузки с частотой 32х2400 Гц.
- •III. Работа с внешней памятью данных (впд).
- •1. Запомнить в впд содержимое регистров банка 0.
- •IV.Операции со стеком.
- •Индивидуальное задание на лабораторную работу
- •6. Ввод данных с тумблеров, подключенных к линиям 3 и 4 порта 1 и выдача их на светодиоды, подключенные к линиям 4 и 5 порта 3.
- •7. Воспроизведение звука через динамик, подключенный к p3.5.
- •Задание 1
- •5. Передача символьной строки через последовательный порт.
- •Задания 2
- •Контрольные вопросы.
- •Лабораторная работа №3. Арифметические команды Практическая часть.
- •I. Инкремент и декремент.
- •II. Сложение и вычитание.
- •2. Формирование импульсных сигналов
- •3. Измерение длительности импульса
- •Устранение дребезга контактов
- •3. Программа вычитает строку, указанную регистром r1, из строки, указанной регистром r0, с точностью, указанной регистром r2. После выполнения операции проверяется переполнение результата.
- •III. Умножение и деление.
- •Задания 1.
- •1. Ввод информации с датчиков
- •Задания 1.
- •Задания 2
- •Контрольные вопросы.
- •Лабораторная работа №4 логические команды. Команды сдвига и работы с битами Практическая часть.
- •1. Маскирование при вводе.
- •Контрольные вопросы.
- •Лабораторная работа №6 изучение системы прерываний Практическая часть.
- •1. Сохранение состояния центрального процессора во время прерываний
- •Вычислить булеву функцию трех переменных :
- •Задания 1.
- •Задания 2.
- •Задания 1.
- •Индивидуальные задания 2
- •6. Последовательная передача параметров
- •Задания 3.
- •Контрольные вопросы.
- •Лабораторная работа №5 команды передачи управления. Практическая часть.
- •Временная задержка малой длительности.
- •Временная задержка большой длительности.
- •3. Временная задержка длительностью 1с:
- •4. Передать управление одной из восьми программ rout0 - rout7 при появлении нулевого уровня на соответствующем входе порта 0. Наивысшим приоритетом обладает вход р1.0:
- •5. Множественное ветвление программы:
Индивидуальное задание на лабораторную работу
1 Программу, заполнение участка РПД, начиная с определенного адреса 20Н, и длиной 5 байт произвольной константой.
2. Сохранить содержимое текущего банка регистров в резидентной памяти данных, начиная с адреса 12Н.
3. Сохранить содержимое текущего банка регистров в ВПД, начиная с адреса С200Н.
4. Сохранить в стеке участок памяти, начиная с адреса 20Н, и длиной 3 байта, а затем восстановить его по прежнему адресу.
5. Обменять содержимое регистров R1,R2 и R3 регистровых банков 1 и 2 между собой.
8
6. Ввод данных с тумблеров, подключенных к линиям 3 и 4 порта 1 и выдача их на светодиоды, подключенные к линиям 4 и 5 порта 3.
MOV A,P1 ; Ввод данных с линий порта 1
ANL A,#00011000B ; Маскирование для выделения бит 3 и 4
RL A ; Сдвиг аккумулятора влево
ANL P3,#11001111B ; Сброс линий 4 и 5 порта 3
ORL Р3,А ; Вывод данных в порт. При этом все линии, кроме 4 и 5 не
; меняют своего состояния
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 )
29
После выхода из процедуры содержимое счетчика R7 пропорционально длительности импульса.
Для нормальной работы этой программы необходимо, чтобы обращение к ней производилось в моменты, когда на входе Т0 присутствует сигнал нулевого уровня. Верхний предел измеряемой длительности “положительного” импульса составит 255(1 + 2) мкс = 765 мкс. Этот предел может быть увеличен включением в цикл COUNT дополнительных команд NOP. Максимальная погрешность измерений 3 мкс.
Инициализация последовательного порта для 8-разрядного режима универсального асинхронного приемопередатчика (УАПП) и установка флага готовности передачи.
SPINIT: MOV SCON,#01010010B