Проектирование микропроцессорной системы для управления объектом

Составление карты распределения адресного пространства. Расчет электрического сопряжения микропроцессорной системы. Построение временной диаграммы считывания из аналого-цифрового преобразователя. Характеристика средств повышения помехоустойчивости.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 17.04.2016
Размер файла 915,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

Введение

1. Разработка аппаратных средств МПС

1.1 Разработка структурной схемы МПС

1.2 Составление карты распределения адресного пространства

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

1.4 Разработка модуля RAM

1.5 Разработка блока ввода/вывода

1.6 Разработка блока управления CPAN

1.7 Разработка блока индикации IND

1.8 Расчет электрического сопряжения микропроцессорной системы

1.9 Средства повышения помехоустойчивости

2. Разработка программных средств

Заключение

Приложения

Введение

Целью курсового проектирования является приобретение навыков разработки микропроцессорных систем (МПС) на примере проектирования микропроцессорной системы для управления некоторым объектом. Микропроцессорная система (MPU) принимает информацию {Х} об объекте управления (ОU) от аналоговых и цифровых датчиков (D), вырабатывает управляющие воздействия {Y} в соответствии с заданным алгоритмом управления и подает их на исполнительные механизмы (RU). В МПС поступают также сигналы прерывания {INT} от датчика аварийной ситуации и от датчика напряжения питания.

В курсовом проекте разрабатываются электрические схемы МПС- структурная и принципиальная и программы, обеспечивающие выполнение заданного алгоритма управления, осуществляется оценка параметров МПС.

В качестве основы для построения МПС выбран микроконтроллер C8051F340. Техническое задание представлено в Приложении Б, принципиальная электрическая схема приводится в Приложении В, перечень элементов используемых в микропроцессорной системе приводится в Приложении Г.

1. Разработка аппаратных средств МПС

1.1 Разработка структурной схемы МПС

Структурная схема МПС состоит из микропроцессорного модуля (МРМ), оперативного запоминающего устройства (RAM), интерфейсных устройств ввода и вывода (IOU), контроллера прерываний (IC) и пульта управления (CPAN), соединенных с помощью общей шины (B).

Рассмотрим перечисленные модули.

Микропроцессорный блок MPM

Этот блок является центральным модулем МПС и построен на основе микроконтроллера C8051F340. Микропроцессорный блок предназначен для обработки внешнего сигнала Xd1, внешних сигналов прерывания: от аварийного датчика INT1, в случае отказа источника питания - INT2 и INT3 от нажатия оператором на клавишу МЕНЮ; для выработки сигналов данных, адреса и управления.

Особенности микроконтроллера C8051F340 приведены в приложении Д.

Блок внешней памяти RAM:

Данный блок представляет из себя NVSRAM (ОЗУ). Он предназначен для хранения информации от внешних датчиков и результатов обработки информации, хранения информации о системе (текущее состояние регистров микроконтроллера) в случае отказа основного источника питания.

Блок пзу отсутствует по причине большой внутренней репрограммируемой памяти микроконтроллера - 64 КБайта.

Блок ввода-вывода IOU:

Этот блок предназначен для преобразования входных аналоговых сигналов Xа5, Xа6, Xа7 в цифровые значения и цифрового кода Q4 (рис.2) в аналоговую форму Y4, формирования сигнала Y1, а также для выработки сигнала звуковой аварийной сигнализации.

Блок управления CPAN:

Этот блок управляет работой микропроцессорной системой. Включает клавиатуру и схемы управления ею. Помимо кода символа от клавиатуры, который формируется сигналами адреса и данных, блок CPAN вырабатывает сигнал сброса микроконтроллера и сигнал прерывания INT3.

Блок индикации IND:

Блок индикации отображает информацию о состоянии микропроцессорной системы. Этот блок содержит средства отображения значений Xd1 - Xd8, значения Q4 и звуковую аварийную сигнализацию с частотой 500 Гц.

Модули связаны между собой шинами адреса (BA), данных (BD) и управления (BC). Процессор позволяет работать с 16 разрядными адресами. Шина данных 8-ми разрядная, в соответствии с разрядностью шины данных процессора.

1.2 Составление карты распределения адресного пространства

Используемый в проекте микроконтроллер C8051F340 содержит внутреннюю память команд ёмкостью 64 Кбайт (ПЗУ) и память данных емкостью 256 байт (ОЗУ).

Для размещения программного обеспечения, даже с учетом необходимого резерва, памяти ПЗУ микроконтроллера вполне достаточно.

Таким образом, диапазон адресов памяти программ будет с 0100H (первые адреса зарезервированы под служебную информацию, например, там содержатся вектора прерываний) по 1FFFH. По сигналу RESET микроконтроллер переходит на команду по адресу 0000Н, и эта команда должна осуществлять переход на блок начальной инициализации.

Обращение к внешним устройствам, реализовано их отображением на внешнюю память данных. Адресное пространство внешней памяти данных разбито на две части: 32К для адресации к внешней памяти данных XRAM и 32К для адресации к внешним устройствам.

Внешнее ОЗУ выберем энергонезависимым и с емкостью 32 Кбайт, тогда для адресации потребуется 15 адресных линий.

Для разделения адресации памяти внутренней и внешней используем линии BA15 и BA12

Поскольку, адресация внешних устройств осуществляется как к ячейкам памяти, отведём старший разряд шины адреса ВА15 для выбора память/устройство.

Тогда получим поделённое пополам пространство адресов внешней памяти данных : 0000h - 7FFFh - память данных, 8000h - FFFFh- внешние устройства.

Распределение адресного пространства внешней памяти данных приведено в таблице 1.

Таблица 1 Распределение адресного пространства

Устройство

Адресные сигналы

Адрес

BA15

BA14

BA13

BA12

BA11

BA10

BA0

HEX

Внешнее ОЗУ

0

Х

X

X

X

X

X

X

0000h

АЦП

1

0

0

0

0

X

X

X

8000h

Сигнал 1

1

0

0

0

1

X

X

X

8800h

Сигнал 2

1

0

0

1

0

X

X

X

9000h

Сигнал 3

1

0

0

1

1

X

X

X

9800h

Чтение второго байта с АЦП

1

0

1

0

1

X

X

X

A800h

ЦАП

1

0

1

1

0

X

X

X

B000h

Регистр индикации

1

0

1

1

1

X

X

X

B800h

Регистр выбора семисегментного индикатора

1

1

0

0

0

X

X

X

C000h

Регистр номера позиции

1

1

0

0

1

X

X

X

C800h

Регистр вывода символа

1

1

0

1

0

X

X

X

D000h

Горизонтальный регистр клавиатуры

1

1

0

1

1

X

X

X

D800h

Вертикальный регистр клавиатуры

1

1

1

0

0

X

X

X

E000h

X - любое значение (0 или 1)

Для описанной модели использования внешней памяти данных будет использован режим подключения только внешней памяти без использования банков. Также будет выбран режим мультиплексирования шины данных и младших разрядов шины адреса.

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

Микропроцессорный модуль строится на основе микроконтроллера C8051F340 фирмы Silicon Labs. Принципиальная электрическая схема блока MPM показана на рис. 3. Помимо микроконтроллера, модуль включает в себя:

- дешифратор адреса КР1564ИД3 (DD2);

- регистр адреса КР1554ИР22 (DD8);

- элемент НЕ КР1554ЛН1 (DD4).

Назначение выводов микроконтроллера представлено в Приложении Д в таблице Д.1.

