Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
prn_ 51_pr1.doc
Скачиваний:
17
Добавлен:
19.02.2016
Размер:
370.18 Кб
Скачать

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

  1. Индицировать светодиодами, какие из тумблеров включены.

  2. Организовать попеременное мигание крайних и среднего светодиода.

  3. Мигание всех светодиодов с уменьшающимся интервалом мигания.

  4. Бегущий огонь с ускорением.

  5. Организовать вывод двух тональных сигналов по очереди (двухтональная сирена).

  6. Вывести на светодиоды номер включенного тумблера в двоичном коде.

  7. Вывести на светодиоды количество импульсных сигналов от правого тумблера.

  8. Реализовать режим, когда тональность сигнала зависит от количества включенных тумблеров.

  9. Реализовать режим, когда правый тумблер является разрешением сигнала, а два других определяют его тональность.

Написать программу, вычисляющую булеву функцию трех переменных. Переменные X,V поступают на линии 3,4 порта 1, а W поступает на линию 2 порта 3 соответственно. Результат Y необходимо вывести на линию 4 порта 3:

  1. Y=X V  W  (X V)

  2. Y=V X  W  (W V)

  3. Y=W V  (W  X V)

  4. Y=W V X  (X W)

  5. Y=(W  X V) V  W

  6. Y=W  X  (V V )

Задание 2

  1. При первом нажатии на кнопку INT1 увеличивать код на светодиодах на единицу, при втором-на двойку и т.д.

  2. По каждому второму нажатию кнопки INT1 сдвигать код на светодиодах на один разряд влево.

  3. По нажатию на кнопку INT1 циклически сдвигать код на светодиодах на один разряд вправо.

  4. По троекратному нажатию на INT1 минвертировать состояние светодиодов.

  5. Подсчитывать число нажатий на INT1 (от 0 до 63) и отображать на светодиодах в восьмеричном коде (переключение цифр-тумблером).

  6. По первому нажатию на INT1 считать первое значение с тумблеров, по второму-второе и сумму вывести на светодиоды.

  7. При нажатии на кнопку INT1 первый раз сдвинуть информацию на светодиодах влево, второй раз –вправо, третий раз- уменьшить на 1.

  8. Мигать левым светодиодом с частотой 1-2 Гц , а по нажатию INT1 считать с переключателей адрес и заполнить 10 ячеек ОЗУ, начиная с этого адреса, последовательно числами от 0 до 9.

  9. При включении левого переключателя подсчитывать количество нажатий на кнопку INT1 , при выключении количество вывести на светодиоды.

  10. Реализовать кодовый замок, где шифр набирается тумблерами, а для ввода шифра используется кнопка INT1. В случае правильного набора зажигаются светодиоды, иначе-мигают с частотой 1-2 Гц.

11. Написать программу, последовательно передающую через порт 3 содержимое участка памяти ЗЗН  ЗАН. Передачу каждого байта сопроводить единичным стробом на линии 5 порта 3. Начало передачи каждого нового байта определяется появлением среза внешнего строб-сигнала, заведенного на линию Р3.3 и выявленного по прерыванию.

Контрольные вопросы.

  1. Какие порты существуют в i8051 ?

  2. Для чего может быть использован каждый из портов ?

  3. Опишите особенности работы при байтовых и битовых операциях.

  4. Опишите, как осуществляется работа с универсальным асинхронным приемопередатчиком (УАПП) .

ЛАБОРАТОРНАЯ РАБОТА №8

ТАЙМЕР

Практическая часть.

1. Инициализация Таймера 1 для автозагрузки с частотой 32х2400 Гц.

TR1 EQU TCON.6

TINIT: MOV TCON,#1101001B

MOV ТН1,#-13

SETB TR1

  1. Формирование временной задержки на основе таймера.

В качестве примера рассмотрим организацию временной задержки в 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: …

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]