Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦУиМП Курсовой_Мет.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

8. Заключение

Повышение степени интеграции элементов и быстродействия, развитие архитектурных решений, совершенствование средств программного обеспечения. Проблемы создания микропроцессорных систем обработки сигналов и управления. Основные тенденции развития вычислительной техники и ее применения в системах связи.

Домашнее контрольное задание “устройства на основе микроконтроллеров”

Рабочий план дисциплины для студентов заочной формы обучения предполагает выполнение домашнего контрольного задания.

Цель контрольной работы состоит в закреплении знаний, полученных при изучении теоретического курса. Применительно к микроконтроллеру семейства MCS-51 (К1816ВЕ51) представлены задачи, раскрывающие особенности построения устройств, разработки средств интерфей­са и программирования.

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

Студент выполняет один вариант контрольной работы. Номер варианта соответствует последней цифре номера зачетной книжки.

Решение задачи должно содержать:

  • принципиальную схему,

  • необходимые для понимания схемы пояснения,

  • в случае необходимости временные диаграммы,

  • схему алгоритма,

  • текст программы на языке ассемблера и пояснения к ней.

Пример выполнения, и оформления варианта контрольного задания представлен ниже.

Рекомендуемая литература: [7–10]. Очень хорошую помощь при выполнении задания может оказать серия статей [11].

Варианты заданий

Вариант 0

Разработать схему подключения к микроконтроллеру К1816ВЕ51 дисплея, состояще­го из восьми светодиодных семисегментных индикаторов. Написать прог­рамму вывода информации в режиме динамической индикации. Коды выводимых цифр находятся в восьми последовательно расположенных ячейках памяти.

Вариант 1

Разработать схему подключения к микроконтроллеру К1816ВЕ51 жидкокристаллического однострочного 16-символьного индикатора с внутренней памятью. Написать прог­рамму вывода на индикатор Вашего имени. Коды выводимых символов находятся в последовательно расположенных ячейках памяти.

Вариант 2

Разработать схему подключения к микроконтроллеру К1816ВЕ51 светодиодного 4-разрядного индикатора. Написать прог­рамму вывода на индикатор цифровой информации. Таблица знакогенератора размещается в резидентной памяти программ микроконтроллера.

Вариант 3

Разработать схему подключения к микроконтроллеру К1816ВЕ51 восьмиразрядного ЦАП. Написать программу, обеспечивающую формирование на выходе ЦАП сигнала, соответствующего 32-элементному массиву из RAM. Рассчитать быстродействие канала вывода.

Вариант 4

Разработать схему подключения к микроконтроллеру К1816ВЕ51 восьмиразрядного параллельного АЦП в асинхронном режиме ввода. Написать программу, обеспечивающую прием сигнала из АЦП и его запись в оперативную память в виде 64-элементного массива. Рассчитать быстродействие канала ввода.

Вариант 5

Разработать схему подключения к микроконтроллеру К1816ВЕ51 последовательного АЦП в асинхронном режиме ввода. Написать программу, обеспечивающую прием сигнала из АЦП и его запись в оперативную память в виде 16-элементного массива. Рассчитать быстродействие канала.

Вариант 6

Разработать схему подключения клавиатуры, организованной в виде матрицы 8х3, к микроконтроллеру К1816ВЕ51. Разрабо­тать алгоритм и написать программу для определения и дешифрации нажатой клавиши, которые основаны на сканировании клавиатуры. Код нажатой клавиши должен быть записан в аккумулятор микроконтроллера. Дешифрация нажатой клавиши осуществляется программно.

Вариант 7

Разработать схему подключения внешней RAM данных емкостью 16 Кбайт к микроконтроллеру К1816ВЕ51, написать программу упрощенного контроля исправности RAM. Контроль производится путем записи и считывания информации в каждой ячейке.

Вариант 8

Разработать схему подключения внешней ROM программ емкостью 8 Кбайт к микроконтроллеру К1816ВЕ51, написать программу упрощенного контроля исправности ROM. Контроль ROM производится по контрольной сумме, хранящейся в последней ячейке ROM.

Вариант 9

Разработать схему подключения внешней ROM данных емкостью 8 Кбайт к микроконтроллеру К1816ВЕ51, написать программу упрощенного контроля исправности ROM. Контроль ROM производится по контрольной сумме, хранящейся в первой ячейке ROM.