Обращение к памяти. Цикл обращения к внешней памяти выполняется за два машинных такта микроконтроллера. На первом такте на выходы порта P4 поступает младший байт адреса ячейки памяти. Одновременно на выходы порта Р3 поступает старший байт адреса. Адреса на выходах портов сохраняются до момента следующего обращения к этим портам. На втором машинном такте на выходы порта Р4 может поступить байт данных для записи в выбранную ячейку памяти (режим записи) или на входы порта Р4 подается байт данных, прочитанный из выбранной ячейки памяти (режим считывания). Это обращение к порту Р4 уничтожит младший байт адреса. Поэтому его необходимо сохранить в буферном регистре адреса. Для записи младшего байта адреса служит строб сигнал ALE, вырабатываемый микроконтроллером.

В качестве генератора тактовых импульсов будет использован встроенный высокочастотный программируемый генератор тактовых импульсов с тактовой частотой 12 МГц (без использования делителя).

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

В качестве буферного 8-разрядного регистра выбирается микросхема КР1554ИР22 (DD8). В данной МПС нет необходимости переводить линии адреса на выходе регистра в третье состояние, т.к. микроконтроллер - единственное устройство, управляющее шиной адреса, поэтому вход (EZ) регистра заземлен.

Обработка прерываний. MPM осуществляет приём и обработку внешних сигналов прерываний INT1 и INT2, которые поступают на вход и микроконтроллера, а также сигнала INT3, поступающего от оператора при нажатии кнопки МЕНЮ. Так как микроконтроллер содержит только 2 внутренних обработчика внешних сигналов прерываний, то сигнал прерывания INT3 от управляющих клавиш на клавиатуре поступает на вход Р0.5 микроконтроллера и инициализирует переполнение внутреннего счетчика T1 микроконтроллера, что приводит к прерыванию и, соответственно, его обработке. В регистр счетчика должно быть предварительно записано значение FFFFH.

Для микроконтроллера С8051F340 (DD1) необходимо назначить входы прерываний и активный уровень. Сигнал прерывания INT1 будет поступать на вход P0.3, а сигнал прерывания INT2 будет поступать на вход P0.4. Активным будем считать сигнал низкого уровня.

Организация шины управления ВС (рис.2) . Выбор всех внешних устройств МПС производится на основе таблиц распределения адресов. Старший разряд адреса ВА15 используется для обращения к внешним устройствам.

Инверсные сигналы чтения и записи для всех внешних устройств формируются микроконтроллером на выходах Р1.6 и Р1.7.

Для реализации схемы управления обращением к внешним устройствам необходим дешифратор 4-16. В данной работе используется микросхема КР1564ИД3 (DD2, описание в Приложении Е), представляющая собой дешифратор/демультиплексор 4-16. Дешифратор выдает на выход активный сигнал (выбора внешнего устройства) только если ВА15=1. Следовательно, необходимо подать ВА15 на разрешающие входы дешифратора CS1 и CS2. На адресные входы дешифратора подаются сигналы ВА14, ВА13, ВА12, ВА11.

На вход RST микроконтроллера поступает сигнал RST от кнопки сброса на пульте управления.

Формирование сигналов Y1-Y3. Согласно техническому заданию (Приложение Б) МПС должна формировать цифровые сигналы Y1-Y3 в соответствии с заданным алгоритмом. Длительность сигнала Y1 составляет 10мс, Y2 - 30 мс и Y3 представляет из себя пачку сигналов с периодом 1мс длительностью 60мс. По заданию необходимо формировать эти сигналы с помощью таймера. В состав микроконтроллера C8051F340 (Приложение Д) входят четыре таймера, с помощью которых будем формировать сигналы.

1.4 Разработка модуля RAM

Основными задачами дополнительной памяти данных являются сохранение состояний регистров CPU при отказе основного питания, а также обеспечение запаса памяти. Т.к. для сохранения состояния регистров CPU в случае отказа питания используется встроенная энергонезависимая память, внешняя дополнительная память будет использоваться только для увеличения памяти данных. Для построения модуля ОЗУ выберем микросхему STK15C88 фирмы CYPRESS емкостью 32К. Параметры микросхемы приведены в приложении И. Этого объёма достаточно для хранения данных с 10-20 кратным запасом.

Принципиальная схема модуля RAM приведена на рис. 4.

Для обращения к микросхеме памяти необходимо, чтобы старший разряд адреса BA15 был равен 0. Этот разряд подается на вход . Если необходимо записать в ОЗУ, то необходимо подать на вход низкий уровень, а если необходимо прочитать из ОЗУ, то на вход нужно подать высокий уровень. В случае, если , выходы у микросхемы будут находиться в Z-состояние.

Под внешнюю память данных отводится диапазон адресов 000h - 7FFFh. Входы/выходы данных DQ0 - DQ7 подключаются к линиям BD0 - BD7 шины данных.

1.5 Разработка блока ввода/вывода

Принципиальная электрическая схема блока ввода-вывода представлена на рис.5.

В состав блока входят:

- АЦП AD7470 фирмы Analog Devices (DA1), описание в приложении К;

- ЦАП MAX504 фирмы MAXIM (DA2), описание в приложении Л;

- Источник опорного напряжения REF192 фирмы Analog Devices (DA3), описание в приложении Н;

- Аналоговый мультиплексор IN74HC4051В фирмы INTEGRAL Semiconductor Devices (DD23), описание в приложении Ж;

- Регистр-защелка КР1554ИР22 (DD24).

В качестве узла ввода используется десятиразрядный АЦП AD7470 (DA1). Задачей АЦП является принятие аналоговых сигналов Xa5, Xa6, Xa7 и преобразование их в цифровую форму.

В качестве узла вывода используется ЦАП MAX504 (DA2). Задачей ЦАП является преобразование цифрового значения Q4 в аналоговую форму и выдача Y4. Цифро-аналоговый преобразователь работает от внутреннего источника напряжения. ЦАП взаимодействует с микроконтроллером через последовательный интерфейс SPI.

Взаимодействие МК и АЦП.

АЦП взаимодействует с микроконтроллером через параллельный интерфейс.

Так как АЦП имеет всего один вход для приема аналогового сигнала, то необходимо подключить внешний аналоговый мультиплексор. Выберем мультиплексор IN74HC4051В фирмы INTEGRAL Semiconductor Devices (DD23). АЦП AD7470 десятиразрядный и имеет параллельный интерфейс, то после преобразования результат появляется на выходе АЦП. Поскольку в проекте шина данных восьмиразрядная, а АЦП выдает сразу десять разрядов, то по окончании преобразования необходимо два старших разряда сразу отправить на шину данных, а оставшиеся восемь разрядов защелкнуть в регистре и выдать на шину данных после записи в память старших разрядов. На вход REFin подадим напряжение равное 2.048 В с генератора опорного напряжения.

В соответствии со схемой подключения, рекомендуемой фирмой Analog Devices, входы Vdd ,Vdrive и AVdd подключается к питанию через конденсаторы-фильтры C1, C2, С3, С4. Согласно документации к AD7470 в качестве конденсаторов выберем К53-10-10 мкФ±20% , К10-47-0.1 мкФ±20% и К53-4-47 мкФ ±20% для C1, C2, С3 и С4соответственно.

Взаимодействие ЦАП и МК.

Преобразование цифрового значения Q4 в аналоговую величину Y4 осуществляется с помощью 10-разрядного ЦАП MAX504 фирмы MAXIM (DA2).

ЦАП взаимодействует с микроконтроллером через интерфейс SPI. Микроконтроллер C8051F340 аппаратно поддерживает этот интерфейс. Для реализации этого интерфейса необходимо настроить порты МК. Вывод Р0.0 настроен как вывод SCK, вывод Р0.1 настроен как вывод MOSI, вывод Р0.2 настроен как вход MISO.

