Логотип Автор24реферат
Заказать работу
%
уникальность
не проверялась
Контрольная работа на тему:

Обеспечить мигание светодиода 1 при включении микроконтроллера

уникальность
не проверялась
Аа
3319 символов
Категория
Программирование
Контрольная работа
Обеспечить мигание светодиода 1 при включении микроконтроллера .pdf

Зарегистрируйся в 2 клика в Кампус и получи неограниченный доступ к материалам с подпиской Кампус+ 🔥

Условие

Обеспечить мигание светодиода 1 при включении микроконтроллера, и 5-ти кратное мигание светодиода 2 (сигнализирует о выполнении подпрограммы обработки прерывания) при генерации прерывания от таймера. Таймер должен реализовать задержку времени 5 мс. Номер разрядов для подключения светодиодов 1 и 2 определяется по таблице 2. Таблица 2 Порт и разряд для подключения светодиода 2 Порт и разряд для подключения светодиода 1 P0_0 P0_1 P0_2 P0_3 P0_4 P0_5 P0_6 P0_7 P1_0 P1_1 P1_2 1 2 3 4 5 6 7 8 9 10 P1_3 11 12 13 14 15 16 17 18 19 20 P1_4 21 22 23 24 25 26 27 28 29 30 P1_5 31 32 33 34 35 36 37 38 39 40 P1_6 41 42 43 44 45 46 47 48 49 50 P1_7 51 52 53 54 55 56 57 58 59 60 P2_0 61 62 63 64 65 66 67 68 69 70 P2_1 71 72 73 74 75 76 77 78 79 80 P2_3 81 82 83 84 85 86 87 88 89 90 P2_4 91 92 93 94 95 96 97 98 99 100

Нужно полное решение этой работы?

Решение

Потяни, чтобы посмотреть
Используем схему вида:
Определим какое значение следует занести в регистры таймера, если выбран интервал перезагрузки, равный 0,001 с. Мы знаем, что при нулевых значениях в регистрах TH0 и TL0 таймер перезагружается каждые 0,071 с, проходя при этом 65536 циклов инкремента. В данном случае для определения необходимых значений для TH0 и TL0 можно воспользоваться выражением 65536 – (65536 ×0,001 / 0,071).
101=6*16+5=65h;
252=15*16+12=ECh;
После округления получим значение 64613 или, в шестнадцатерич$ ной форме, EC65. Таким образом, в регистр TH0 нужно поместить шестнадцатеричное значение EC, а в TL0 – значение 65. Поскольку интервал перезагрузки изменился с 0,071 на 0,001 с, то значение счетчика перезагрузок в R0 теперь должно стать равным 5 (для 5 мс интервала) .
Исходный текст
Org 0
AJMP start
t0ISR:
ORG 0Bh;адрес программы обработки прерывания таймера 0
CLR TF0
CPL P0.2;мигание светодиода 1 с интервалом 1 мс
DJNZ R0, skip
MOV R0, #5;восстановление числа 5 в регистре счетчике
CPL P2.4;пятикратное мигание светодиода 2
CPL P2.4
CPL P2.4
CPL P2.4
CPL P2.4
skip: MOV TH0, #0ECh ;восстановление начального состояния таймера 0
MOV TL0, #065h
RETI ;возврат из программы обработки прерывания
start: ;главная программа
CLR P2.4;разряд порта P2 устанавливается на выход
CLR P0.2;разряд порта P2 устанавливается на выход
MOV R0, #5 ;число переполнений счетчика 0 для задержки 5 мс
MOV TH0, #0ECh ;начальное значение таймера 0 для времени переполнения 1 мс
MOV TL0, #065h
MOV TMOD, #1h ;16 разрядный счетчик 0
SETB ET0 ; разрешение прерываний
SETB EA ; разрешение прерывания от счетчика 0
SETB TCON.4;запуск счетчика 0
Loop: AJMP Loop ;бесконечный цикл ожидания прерывании й
END
Компиляция
Отладка в среде SingleMashine
Блок-схема программы
Начало
EA:=1
ET0:=1
Разрешить прерывания от таймера 0
P2.4:=0
P0.2:=0
Порты устанавливаются на выход
T0:=64113
Инициализация таймера 0 для интервала переполнения 1 мс
R0:=5
Cчетчик числа переполнений для задержки 5 мс
TMOD:=1h
Счетчик 0 16 разрядный
TCON.4:=1
Запустить счетчик 0
1
1
Бесконечный цикл ожидания прерывания
Блок-схема обработки прерывания от счетчика 0
Начало
TF0:=0
Обнулить флаг прерывания
CLP P0.2
Мигание 1 светодиода с интервалом 1 мс
R0:=R0-1
Декремент счетчика переполнений
R0=0
Проверка интервала задержки 5 мс
CLP P2.4
CLP P2.4
CLP P2.4
CLP P2.4
CLP P2.4
Пятикратное мигание второго светодиода
1
R0:=5
Восстановление счетчика
T0:=64113
Восстановление начального значения таймера 0
return
Возврат из подпрограммы обработки прерывания
50% задачи недоступно для прочтения
Переходи в Кампус, регистрируйся и получай полное решение
Получить задачу
Больше контрольных работ по программированию:

Реализовать считывание с клавиатуры числа и вывод квадрата этого числа

439 символов
Программирование
Контрольная работа

Для изготовления двух видов продукции Р1 и Р2 на предприятии

1668 символов
Программирование
Контрольная работа

Рассчитайте значение неизвестного объема продукции для потребителя так

8427 символов
Программирование
Контрольная работа
Все Контрольные работы по программированию
Закажи контрольную работу
Оставляя свои контактные данные и нажимая «Узнать стоимость», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.

Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.