Пример выполнения варианта контрольного задания

Формулировка задания

Разработать схему 4-векторной системы внешних прерываний в микроконтроллере К1816ВЕ51. Написать подпрограмму обработки прерывания с селекцией источника прерывания.

Решение

Микроконтроллер К1816ВЕ51 имеет два входа для подключения внешних прерываний. Внешние прерывания INT0 и INT1 (рисунок 1) могут быть вызваны уровнем или переходом сигнала из 1 в 0 на входах микроконтроллера в зависимости от значений управляющих битов IT0 и IT1 в регистре TCON. От внешних прерываний устанавливаются флаги IE0 и IE1 в регистре TCON, которые инициируют вызов соответствующей подпрограммы обслуживания прерывания.

Рисунок 1 – Система прерываний микроконтроллера К1816ВЕ51

Для создания 4-векторной системы внешних прерываний можно подключить четыре источника прерываний параллельно на один вход микроконтроллера, например, INT1. Источники прерывания подключаем через логические инверторы (тип прерывания – “по срезу”).

Для того чтобы можно было программно определить, какой из четырех источников вызвал прерывание, подключим эти источники на свободные входы параллельных портов микроконтроллера. Для этого используем входы P0.4 – P0.7. В этом случае при вызове подпрограммы обработки прерывания можно опросить эти входы для селекции источника прерывания.

Принципиальная схема (рисунок 2) содержит:

  • микроконтроллер К1816ВЕ51 (SMC),

  • кварцевый резонатор с шунтирующими конденсаторами,

  • RC-цепочку формирования сигнала RESET,

  • инверторы сигналов прерывания на микросхеме К155ЛН3,

  • источники прерывания (Прибор 1- 4).

Рисунок 2 – Принципиальная схема

Флаги прерываний опрашиваются в каждом машинном цикле. Система прерываний формирует аппаратно вызов команды передачи управления LCALL подпрограмме обслуживания.

Принципиальной схеме соответствует схема алгоритма обработки прерываний, показанная на рисунке 3.

Рисунок 3 – Схема алгоритма

По аппаратно сформированному коду команды LCALL система прерываний помещает в стек содержимое программного счетчика микроконтроллера и загружает в этот счетчик адрес вектора прерывания 0013H (рисунок 1). По этому адресу располагается команда безусловного перехода JMP к начальному адресу подпрограммы обслуживания прерывания SUBIN1. Эта подпрограмма в случае необходимости должна начинаться командами записи в стек PUSH аккумулятора A, слова состояния программы PSW и возможно других регистров, которые подпрограмма использует для своих целей.

После ввода сигналов прерывания из порта P0 путем анализа отдельных разрядов определяется источник прерывания и выполняется обработка. При одновременном поступлении нескольких прерываний приоритет имеет прибор с меньшим номером. Это достигается порядком опроса разрядов.

Подпрограмма завершается командами восстановления из стека POP и заканчивается командой RETI, по которой в программный счетчик загружается сохраненный ранее в стеке адрес возврата в основную программу.

Текст подпрограммы на ассемблере имеет вид:

;************************************************************

; ПОДПРОГРАММА ОБРАБОТКИ ЧЕТЫРЕХ ВНЕШНИХ ПРЕРЫВАНИЙ УРОВНЯ 1

; автор – студент группы _____ _________(Ф.И.О.)

; дата - __.__.__

;************************************************************

ORG 13H ;следующую команду размещаем

;по адресу вектора прерывания INT1

SJMP SUBIN1 ;переход на подпрограмму обработки

ORG 30H ;размещаем обработчик с адреса 30H

SUBIN1: PUSH ACC ;сохранение в стеке аккумулятора и PSW

PUSH PSW

;селекция источника прерывания и обработка

MOV A, P0 ;ввод байта из порта

JNB ACC.7, PRIB2

;здесь размещается код обработки прерывания от Прибора 1

; . . .

PRIB2: JNB ACC.6, PRIB3

;здесь размещается код обработки прерывания от Прибора 2

; . . .

PRIB3: JNB ACC.5, PRIB4

;здесь размещается код обработки прерывания от Прибора 3

; . . .

PRIB4: JNB ACC.4, RETIN

;здесь размещается код обработки прерывания от Прибора 4

; . . .

RETIN: POP PSW ; восстановление PSW и аккумулятора

POP ACC

RETI ; возврат из подпрограммы