Назначение сигналов: SCK - подается на стробирующий вход SCLK ЦАП, MOSI - подается на вход DIN, MISO - подается на вход DOUT.

Временная диаграмма передачи данных по протоколу SPI приведена в приложении Л на рис Л.1.

Выбор микросхемы производится по сигналу BC26, подаваемому на вход .

ЦАП MAX504 имеет встроенный источник опорного напряжения равный 2.048В.

В соответствии со схемой подключения, рекомендуемой фирмой MAXIM, выводы BIPOFF, REFIN, REFOUT, AGND, DGND необходимо заземлить через конденсатор C7. Согласно документации к MAX504 в качестве конденсатора выберем К73-16-33 мкФ ±5%.

Опорное напряжение.

В качестве внешнего источника опорного напряжения будем использовать микросхему REF192 фирмы Analog Devices. Микросхема REF192 формирует опорное напряжение 2.048 В. В соответствии с типовой схемой подключения, рекомендованной фирмой Analog Devices, между выводом питания и землей необходимо поставить два конденсатора - электролитический емкостью 10 мкФ (C6) и керамический 0.1 мкФ (C5), между выводом опорного напряжения и землей следует поставить керамический конденсатор 0.1 мкФ (C8) и электролитический танталовый конденсатор 1 мкФ (C9). В качестве этих конденсаторов выберем К50-35-10 мкФ±20%, К10-47-0.1 мкФ±20%, К10-47-0.1 мкФ±20%, К53-10-1 мкФ±20% для конденсаторов C5, C6, C8, C9 соответственно.

Вес младшего бита в системе:

LSB = UREF / 210 = 2,048 В / 1024 = 0,002 В.

Ошибка в этом случае:

1 / (210) = 9.766 * 10-4 = 9.766 * 10-2 %.

Данная точность на порядок выше требуемой (0,1%).

Построение временной диаграммы считывания из АЦП.

В соответствии с техническим заданием необходимо построить временную диаграмму считывания данных из АЦП. Так как мы разделили пространство внешней памяти, то часть адресов используется для адресации к внешним устройствам, в том числе и для адресации к АЦП и обращение к АЦП будет происходить также как к ячейке внешней памяти.

Операция чтения из памяти происходит за два машинных цикла микроконтроллера.

Для считывания из АЦП будем использовать команду

movx A, @DPTR

Где DPTR - шестнадцатиразрядный адрес АЦП, А - аккумулятор, куда будем заносить данные.

Временные диаграммы чтения из внешней памяти приведены в Приложении Д.

За первые два такта машинного цикла (на диаграммах не показано) осуществляется чтение команды операции. В середине первого цикла выставляется адрес операнда на выводах портов Р3 и Р4, причем младший байт адреса записывается в регистр с помощью сигнала ALE. Старший байт адреса поступает на дешифратор адреса. Сигнал BA15 низкого уровня активирует дешифратор адреса и на дешифраторе после преобразования вырабатывается сигнал выбора микросхемы АЦП - BC20. После того как выдан младший байт адреса, вырабатывается сигнал чтения , который поступает на АЦП.

После подачи сигнала чтения на вход АЦП, на выходе АЦП устанавливаются данные, которые поступают на порт Р4.

Покажем, что микроконтроллер C8051F340 при работе на частоте 12 МГц позволяет в качестве внешнего АЦП использовать микросхему АЦП AD7470.

АЦП осуществляет преобразование входного аналогового сигнала в цифровой сигнал. Согласно описанию АЦП AD7470 (Приложение К), время, требуемое для преобразования составляет 436.42 нс, у нас один машинный цикл составляет 1 мкс. Запуск преобразования осуществляется программно, командами, занимающими по 2 машинных цикла. Соответственно время, необходимое для преобразования будет выдержано.

По завершении преобразования необходимо выдержать минимальное время до подачи сигнала на вход АЦП, которое согласно описанию АЦП составляет 0 нс, у нас 80 нс.

Минимальное время от поступления сигнала на вход АЦП и до сигнала на вход АЦП составляет 0 нс, у нас 220 нс.

Минимальное время удержания сигнала , требуемое микросхемой АЦП составляет 20 нс, у нас 166 нс.

Время, требуемое микросхемой АЦП с момента поступления сигнала и до появления данных на выходе АЦП составляет 20 нс, у нас 40 нс.

По окончании сигнала , время удержания данных на шине данных составляет 8 нс. Получили, что все временные параметры удовлетворяют условиям. Обозначения временных интервалов приведены в табл.5. Временные диаграммы представлены на рис. 5.1.

Таблица 5

Обозначение временного интервала

Значение

TP(КР1554ИР22)

Время задержки распространения сигнала от входа C к выходам D

TALEH

Время удержания сигнала ALE высокого уровня

TALEL

Время удержания сигнала ALE низкого уровня

T6

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

TRDS

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

TDC

Время задержки распространения данных в дешифраторе от адресных входов к выходам данных

TACS

Время удержания адреса

TACW

Время удержания сигнала чтения

1.6 Разработка блока управления CPAN

Принципиальная электрическая схема блока управления представлена на рис.6.

В состав блока входят:

- коммутационная матрица 3x8 кнопок НА3.604 (SB01 - SB24, Приложение М) ;

- кнопка сброса НА3.604.007 (SB0, описание в приложении М):

- 2 регистра КР1554ИР22 (DD5, DD6);

- 2ИЛИ-НЕ КР1554ЛЕ1 (DD13);

- 3 НЕ КР1554ЛН1 (DD15, DD16, DD7);

При изменении трех младших разрядов адреса, бегущим нулем при помощи регистраа (DD5) происходит сканирование клавиатуры. Если кнопка нажата, то регистр (DD6) считывает «0» на той строке, где была нажата клавиша. Для опроса будем записывать в регистр соответствующие значения с шины данных.

Кнопка SB0 предназначена для предварительного сброса МПС. Согласно документации на микроконтроллер C8051F340, длительность сигнала сброса низкого уровня должна быть не меньше 15 мкс.

Обеспечим этот уровень и длительность RC-цепочкой С10-R5. Для выбора С10 и R5 требуется определить постоянную времени ф RC-цепочки:

ф = -2*TCY(MC) / [ ln(UOHmin/UCC) ],

ф = -2*15мкс/ [ ln(2.4В/5В) ] = 40.87мкс.

, где ф - постоянная времени.

Выберем в качестве С10 конденсатор К53-10-10нФ±5%,тогда для резистора R2 получаем:

,

В качестве R5 выберем C1-4-0.062-4.3кОм±5%.

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

Сопротивление R4 служит для ограничения тока через кнопку SB0. Согласно документации, кнопки НА3.604.007 имеют рабочий ток до 4А, поэтому:

Imax > Ucc / R4;

R4 > Ucc/ Imax =5.5В/4А = 1,375 Ом.

Выберем в качестве R4 C1-4-0.062-100Ом±5%.

Сопротивления R1, R2, R3 являются подтягивающими и создают высокий уровень на входах регистра DD5 в то время, пока ни одна кнопка клавиатуры не нажата.

UIHminDD5 = Uccmin - UR1 - UVD 3.3 В;

R1 (Uccmin - UIHminDD5 - UVD)/IIHDD5 = (4.5В - 3.85В - 0.6В) /10-6 А =50кОм;

Минимальная величина сопротивления R1 будет определяться из того, что ток, проходящий через диоды VD1-VD8 в случае установления на выходе регистра DD6 логического нуля, не должен превысить максимально допустимого.

7 * ( IR2 + IILDD13) Iпр;

R2 ? Ucc / IR2;

R2 ? 7 * Ucc/( Iпр - 7 * IILDD13) = 7 * 5.5 В / ( - 7 * 0.2 мА) = 2.069 кОм;

Расчеты сопротивлений R2, R3 выполняются аналогично.

Выберем в качестве этих сопротивлений C1-4-3кОм±5%.

1.7 Разработка блока индикации IND

Принципиальная электрическая схема блока индикации представлена на рис.7.

В состав блока входят:

- светодиоды АЛ112Д (VD9-VD16);

- регистр КР1554ИР22 (DD1, DD2, DD9);

- семисегментный индикатор фирмы Kingbright (HG1-HG5, Приложение П);

- элементы НЕ КР1554ЛН1 (DD10 - DD17);

- пьезоизлучатель звука HCM1606X (SD1, Приложение Р).

Задача блока - вывод на семисегментные индикаторы HG1-HG5 значения посчитанной в МП функции Q4, входных сигналов Xd1-Xd8 на светодиодах VD9-VD16. Пользователь оповещается звуковым сигналом частотой 500Гц пьезокерамическим динамиком SD1 в случае, если в МПС произошел сбой. Регистр DD20 необходим для выбора семисегментного индикатора, регистр DD14 - для загрузки данных, регистр DD21 играет роль регистра-защелки входных сигналов Xd1-Xd8.

Для индикации значений входных сигналов Xd1-Xd8 используем

светодиоды АЛ112Д (VD9-VD16) со следующими характеристиками:

- красный цвет свечения;

- сила света не менее 150 мкКд;

- максимально допустимая температура корпуса светодиода - 70 °С;

- прямое падение напряжения на светодиоде при номинальном прямом токе : Uпр ном =2В;

- номинальный прямой ток светодиода Iпр ном = 10мА;

- максимально допустимый прямой ток через светодиод Iпр max = 12мА.

Для отображения значения Q4 используется семисегментные индикаторы фирмы Kingbright. С микроконтроллера информация на светодиодные индикаторы поступает через регистры (DD14, DD20).

Рассчитаем сопротивления R6-R13 на примере R6.

Диод начинает светиться, когда на выходе регистра логический 0, в этом случае напряжение на участке цепи «светодиод VD9- резистор R6»

UR6 -VD9 будет находиться в диапазоне:

UCCmin - UOL.ИР22 max < UR6 -VD9 < UCCmax - UOL.ИР22 min;

4.5 - 0.4 < UR6 -VD9 < 5.5 - 0.1;

UR6 -VD9min = 4.1B < UR6 -VD9 <5.4B = UR6 -VD9max,

где UR6 -VD9min - минимальное напряжение на участке цепи «светодиод VD9 - резистор R6 », UR6 -VD9max - максимальное напряжение на участке цепи «светодиод VD9 - резистор R6 ». Тогда напряжение на резисторе R6 будет лежать в приделах:

UR6 min = UR6 -VD9min - Uпр ном = 4.1 - 2 = 2.1 B;

UR6 max = UR6 -VD9max - Uпр ном = 5.4 - 2 = 3.4 B,

где UR6 min - минимальное напряжение на резисторе R6 , UR6 max - максимальное напряжение на резисторе R6 . Тогда сопротивление резистора найдем следующим образом:

R6 ? UR6 max/ Iпр ном = 3.4 / 0.01 = 340 Ом;

R6 ? UR6 min/ Iпр ном = 2.1 / 0.01 = 210 Ом.

Выберем резистор номиналом 330 Ом.

Выберем в качестве резисторов R6-R13 C1-4 130 Ом ± 5 %.

Рассчитаем величину сопротивления R14: согласно документации на пьезокерамический динамик SD1, величина рабочего тока составляет порядка 20мА, поэтому значение сопротивления R14 будет совпадать со значениями сопротивлений. Таким образом, в качестве сопротивления R14 выбираем: C1-4 130 Ом ± 5 %.

Произведем расчет семисегментного индикатора HG1. Расчет HG2-HG5 производится аналогично. Он имеет следующие параметры: максимальное прямое напряжение при Iпр = 20мА составляет 2.5В.

При зажигании сразу всех 8 светодиодов (с учетом точки), ток через индикатор составит IIND=8* Iпр = 8 * 20мА = 160мА. Для обеспечения такого тока используется транзистор VT1, управление которым осуществляется выходами регистра DD4. Выберем в качестве транзистора VT1 КТ501Б. Для него постоянный ток коллектора IК=300мА, предельное напряжение UКЭmax=15В, предельное напряжение UКбmax=15В, =40120, падение напряжения Uкэнас=0.4В. При степени насыщения S=2 ток базы

Iб=SIк/=2*160/40=8мА.

Резисторы R23-R24 образуют делитель напряжения, обеспечивающий работу транзистора VT1 в режиме насыщения, в котором напряжения на базе должно быть меньше напряжения на эмиттере = 0,5 В.

R24?UЭБнас/(IOL(КР1554ИР23)-Iб)=0.5В/(24-8)*10-3А = 31.25 Ом;

R23?(Uccmax- UЭБнас)/ IOL(КР1554ИР23)=(5.5-0.5)В/24*10-3А = 208.33 Ом

В соответствии с описанием транзистора КТ501Б минимальный ток через резистор R13 составляет 1мА . Получаем:

R24?UЭБнас/IR11min=0.5В/1*10-3А = 500 Ом;

R23? (Uccmax- UЭБнас)/ (IR13min + Iб) =(5.5-0.5)В/(1+8)*10-3А = 555 Ом

В качестве сопротивлений R23, R25, R27, R29, R31 выберем C1-4 300 Ом ± 5 %, а в качестве R24, R26, R28, R30, R32 выберем C1-4 430 Ом ± 5 %

Резисторы R15-R22 необходимы для ограничения тока, поступающего в семисегментные индикаторы. Проведем расчет R15, расчет остальных производится аналогичным образом:

R15?(Ucc - UЭБнас - UOLИР23min - Uпр)/Iпред = (5.5В-0.5В-0В-2.5В)/25*10-3А= 100Ом;

В качестве сопротивлений R15-R22 возьмем C1-4 150 Ом ± 5 %

1.8 Расчет электрического сопряжения микропроцессорной системы

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

Под электрическим сопряжением микросхем системы будем понимать выполнение следующих соотношений для каждого выхода любой микросхемы МПС:

IOL IIL + IOLL ;

IOH IIH + IOLH ;

CLlim CI + CO + CM ,

где: К - число входов других элементов, подключенных к данному выходу; L - число выходов других элементов, подключенных к данному выходу; IIL, IIH, IOL, IOH - входные и выходные токи элементов для состояний 0 и 1; CI, CO, CLlim, CM - емкости входа и выхода элемента, допустимая емкость нагрузки, подключаемой к выходу, и емкость монтажа; IOLL, IOLH - токи утечки на выходах низкого и высокого уровней.

Параметры микросхем, необходимые для расчета сопряжений, приведены в таблице 6.

Таблица 6

Микросхема

IOH , мА

IOL, мА

IIH , мкА

IIL, мкА

IOLL, мкА

IOLH ,мкА

CI ,пФ

CO , пФ

CLlim , пФ

C8052F340

10

25

50

50

10

10

100

КР1554ИР22

24

24

0.1

0.1

0.5

0.5

4.5

4.5

500

STK15C88

4

8

10

10

5

5

5

7

100

AD7470

20

20

1

1

1

1

10

10

100

Проверим выполнение условий для выходов микроконтроллера С8051А340. В зависимости от команды одна из микросхем: STK15C88 (RAM), КР1554ИР22(RG) или AD7470(ADC), будет находиться в активном состоянии (учитывается входной ток), а другие в состоянии высокого инпеданса (учитывается ток утечки). Учтем худший из трех возможных случаев:

микропроцессорный цифровой преобразователь помехоустойчивость

IOH(C8051F340) = 10мА ? 5*IIH(КР1554ИР22) + IOLH(STK15C88) + 5*IOLH(КР1554ИР22) + IOLH(AD7470) = 5*0.1мкА + 0.5мкА + 5*0.5мкА + 1мкА = 4.5 мкА;

IOL(C8051F340) = 25мА ? 5*IIL(КР1554ИР22) + IOLL(STK15C88) + 5*IOLL(КР1554ИР22) + IOLL(AD7470) = 5*0.1мкА + 5мкА + 5*0.5мкА + 1мкА = 9 мкА;

CLlim(C8051F340) = 100пФ ? 5*CI(КР1554ИР22) + CI(STK15C88) + 5*CO(КР1554ИР22) + CO(AD7470) + Cm= 5*4.5пФ + 10пФ + 5*4.5пФ + 10пФ + 20пФ = 85 пФ.

Проверим выполнение условий для выходов микросхемы внешнего ОЗУ STK15C88:

IOH(STK15C88) = 4мА ? IIH(C8051F340) + 5*IIH(КР1554ИР22) + 5* IOLH(КР1554ИР22) + IOLH(AD7470)= 50мкА + 5*0.1мкА + 5*0.1мкА + 1мкА = 52 мкА;

IOL(STK15C88) = 8мА ? IIL(C8051F340) + 5*IIL(КР1554ИР22) + 5* IOLL(КР1554ИР22) + IOLL(AD7470) = 50мкА + 5*0.1мкА + 5*0.1мкА + 1мкА = 52 мкА;

CLlim(STK15C88) = 100пФ ? CI(C8051F340) + CO(C8051F340) + 5*CI(КР1554ИР22) + 5* CO(КР1554ИР22) + CO(AD7470) +Cm = 10пФ + 10пФ + 5*4.5пФ + 5*4.5пФ + 10пФ+ 20пФ = 95пФ.

Проверим выполнение условий для выходов микросхемы регистра КР1554ИР22:

IOH(КР1554ИР22) = 24мА ? IIH(C8051F340) +4* IIH(КР1554ИР22) + IOLH(STK15C88) + IOLH(AD7470) = 50мкА + 4*0.1мкА + 5мкА + 1мкА = 56.4 мкА;

IOL(КР1554ИР22) = 24мА ? IIL(C8051F340) +4* IIL(КР1554ИР22) + IOLL(STK15C88) + IOLL(AD7470) = 50мкА + 4*0.1мкА + 5мкА + 1мкА = 56.4 мкА;

CLlim(КР1554ИР22) = 500пФ ? CI(C8051F340) +4* CI(КР1554ИР22) + CO(STK15C88) + CO(AD7470) + Cm = 10пФ + 4*4.5пФ + 7пФ + 10пФ + 20пФ= 65пФ.

Электрическое сопряжение по цепям данных обеспечивается. Дополнительного оборудования не требуется.

1.9 Средства повышения помехоустойчивости

Для защиты микросхем от помех, появляющихся в цепи питания, в развязки между шинами питания и земли включают конденсаторы. При таком включении шина питания рассматривается как проводящий постоянный ток элемент, который имеет низкое сопротивление при протекании токов переходных процессов "на землю". Для устранения помех высокой частоты ставят конденсаторы с малой емкостью, а для устранения низкочастотных помех - с большой емкостью. Выберем конденсаторы для МПС из расчета:

- для блокирования низкочастотных помех устанавливается электролитический конденсатор емкостью не менее 1 мкФ, из расчета на 1 микросхему;

- для высокочастотных помех устанавливаются конденсаторы емкостью 0.01 - 0.1 мкФ на 1 микросхему.

Конденсаторы для блокирования высокочастотных помех устанавливаются по всей площади печатной платы равномерно относительно микросхем (ближе к выводам питания и земли), конденсаторы для блокирования низкочастотных помех устанавливаются как можно ближе к контактам разъемов МПС.

Всего имеем 22 корпуса. Для микросхем AD74760, MAX504, REF193 конденсаторы выбраны в соответствии с их технической документацией.

На остальные 19 корпусов в качестве ФВЧ понадобятся 19 конденсатора типа К10-17-0.1 мкФ 10 % (С20- С39).

В качестве ФНЧ используем электролитические конденсаторы К50-35-200 мкФ 20% (С40, С41) из расчета 1 конденсатор на 10 цифровых микросхем.

2. Разработка программных средств

В МПС реализуется алгоритм, представленный на рис. 8. Блоком 1 выполняется начальная установка системы: программирование используемых интегральных микросхем, засылка при необходимости в выходные устройства начальных значений управляющих воздействий и т.п. Блоком 2 реализуется задача логического управления: прием информации с двоичного датчика Хd1, вычисление значения Хd1 и выдача этого значения в качестве управляющего двоичного сигнала Y1. Блоком 3 обеспечивается прием аналоговых сигналов Xa5, Xa6, Xa7 с датчиков напряжения, их преобразование в цифровую форму N5, N6, N7 соответственно, и вычисление значений управляющих воздействий - сигналы Y2, Y3, Y4.

При этом Y2 и Y3 являются двоичными сигналами, а Y4 - напряжение, которое получается после преобразования цифрового кода в аналоговую форму. Блоком 4 реализуется или циклический режим управления или останов МПС в соответствии с командами, поступающими от оператора с пульта управления. Блок 5 служит для вывода на индикатор последнего значения Q4 после выхода из режима управления.

При единичном значении Хd1 в МПС вырабатывается выходной сигнал низкого уровня Y1 длительностью 10 мс.

Напряжения Xa5, Xa6 и Xa7 преобразуются в цифровую форму N5, N6 с помощью аналого-цифрового преобразователя (АЦП). С выхода АЦП цифровые коды поступают на обработку и вычисляется функция Q2i=N5i/2 + N6i + K, где К код уставки. Предполагается, что значения N5 и N6 представляются как целые со знаком и находятся в диапазоне 0 - 1023. Полученное значение функции Q2 сравнивается с хранящейся в ПЗУ константой Q0, значение которой равно 512. Значение К равно 12. Значение К может быть изменено оператором с пульта управления (CPAN). Напряжения Xa5 и Xa6 соответствуют значениям входного аналогового напряжения АЦП VIN, которое следует выбирать в диапазоне (0 - Uref)В, где Uref=2,048 В напряжение внешнего источника опорного напряжения. В зависимости от результатов сравнения МПС вырабатывает сигнал высокого уровня Y2 длительностью 30 мс, если Q2<Q0, или пачку сигналов Y3 с периодом 1 мс и скважностью 2, если Q2?Q0, причем длительность пачки равна времени 60мс.

Рис. Схема алгоритма управления объектом

Рис. Схема алгоритма выработки сигналов Y2 и Y3

Временные интервалы Т2, Т3 формируются с помощью таймера.

Схема выработки сигналов Y2, Y3 представлена.

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

Схема алгоритма обработки прерывания INT3 представлена.

Рис. 10. Обработка прерывания INT3

Заключение

В результате проектирования создана микропроцессорная система управления объектом на основе микроконтроллера C8051F340, с использованием в качестве периферийных микросхем серии КР1554, а также микросхем зарубежных фирм, таких как Analog Devices и MAX DALLAS. Также было разработано программное обеспечение.

МПС обрабатывает прерывания от аварийного датчика INT1, при отказе источника питания INT2 и от оператора INT3, реагируя на них по заданному алгоритму.

МПС управляется 26-кнопочным пультом управления, имеет семисегментные индикаторы и светодиоды для вывода необходимой информации, а так же источник аварийной звуковой сигнализации.

Основными результатами проектирования являются структурная схема МПС, принципиальная электрическая схема МПС, и программа, реализующая управляющие алгоритмы МПС.

Позиционное обозначение

Наименование

Количество

Примечания

Конденсаторы

C1, C8, C9, С10

К53-10-10 мкФ±20%

4

C2, C6

К10-47-0.1 мкФ±20%

2

C3, C4

К53-4-47 мкФ ±20%

2

C5

К50-35-10 мкФ±20%

1

C7

К73-16-33 1мкФ±5%

1

C40, C41

К50-35-200 мкФ ± 20%

2

C20 - C39

К10-17-0.1 мкФ ± 10 %

19

Микросхемы

DA1

AD7470

1

DA2

MAX504

1

DA3

REF192

1

DD1

C8051F340

1

DD2

КР1564ИД3

1

DD5, DD6, DD8, DD14, DD20, DD21, DD24

КР1554ИР22

7

DD4, DD7, DD9, DD11, DD15, DD16

КР1554ЛН1

6

DD10, DD12, DD13

КР1554ЛЕ1

3

DD23

IN74HC4051В

1

БИС ЗУ

DD3

STK15C88

1

Резисторы

R1 - R3

С1-4 0.125 - 3 кОм 5%

3

R4

С1-4 0.062 - 100 Ом 5%

1

R5

С1-4 0.062 - 4.3 кОм 5%

1

R6 - R13

С1-4 0.25 - 130 Ом 5%

8

R14

С1-4 0.25 - 130 Ом 5%

1

Кнопки

SB0 - SB25

НА3.604 (кнопки)

26

Светодиоды

VD9-VD16

АЛ112Д

8

Индикаторы

HG1-HG5

SX12-11 SR WA

5

Разъемы

XS1

KLS-205-20-B

1

Пьезоизлучатели

SD1

HCM1606X

1

Транзисторы

VT1 - VT5

КТ501Б

Приложения

Приложение 1

Параметры микроконтроллера C8051F340

Особенности:

· Совместимость с ИС семейства MCS-51

· Внутрисистемный высокоскоростной интерфейс отладки С2;

· Шина USB, встроенный трансивер, буфер FIFO с 1 К оперативной памяти;

· Регулятор напряжения питания;

· 10-разрядный АЦП с аналоговым мультиплексором;

· На кристалле присутствует источник опорного напряжения и датчик температуры;

· На кристалле присутствуют компараторы напряжения;

· Точность встроенного калиброванного внутреннего генератора 12 МГц;

· Присутствует внутренний генератор низкой частоты для дополнительной экономии энергии;

· До 64 К флэш-памяти на микросхеме;

· 256 байт ОЗУ на кристалле;

· Интерфейс внешней памяти (EMIF);

· Аппаратно реализованы интерфейсы SMBus/I2C, UART и SPI;

· Четыре 16-разрядных таймера;

· Массив программируемый счетчиков/таймеров (РСА) с пятью модулями захвата/сравнения;

· Функция сторожевого таймера;

· До 40 портов ввода-вывода;

На рис. Д.1 представлено условно-графическое обозначение C8051F340.

Рис. Д.1. УГО микросхемы

В табл. Д.1 представлено назначение выводов микроконтроллера.

Таблица Д.1

Вывод

Обозначение

Функциональное назначение вывода

Тип вывода

23-30

P3.0-P3.7

Выдача старшего байта адреса

выход

15-22

Р4.0-Р4.7

Выдача младшего байта адреса

Ввод/вывод байта данных

вход/выход

6

Р0.0 (SCK)

Синхронизация данных для интерфейса SPI

выход

5

Р0.1 (MISO)

Последовательные данные передаваемые в микроконтроллер (SPI)

вход

4

Р0.2 (MOSI)

Последовательные данные микроконтроллера для передачи (SPI)

выход

3

Р0.3 (int1)

Вход внешнего прерывания 1

вход

2

Р0.4 (int2)

Вход внешнего прерывания 2

вход

1

Р0.5 (int3)

Вход внешнего прерывания 3

вход

48

Р0.6 (ALARM)

Запуск сигнала аварийной сигнализации

выход

47

Р0.7

Вход сигнала Xd1

вход

46

Р1.0

Вывод сигнала Y1

выход

45

Р1.1

Вывод сигнала Y2

выход

44

Р1.2

Вывод сигнала Y3

выход

43

Р1.3 (ALE)

Выходной сигнал разрешения фиксации адреса

выход

42

P1.4 (BUSY)

Вход сигнала преобразования от АЦП

вход

41

Р1.5

Сигнла запуска преобразования для АЦП

выход

40

P1.6 (RD)

Выход стробирующего сигнала при записи во внешнюю память данных

выход

39

P1.7 (WR)

Выход стробирующего сигнала при чтении из внешней памяти данных

выход

7

GND

Общий вывод

-

10

VDD

Вывод питания от источника напряжения +3 В

-

13

RST

Сигнал перезапуска микропроцессора

выход

В табл. Д.2 представлены основные электрические параметры микросхемы.

Таблица Д.2 Основные электрические параметры микросхемы

Параметры

Значения параметров

мин.

макс.

Напряжение питания Ucc, В

4,5

5,5

Входное напряжение низкого уровня UIL, В

-0,5

0,2Ucc-0,1

Входное напряжение высокого уровня UIH, В

0,2Ucc+0,9

Ucc+0,5

Входное напряжение высокого уровня RST UIH, В

0.7Ucc

Ucc+0,5

Выходное напряжение низкого уровня UOL, В

-

0,5

Выходное напряжение высокого уровня UOH , В

2,4

-

Выходной ток низкого уровня P1,P2,P3 IOL, мА

-

15

Выходной ток низкого уровня P0,ALE,PSEN IOL, мА

-

71

Выходной ток высокого уровня P1,P2,P3 IOH, мА

-0,0

-

Выходной ток высокого уровня P0,ALE,PSEN IOH, мА

-0,4

-

Входной ток низкого уровня P1,P2,P3 IIL, мкА

-

-50

Входной ток высокого уровня P1,P2,P3 IIH, мкА

-

±500

Ток утечки на входах ILI, мкА

-10

10

Емкость нагрузки по выводам P0,ALE,PSEN CL , пФ

-

100

Емкость нагрузки по остальным выводам CL , пФ

-

80

Емкость на входах CI, пФ

-

10

Емкость на входах/выходах Со, пФ

-

20

Ток потребления Iсс, мА

-

25

На рис Д.1. представлены временные диаграммы записи/считывания данных в/из внешней памяти.

Приложение 2

Параметры микросхемы КР1564ИД3

Приложение 3

Параметры аналогового мультиплексораIW4051B

Приложение 4

Параметры АЦП MAX504

Рис. Л.1. Временная диаграмма передачи данных по протоколу SPI

Приложение 5

Кнопка НА3.604.007

Кнопки коммутационные НА3.604.007 предназначены для коммутации электрических цепей постоянного и переменного тока.

Технические характеристики НА3.604.007:

* Сопротивление изоляции, МОм, не менее:

- при нормальных климатических условиях ........................................ 1000

- в условиях повышенной влажности ................................................... 50

- при максимальной температуре .......................................................... 100

* Электрическая прочность изоляции при нормальных климатических условиях, В.......... 1500

* Сопротивление электрических контактов, Ом, не более ...................... 0,01

* Коммутируемые напряжение, ток, мощность:

- рабочее напряжение, В ……………………………………….…....... до 220

- ток, А ..................................................................................................... до 4

- максимальная мощность, Вт ……………………………………....... 220

* Износостойкость, циклов коммутации .... 10000

* Масса, г, не более. 32

Приложение 6

Источник опорного напряжения REF192

Приложение 7

Пьезоизлучатель звука HCM1606X

Приложение 8

Листинг программы

0083 264 sysclk equ 83h

8000 265 ADC equ 8000h

8800 266 ADC_1 equ 8800h

9000 267 ADC_2 equ 9000h

9800 268 ADC_3 equ 9800h

A800 269 ADCSecondByte equ 0A800h

B000 270 DAC equ 0B000h

B800 271 IndReg equ 0B800h

C800 272 SIndReg_pos equ 0C800h

D000 273 SIndReg_num equ 0D000h

D800 274 HKeyBoard equ 0D800h

E000 275 VKeyBoard equ 0E000h

276

000A 277 n equ 10

0200 278 Q0 equ 512

279

---- 280 dseg

0001 281 prog_start bit 1

282

---- 283 xseg

0000 284 mass_N5: ds n*2

0014 285 mass_N6: ds n*2

0028 286 N7: ds 2

0080 287 org 80h

0080 288 S: ds 2

0100 289 org 100h

0100 290 K: ds 1

0002 291 A1 equ 2

0101 292 Q4: ds 2

0103 293 Q4_0: ds 1

0104 294 Q4_1: ds 1

0105 295 Q4_2: ds 1

0106 296 Q4_3: ds 1

0107 297 Q4_4: ds 1

298

299

300

---- 301 cseg at 0h

0000 813E 302 JMP main_prog

---- 303 cseg at 3h

0003 805A 304 JMP Int_0

---- 305 cseg at 13h

0013 805B 306 JMP Int_1

---- 307 cseg at 1Bh

001B 8065 308 JMP Int_3

309

310

001D 311 INIT:

001D 75B283 312 mov OSCICN, #sysclk

313

314

315

0020 53D9BF 316 anl PCA0MD, #10111111b

317

0023 53D9F1 318 anl PCA0MD, #11110001b ;system clock divided by 12

319

0026 75FDFF 320 mov PCA0CPL4, #0FFh ;обновление каждые 65.5 мс

321

0029 53D97F 322 anl PCA0MD, #01111111b ;таймер продолжает работать, даже если система находится в

состоянии ожидания

323

002C 43D940 324 orl PCA0MD, #01000000b

325

002F 43D920 326 orl PCA0MD, #00100000b

327

328

329

330

0032 75F153 331 mov P0MDIN, #01010011b

332

0035 75A4AC 333 mov P0MDOUT, #10101100b

0038 75A5FF 334 mov P1MDOUT, #0FFh

003B 75A7FF 335 mov P3MDOUT, #0FFh

003E 75AEFF 336 mov P4MDOUT, #0FFh

337

0041 75D6FF 338 mov P2SKIP, #0FFh

339

0044 75E10A 340 mov XBR0, #00001010b ;enable sysclk output and SPI

341

0047 75E260 342 mov XBR1, #01100000b ;enable crossbar and external timer interrupt T1

343

344

004A D290 345 setb P1.0

346

004C C291 347 clr P1.1

348

004E C292 349 clr P1.2

350

0050 D295 351 setb P1.5

352

353

0052 90D800 354 mov dptr, #HKeyBoard

0055 747F 355 mov a, #01111111b

0057 F0 356 movx @dptr, a

357

358

0058 900100 359 mov dptr, #K

005B 740C 360 mov a, #12

005D F0 361 movx @dptr, a

005E 22 362 ret

363

364

005F 365 Int_0:

005F 7964 366 mov r1, #100

0061 367 Int0_begin:

0061 D286 368 SETB P0.6

0063 7E02 369 mov r6, #2h

0065 7F63 370 mov r7, #63h

0067 DEFC 371 djnz r6, $-2

0069 DFF9 372 djnz r7, $-5

006B C286 373 CLR P0.6

006D D9F2 374 DJNZ r1, Int0_begin

006F 32 375 reti

376

377

0070 378 Int_1:

0070 32 379 reti

380

381

0071 758950 382 mov TMOD, #50h

0074 758DFF 383 mov TH1, #0FFh

0077 758BFF 384 mov TL1, #0FFh

007A E5A8 385 mov a, IE

007C 4508 386 orl a, 00001000B

007E F5A8 387 mov IE, a

0080 D28E 388 SETB TR1

389

390

0082 391 Int_3:

0082 392 keystart:

0082 90E000 393 mov DPTR, #VKeyBoard

0085 74FE 394 mov a, #11111110b

0087 F0 395 movx @DPTR, a

0088 90D800 396 mov DPTR, #HKeyBoard

008B E0 397 movx a, @DPTR

008C 5407 398 anl a, #00000111b

399

008E 20E002 400 k0: JB ACC.0, k1

0091 7800 401 mov R0, #00h

0093 20E102 402 k1: JB ACC.1, k2

0096 7801 403 mov R0, #01h

0098 20E002 404 k2: JB ACC.0, k3

009B 7802 405 mov R0, #02h

406

009D 407 k3:

009D 90E000 408 mov DPTR, #VKeyBoard

00A0 74FD 409 mov a, #11111101b

00A2 F0 410 movx @DPTR, a

00A3 90D800 411 mov DPTR, #HKeyBoard

00A6 E0 412 movx a, @DPTR

00A7 5407 413 anl a, #00000111b

414

00A9 20E002 415 JB ACC.0, k4

00AC 7803 416 mov R0, #03h

00AE 20E102 417 k4: JB ACC.1, k5

00B1 7804 418 mov R0, #04h

00B3 20E002 419 k5: JB ACC.0, k6

00B6 7805 420 mov R0, #05h

421

00B8 422 k6:

00B8 90E000 423 mov DPTR, #VKeyBoard

00BB 74FB 424 mov a, #11111011b

00BD F0 425 movx @DPTR, a

00BE 90D800 426 mov DPTR, #HKeyBoard

00C1 E0 427 movx a, @DPTR

00C2 5407 428 anl a, #00000111b

429

00C4 20E002 430 JB ACC.0, k7

00C7 7806 431 mov R0, #06h

00C9 20E102 432 k7: JB ACC.1, k8

00CC 7807 433 mov R0, #07h

00CE 20E002 434 k8: JB ACC.0, k9

00D1 7808 435 mov R0, #08h

436

00D3 437 k9:

00D3 90E000 438 mov DPTR, #VKeyBoard

00D6 74F7 439 mov a, #11110111b

00D8 F0 440 movx @DPTR, a

00D9 90D800 441 mov DPTR, #HKeyBoard

00DC E0 442 movx a, @DPTR

00DD 5407 443 anl a, #00000111b

444

00DF 20E002 445 JB ACC.0, k10

00E2 7809 446 mov R0, #09h

00E4 20E102 447 k10: JB ACC.1, k11

00E7 780A 448 mov R0, #0Ah

00E9 20E002 449 k11: JB ACC.0, k12

00EC 780B 450 mov R0, #0Bh

451

00EE 452 k12:

00EE 90E000 453 mov DPTR, #VKeyBoard

00F1 74EF 454 mov a, #11101111b

00F3 F0 455 movx @DPTR, a

00F4 90D800 456 mov DPTR, #HKeyBoard

00F7 E0 457 movx a, @DPTR

00F8 5407 458 anl a, #00000111b

459

00FA 20E002 460 JB ACC.0, k13

00FD 780C 461 mov R0, #0Ch

00FF 20E102 462 k13: JB ACC.1, k14

0102 780D 463 mov R0, #0Dh

0104 20E002 464 k14: JB ACC.0, k15

0107 780E 465 mov R0, #0Eh

466

0109 467 k15:

0109 90E000 468 mov DPTR, #VKeyBoard

010C 74DF 469 mov a, #11011111b

010E F0 470 movx @DPTR, a

010F 90D800 471 mov DPTR, #HKeyBoard

0112 E0 472 movx a, @DPTR

0113 5407 473 anl a, #00000111b

474

0115 20E002 475 JB ACC.0, k16

0118 780F 476 mov R0, #0Fh

011A 20E102 477 k16: JB ACC.1, k17

011D 7810 478 mov R0, #10h ;нажата кнопка ВВЕРХ

011F 20E002 479 k17: JB ACC.0, k18

0122 7820 480 mov R0, #20h ;нажата кнопка ВНИЗ

481

0124 482 k18:

0124 90E000 483 mov DPTR, #VKeyBoard

0127 74BF 484 mov a, #10111111b

0129 F0 485 movx @DPTR, a

012A 90D800 486 mov DPTR, #HKeyBoard

012D E0 487 movx a, @DPTR

012E 5407 488 anl a, #00000111b

489

0130 20E002 490 JB ACC.0, k19

0133 7830 491 mov R0, #30h ;нажата кнопка ВВОД

0135 20E102 492 k19: JB ACC.1, k20

0138 7840 493 mov R0, #40h ;нажата кнопка ПУСК

013A 20E002 494 k20: JB ACC.0, ob0

013D 7850 495 mov R0, #50h ;нажата кнопка ОСТАНОВ

496

013F B41006 497 ob0: CJNE a, #10h, ob1 ;если нажата кнопка вверх

0142 900100 498 mov DPTR, #K

0145 E0 499 movx a, @DPTR

0146 04 500 inc a

0147 F0 501 movx @DPTR, a

502

0148 B42006 503 ob1: CJNE a, #20h, ob2 ;если нажата кнопка вниз

014B 900100 504 mov DPTR, #K

014E E0 505 movx a, @DPTR

014F 14 506 dec a

0150 F0 507 movx @DPTR, a

508

0151 B43005 509 ob2: CJNE a, #30h, ob3 ;если нажата кнопка ввод

0154 900100 510 mov DPTR, #K

0157 E8 511 mov a, R0

0158 F0 512 movx @DPTR, a ;записать новое значение К

513

0159 B44004 514 ob3: CJNE a, #40h, ob4 ;если нажата кнопка пуск

015C D201 515 setb prog_start

015E 800A 516 jmp KeyEnd

0160 B45004 517 ob4: CJNE a, #50h, ob5 ;если нажата кнопка останов

0163 C201 518 clr prog_start

0165 8003 519 jmp KeyEnd

520

0167 020082 521 ob5: LJMP keystart

016A 522 keyend:

016A 32 523 reti

524

525

526

016B 527 Y1:

016B D290 528 setb P1.0

016D 758901 529 mov TMOD, #00000001b ;установим таймер 0 в режим 1

0170 758CD8 530 mov TH0, #high(65536-10000) ;10000=10мс

0173 758AF0 531 mov TL0, #low(65536-10000)

0176 C290 532 clr P1.0 ;формируем сигнал низкого уровня

0178 D28C 533 setb TR0 ;запуск таймера

017A 308DFD 534 JNB TF0,$ ;ожидание

017D C28D 535 clr TF0

017F D290 536 setb P1.0 ;снова высокий уровень

0181 22 537 ret

538

539

0182 540 Xd1:

0182 E580 541 mov a, P0

0184 5480 542 anl a, #10000000b

0186 B40002 543 CJNE a, #0h, Y1_no

0189 316B 544 CALL Y1

018B 545 Y1_no: ;сформируем задержку в 1с

018B 7A00 546 mov r2, #0

018D 758901 547 mov TMOD, #01h

0190 758C3C 548 mov TH0, #high(65536-50000) ;задержка в 50мс

0193 758AB0 549 mov TL0, #low(65536-50000) ;

0196 550 clock:

0196 D28C 551 setb TR0 ;запуск таймера


Подобные документы

  • Разработка микропроцессорной системы управления технологическим объектом. Выбор и расчет элементов системы, разработка ее программного обеспечения. Составление структурных, функциональных и принципиальных схем микроконтроллеров семейства MCS-51.

    курсовая работа [579,0 K], добавлен 20.09.2012

  • Структурная и принципиальная электрические схемы микропроцессорной системы (МПС) для управления объектом. Программные модули, обеспечивающие выполнение алгоритма управления объектом, оценка параметров МПС. Расчет аппаратных затрат, потребляемой мощности.

    курсовая работа [1,2 M], добавлен 28.12.2012

  • Рассмотрение аппаратных принципов построения устройств микропроцессорной техники и их программного обеспечения. Структурная схема микропроцессора К1821ВМ85А. Карта распределения адресного пространства памяти. Расчет потребляемой устройством мощности.

    курсовая работа [2,4 M], добавлен 26.11.2012

  • Общее описание микропроцессорной системы: генератор тактовых импульсов, системный контроллер, шинный формирователь шины адреса, оперативное запоминающее устройство. Синтез электрической принципиальной схемы. Карта распределения адресного пространства.

    курсовая работа [1,2 M], добавлен 13.10.2013

  • Разработка микропроцессорной системы управления объектом, который задан видом и количеством данных поступающих с объекта, потребным ресурсом для обработки данных, видом и количеством управляющих сигналов. Алгоритм передачи через последовательный порт.

    курсовая работа [978,9 K], добавлен 31.05.2019

  • Описание работы однополярного аналого-цифрового преобразователя. Расчет эмиттерного повторителя и проектирование схемы высокочастотного аналого-цифрового преобразователя. Разработка печатной платы устройства, технология её монтажа и проверка надежности.

    курсовая работа [761,6 K], добавлен 27.06.2014

  • Проект структурной схемы микропроцессорной системы управления. Блок-схема алгоритма работы МПС; создание программы, обеспечивающей его выполнение. Распределение области памяти под оперативное и постоянное запоминающие устройства. Оценка ёмкости ПЗУ и ОЗУ.

    курсовая работа [467,9 K], добавлен 21.05.2015

  • Разработка адаптера аналого-цифрового преобразователя и активного фильтра низких частот. Дискретизация, квантование, кодирование как процессы преобразования сигналов для микропроцессорной секции. Алгоритм работы устройства и его электрическая схема.

    реферат [847,2 K], добавлен 29.01.2011

  • Изучение устройства связи с датчиком и исполнительными механизмами, разработка блока памяти объёмом 80 кб. Характеристика программ, обеспечивающих выполнение заданного алгоритма и алгоритма обмена. Оценка микропроцессорной системы по аппаратным затратам.

    практическая работа [154,1 K], добавлен 14.11.2011

  • Разработка структурной схемы канала сбора аналоговых данных. Технические требования к функциональным узлам микропроцессорной системы. Расчет параметров согласующего усилителя, фильтра низких частот, функционального преобразователя и управляющего тракта.

    курсовая работа [334,9 K], добавлен 16.04.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.