Проектирование микропроцессорной системы. Курсовая работа (т). Информатика, ВТ, телекоммуникации.

Проектирование микропроцессорной системы. Курсовая работа (т). Информатика, ВТ, телекоммуникации.




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻



























































Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Проектирование микропроцессорной системы

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

МИНИСТЕРСТВО
ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ


ГОМЕЛЬСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО


Факультет
автоматизированных и информационных систем


по
дисциплине « Микропроцессорная техника »




на
тему « Проектирование микропроцессорной
системы »






Классический метод наблюдения за длительными
процессами - применение самопишущих приборов, которые регистрируют измеряемую
величину на каком-либо носителе (обычно на бумажной координатной ленте).
Альтернативой такому подходу является применение цифровых систем сбора данных
на базе микропроцессоров или однокристальных микро ЭВМ для контроля и записи
(хранения) измеряемой величины.


При втором подходе в микроконтроллере измеряемый
сигнал преобразуется в цифровую форму, затем обрабатывается и записывается в
запоминающее устройство. Основные достоинства такой системы:


· 
резкое
сокращение расходных материалов (например, чернил и бумаги),


· 
уменьшение
массогабаритных показателей,


· 
возможность
наблюдения большого числа сигналов одним многоканальным микроконтроллером,


· 
отсутствие
в микроконтроллере подвижных механических частей,


· 
почти
неограниченные возможности по обработке измеряемого сигнала (например,
допусковый контроль предельных значений, ведение статистики, определение
динамических параметров сигнала, уплотнение и ‘упаковка’ сигнала для передачи
его по каналу связи с недостаточной пропускной способностью и т. д.),


· 
возможность
полной автоматизации процесса измерений.


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


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


1.      
Разработка структурной схемы МКС




Аналоговый коммутатор: микросхема КР590КН3 для ввода цифровых и аналоговых сигналов. Она
является коммутатором (аналоговым мультиплексором) аналоговых входных сигналов U1-U3. Переключение входных каналов
коммутатора выполняется цифровыми сигналами уровней ТТЛ, подаваемых на адресные
входы А1 и А0. МК выдает адрес для выбора канала
коммутатора, а также сигнал для запуска АЦП.


АЦП :
аналогово-цифровой преобразователь К572 ПВ3; необходим, чтобы преобразовать
аналоговые показания с датчиков в понятный микроконтроллеру вид (в двоичный
код). Микросхема представляет собой 8-разрядный АЦП последовательного
приближения, выполненный по технологии КМОП.


Микроконтроллер:
микроконтроллер AT89C51,
который производит обработку получаемой информации, вычисляет необходимые
функции f() и g(),
пересылает при необходимости информацию на ПК, выводит данные на семисегментные
дисплеи. МК имеет 2 таймера: Т/С0 и Т/С1. Таймер Т/С0
используется для отсчета времени Топр, а таймер Т/С1 используется для задания
требуемой скорости обмена 9600 бит/с по интерфейсу ИРПС.


Интерфейс:
интерфейс ИРПС, через который происходит передача информации с микроконтроллера
в центральный компьютер.


Пульт оператора:
включает в себя дисплей на семисегментных индикаторах, на которых отображаются
значения Uх в десятичном
коде; светодиоды, отображающие значения X1,X2,X3,X4,X5,Y1,Y2,Y3,
переключатель для выбора аналоговых каналов; переключатель режима работы МКС;
кнопку “Сброс”, при нажатии на которую производится сброс МК.


ФС :
формирователи одиночных импульсов с усилением по току для управления каким-либо
объектом.


Модуль сопряжения :
служит для преобразования сигналов последовательного интерфейса TxD
(передаваемые данные) и RxD
(принимаемые данные) вырабатываемых последовательным портом (УАПП)
микроконтроллера в сигналы интерфейса ИРПС.


2.      
Разработка принципиальной схемы МКС


2.1
Схема подключения микроконтроллера




Для работы микроконтроллеров семейства MCS-51
необходимо присоединить времязадающую цепь для работы внутреннего тактового
генератора, обеспечить сброс при включении
электропитания, подключить память программ (внутреннюю или внешнюю).


На рис. 3.1 приведена типовая схема
подключения микроконтроллера AT89C51. Его технические характеристики:


• 4 кБайта
встроенной программируемой памяти (до 1000 циклов записи\ перезаписи)


• рабочий
диапахон частот от 0 до 24 МГц


• 128 x
8-bit внутренних ячеек памяти


Для обеспечения
генерации тактовой частоты к выводам XTAL1 и XTAL2 подключен
кварцевый резонатор ZQ1. Частота
резонатора выбирается
из условия =
и в нашем случае равна 18 МГц .


Конденсаторы С2,С3
служат для облегчения запуска внутреннего генератора. Цепочка С1,R9 обеспечивает сброс МК при подаче электропитания. По [2] выбираем
конденсаторы:




С помощью кнопки SB1, расположенной на
пульте управления, сброс МК может выполнить оператор в любой момент времени. На
вывод EA подан высокий уровень, что разрешает работу внутренней памяти
программ. Конденсатор С4 служит для фильтрации высокочастотных помех,
возникающих на выводах источника питания при работе микросхемы.


К выводам порта Р0 присоединены
“подтягивающие” резисторы R1-R8, которые обеспечивают ток для входов микросхем ТТЛ, подключенных
к этому порту, при высоком логическом уровне, когда все линии Р0 находятся в z-состоянии. Порты Р1,Р2,Р3 имеют
внутренние “подтягивающие” резисторы.


По справочнику [2]
выберем резисторы:


По [6] выберем
кварцевый резонатор ZQ1:
HC-49/U_180




Рис.
3.1. Схема подключения микроконтроллера с внутренней памятью программ.





2.2
Схема ввода цифровых и аналоговых сигналов




В качестве АЦП используется схема К572ПВ3. Микросхема
представляет собой 8-разрядный АЦП последовательного приближения, выполненный
по технологии КМОП. Конденсатор С1 и резистор R1
задают частоту генератора.




Рис.3.2.1
Схема включения АЦП К572ПВ3




· 
длина
цифрового слова (число разрядов) на выходе АЦП равно длине слова 8-разрядных
микропроцессоров, наиболее широко применяемых на практике;


· 
управление
его работой осуществляется непосредственно сигналами от микропроцессора с
минимальными аппаратными и программными затратами;


· 
временные
характеристики АЦП хорошо согласуются с временными характеристиками 8-разрядных
микропроцессоров;


· 
цифровые
выходы АЦП допускают прямое подключение ко входам портов и к шине данных
микропроцессорной системы.


Условное графическое обозначение АЦП К572ПВ3
приведено на рис.3.2.2




Рис.
3.2.2 Условное обозначение БИС К572ПВ3




-4, 15-18 -
цифровые выходы, 4 - (МЗР), 15 - (СЗР);


- ( GD ) - цифровая
общая шина (цифровая земля);


- ( ) - напряжение
источника питания;


- ( BOFS ) - вход
смещения характеристики;


- ( GA ) -
аналоговая общая шина (аналоговая земля).


Напряжение источника питания ……………………..……….5
В


Ток потребления …………………………………
….. ……….4 mA


Нелинейность ………………………………………...±0.5 ед. МЗР


Дифференциальная нелинейность ……………..…±0.75 ед. МЗР


Абсолютная погрешность
преобразования в конечной точке шкалы ±4ед.МЗР


Время
преобразования…………………………………………7.5 мкс


Опорное напряжение …………………….......................-10В


Число разрядов………………………………………………………8


Помимо времени преобразования БИС
характеризуется и другими динамическими показателями: временем установления АЦП
в начальное состояние (2 мкс), временем задержки считывания данных (120 нс),
временем задержки сброса данных (80 нс) (в скобках указаны типовые значения
перечисленных показателей).




Состояние выходов АЦП К572ПВ3 в различных
режимах работы


Статическая
память с произвольной выборкой (СОЗУ)

Начало
преобразования Считывание данных Сброс Отсутствие выборки Промежуточ.
преобраз-я То же Запрещенное

Считывание
данных Сброс, начало преобраз-я Промежуточ. преобраз-я Запрещенное

Отсутствие
выборки Начало преобразования Преобразование Считывание данных Сброс
Отсутствие выборки

На рис. 3.2.3 приведена функциональная схема
ввода цифровых и аналоговых сигналов. Микросхема DA1
КР590КН3 является коммутатором аналоговых входных сигналов U1-U3.
Переключение входных каналов коммутатора выполняется цифровыми сигналами
уровней ТТЛ, подаваемых на адресные входы А1 и А0. Таблица истинности
коммутатора имеет вид:






Рис.
3.2.3 Схема ввода цифровых и аналоговых.




Операционный усилитель DA2
включен по схеме повторителя и служит для устранения влияния низкоомного входа
АЦП на коммутатор.


Выход состояния аналоговой обработки цифровые входные
сигналы Х1-Х5 подаются на входы DD3.
Выходы регистров DD2
и DD3 соединены с
выводами порта Р0 МК. Управление выходными буферами регистров осуществляется от
линий Р3.3 и Р3.4. При Р3.3=1, Р3.4=1 выходы регистров DD2,
DD3 находятся в z-состоянии
и они отключены от выводов порта Р0. Переключение каналов коммутатора
производят сигналы с линий Р1.6, Р1.7 микроконтроллера.


В проектируемой МКС имеются 3
управляющих сигнала Y1, Y2, Y3. Эти сигналы представляют собой одиночные импульсы ТТЛ -
уровней, поступающие на исполнительные устройства МКС. Управляющие сигналы
снимаются с портов МК. Однако следует учитывать, что нагрузочная способность
портов P1, P2, P3 мала. Емкость нагрузки не должна превышать 150 пФ. Для
увеличения нагрузочной способности линий портов МК следует использовать
усилительные элементы. Это обычно микросхемы, имеющие выходы с открытым
коллектором.


На рис. 3.3.1 приведена схема
формирования управляющих сигналов МКС. В ней используется инвертор К155ЛН3. При
сигнале на входе уровня логической 1 на выходе будет логический 0, т. е. такая
схема требует инверсных входных сигналов для управления. По
справочнику [2] выбираем резисторы R1-R3:
МЛТ- 0.125 - 200 Ом ±5%;





Рис.
3.3.1 Схема вывода управляющего сигнала Y1.




Рис. 3.3.2 Условное
графическое обозначение К155ЛН3




2.4 Схема подключения
светодиодных индикаторов




В проектируемой МКС на пульте
управления имеются светодиоды для индикации значений входных сигналов X1, X2, X3, X4, X5 и управляющих Y1, Y2, Y3. На рис. 3.4 приведена схема
подключения светодиодов индикации. Если С = 1, то триггеры регистра
“прозрачны”, и их выходы повторяют сигналы на входах. При С = 0 триггеры
“защелкиваются”, т. е. запоминают состояния входов в этот момент. После этого
сигналы на входах регистра DD5 могут иметь произвольное значение. Это обстоятельство позволяет
использовать порт Р0 для выполнения других функций, например, для ввода данных
из АЦП.


Регистр КР1533ИР33 имеет
довольно мощные выходы: ток низкого логического уровня 20
мА, а ток высокого уровня 100
мкА. Поэтому можно непосредственно управлять светодиодами без использования
инверторов, но на входы регистра необходимо подавать также сигналы низкого
уровня, т.е. логические 0.




Рис.
3.4. Схема подключения светодиодов индикации




По справочнику [3] выбираем диоды VD1-VD8:
АЛ307Б




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




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


На рис. 3.5.1 приведена схема подключения
четырехразрядного дисплея на семисегментных светодиодных индикаторах при
статическом управлении. Дисплей предназначен для отображения только десятичных
цифр. Для отображения информации будем использовать программную перекодировку.
Индикатор HG1 отображает
младшую десятичную цифру, а HG4
- старшую. Коды для индикаторов HG1
и HG4 непосредственно
снимаются с порта P0, а порт P2
управляет открытием и закрытие буферных регистров. . Однако для работы
элементов индикации нужно на входы регистров DD5
- DD9 подавать
инверсные значения данных с порта P0
микроконтроллера для их отображения на VD1
- VD8 и HG1
- HG4.


По справочнику [2] выбираем резисторы:




По справочнику [7] выбираем индикаторы:




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


На рис. 3.5.2 приведена схема
подключения кодирующей клавиатуры, состоящей из переключателей с фиксацией, к
порту МК. Переключатели SA1-SA3 служат для выбора аналоговых сигналов U1-U3, а переключатель (тумблер) SA4- для выбора режима
работы МКС: “Работа-Пульт”. Особенностью переключателей SA1-SA3 является то, что они
взаимозависимы, т.е. в любой момент времени может быть замкнут только один из
них. Для подключения используем дополнительный регистр.


микропроцессор
управление программный микроконтроллер





Рис.3.5.1
Схема подключения индикаторов при использовании программной перекодировки




Рис. 3.5.2 Схема подключения
переключателей к регистру





По
справочнику [2] выбираем резисторы R1-R4:


2.6 Схема сопряжения с последовательным интерфейсом




Разрабатываемая микроконтроллерная
система должна иметь связь с внешним удаленным компьютером через
последовательный интерфейс ИРПС. По запросу внешнего компьютера МК должен
передавать данные о сигналах X1-Y3 и коды аналоговых сигналов U1-U3, получаемых с помощью АЦП. Обычно
для связи МКС с внешним компьютером используют программный метод управления
передачей, так как это позволяет уменьшить число линий связи. В этом случае
интерфейс должен обеспечить двустороннюю передачу, т.е. от компьютера к МК
(запрос) и от МК к компьютеру (передача данных).


При сопряжении МК со стандартным
последовательным интерфейсом необходимо решить следующие проблемы:


·       согласование
уровней сигналов интерфейса с уровнями ТТЛ МК;


·       поддержание
стандартной скорости приемо-передачи;


·       поддержание
стандартных форматов посылки;


·       поддержание
стандартных протоколов обмена;


На рис. 3.6 приведена схема сопряжения с
интерфейсом ИРПС (токовая петля 20 мА). Принимаемые данные (импульсы тока 20 мА
в цепи +ПрД/-ПрД) преобразуются в уровни ТТЛ с помощью оптрона V1
и инвертора DD1. Оптрон
также обеспечивает гальваническую развязку передатчика (компьютера) и приемника
(МК). Передаваемые данные (импульсы тока 20 мА в цепи +ПД/-ПД) образуются из
уровня ТТЛ с помощью инвертора DD2
и оптрона V2, который также
обеспечивает гальваническую развязку передатчика (МК) и приемника (компьютера).
Схема требует дополнительный источник питания Uп1
напряжением 12 В, гальванически не связанный с источником +5В питания МК.


Рис.3.6.
Схема сопряжения МК с интерфейсом ИРПС.




По справочнику [2] выбираем резисторы:




Инверторы возьмем
со схемы К155ЛН3 из пункта 3.3.


3.      
Разработка
программного обеспечения работы МКС


Алгоритм работы МКС приведен на рис. 4.1. По
нему составим блок-схему алгоритма (БСА) главной программы работы МКС, которая
будет иметь символическое имя CONTROL.
Из нее видно, что главная программа состоит из нескольких подпрограмм, которые
вызываются по мере надобности. Такое построение упрощает структуру программы,
делает ее более наглядной. Кроме того, использование подпрограмм упрощает
разработку и отладку всей программы работы МКС.


Текст главной
программы на языке Ассемблера для МК51 имеет следующий вид:


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


; CONTROL
- главная программа работы МКС


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


DATA_W:
EQU 30H
; Начальный адрес массива в ПД для


ORG
0000H ; Начальный адрес
программы


CONTROL:
JMP MAIN
; Переход на основную программу


ORG
000BH ; Вектор
прерывания от Т/С0      


CALL
TIMER ; Подпрограмма
отсчета времени Топр


ORG
0023H ; Вектор
прерывания от УАПП


CALL
TRANSMIT ; Подпрограмма
передачи данных в


MAIN:       
MOV SP,
#70H ; Определить стек


CALL
INIT ; Подпрограмма
инициализации МКС


AGAIN:     
CALL DIGIT
; Подпрограмма ввода и обработки


CALL
ANALOG ; Подпрограмма
ввода и обработки


SETB
ES ; Разрешить
прерывание от УАПП


SETB
PS ; Присвоить
прерыванию от УАПП


; Опрос состояния
переключателя SA4
“Работа/Пульт”


MOV
P0, #0FFH
; Настроить порт P0 на ввод


CLR
P3.5 ; Открыть
выходные буферы DD4


MOV
A,P0 ; Ввод
из
P0P3.5 ; Закрыть буферы
DD4ACC.7, COUNT ; Переход,
если
SA4 разомкнут
(Работа)
PULT ; Подпрограмма
обслуживания пульта


COUNT:    
JNB F0,
COUNT ; Цикл отсчета
времени Tопр = 0,55с


CLR
F0 ; Сбросить флаг
окончания счета Tопр


CLR
ES ; Запретить
прерывания от УАПП


В программе определен массив ячеек памяти данных
МК с начальным символическим адресом DATA_W
для хранения кодов с выхода АЦП. Так как входных переменных 3 и используется
8-разрядный АЦП, то массив будет иметь 3 ячейки. В памяти программ, начиная с
адреса 0030H, размещаются
двухбайтные константы, которые будут использоваться при вычислениях функций.
Значения констант условно обозначено XXXXH.
Константы занимают в памяти две ячейки, например, по адресу ADR_K1
размещается младший байт (МлБ), а по следующему адресу ADR_K1+1
- старший байт (СтБ) константы. В главной программе используются 2 прерывания:
от таймера Т/С0 и от УАПП. Флаг F0
используется для индикации окончания отсчета времени опроса Топр. Он
устанавливается, когда истечет время Tопр
= 0,55 с.


Подпрограмма INIT
используется для инициализации МКС после включения электропитания. При сбросе
МК все порты настраиваются на ввод, т.е. на их выводах будут высокие уровни
(логические 1). Поэтому необходимо вывести P1.0
= P1.1 = P1.2
= 0 для установки начальных значений управляющих сигналов Y1
= Y2 = Y3
= 0. Необходимо также вывести нули в порт P0
для гашения светодиодов индикации VD1-
VD8, так как после
включения электропитания на выходах регистра DD5
могут быть случайные значения. Индикаторы дисплея HG1
- HG4 также будут
погашены нулями из порта P0.



В подпрограмме инициализации необходимо
настроить УАПП и таймеры Т/C0,
T/C1
на заданные режимы работы. Для двустороннего обмена по интерфейсу ИРПС выбираем
для УАПП режим 1. При использовании режима 1 передается через вывод P3.1
(TxD) или принимается
из P3.0 (RxD)
10 бит информации: старт-бит (логический 0), 8 бит
данных и стоп-бит (логическая 1). Скорость приемо/передачи - величина
переменная и задается таймером T/C1.



Управляющее слово, которое следует загрузить в
регистр SCON, будет 52H
.





Рис.
4.1 Блок-схема алгоритма работы МКС




Скорость обмена УАПП задает таймер T/C1,
который должен работать в режиме 2. Управляющее слово, которое нужно загрузить
в регистр TMOD, будет 20H.
Для получения заданной скорости обмена в регистр TH1
таймера T/С1 необходимо
загрузить число, которое вычисляется из соотношения:




При SMOD = 0, = 18 МГц и = 9600
бит/с получаем из формулы число FBH.


Для отсчета времени Топр будем
использовать таймер T/С0 в 1-м режиме работы. Управляющее
слово для этого режима равно 01H. Время машинного цикла связано с
тактовой частотой работы МК
соотношением:




В 1-м режиме таймер - это 16-разрядный счетчик,
который считает от 0 до 65535. Максимальное
время задержки будет 65536* 0,67 мкс=43910 мкс, что значительно меньше
требуемой 0,55с. Поэтому на таймере T/C0
реализуем задержку на 25 мс, а в регистре общего назначения (РОН) будем накапливать
количество переполнений таймера с целью получения требуемой задержки в 0,55с.
Для получения задержки 25 мс в регистры таймера TH0,TL0
первоначально необходимо загрузить число 43910 - 25000 = 18910 = DE49H.
Количество переполнений таймера для отсчета времени 0,75 с будет:
750 мс / 25 мс = 22. Для счета переполнений будем использовать регистр R0
1-го банка РОН.


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


; INIT
- подпрограмма инициализации МКС


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


INIT:
         ANL
P1, #11111000B
; Вывести Y1 = Y2
= Y3 = 0


MOV
P0, #0        ;
Вывести нули в порт P0 (погасить


ANL
P2,#11100000       
; Закрыть триггеры регистров DD5-DD9



MOV
SCON, #52H
; Режим 1 для УАПП, двусторонний


MOV
TH1, #0FBH
; Загрузить TH1 для
скорости


MOV
TH0, #0DEH
; Загрузить регистры T/С0


MOV
TL0, #49H
; для отсчета задержки 40 мс


MOV
08H, #0 ; Очистка
регистра R0 в 1-м банке P0H



SETB
EA ; Общее разрешение
прерываний


SETB
ET0 ; Разрешить
прерывание от T/С0


Подпрограмма TIMER
является обработчиком прерывания при переполнении таймера T/C0.
Эта подпрограмма производит отсчет времени опроса Топр. При каждом вызове
подпрограммы вследствие переполнения таймера (истекло 25 мс) инкрементируется
регистр R0 в 1-м банке РОН.
Если содержимое R0 станет
равным 22, то это означает, что истекло время Топр = 0,55 с. После окончания
отсчета времени 0,55 с подпрограмма TIMER
устанавливает флаг F0 = 1, что
является сигналом для главной программы CONTROL
начать новый цикл опроса датчиков и выполнения других функций управления.


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


;TIMER
- подпрограмма отсчета времени Tопр
= 0,55 с


; Выходной
параметр: F0 - флаг окончания
отсчета времени


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


TIMER:     
CLR TR0          ;
Остановить T/С0


SETB
RS0          ;
Перейти в 1-й банк P0H


CJNE
R0, #22,EXIT     ;
Переход, если (R0)<22


SETB
F0    ; Установить
флаг F0 окончания cчета
0,55 c


EXIT:         
MOV TH0,
#0DEH     ;
Перезагрузить T/С0


CLR
RS0            ;
Перейти в 0-й банк P0H


Подпрограмма DIGIT
выполняет обработку цифровых сигналов X1,X2,X3
X4,X5
поступающих в МКС от датчиков. Ввод цифровых сигналов осуществляется через
регистр DD3. Перед
вводом данных из DD3
необходимо настроить порт P0
МК на ввод, а затем открыть выходные буферы DD3
подачей на управляющий вход OE
низкого уровня с линии P3.4
порта МК. После ввода данных в аккумулятор МК надо вновь закрыть выходные
буферы DD3.


Ячейка ПД с адресом 24H
используется в программе для хранения значений входных сигналов X1,X2,X3,X4,X5,
а также для запоминания результата вычисления логической функции f()
- управляющего сигнала Y1.
Выбор этого адреса обусловлен тем, что эта ячейка, как и другие с адресами от
20H до 2FH,
допускают обращение к отдельным битам с помощью команд SETB
bit и CLR
bit, что упрощает
программирование. После выполнения подпрограммы DIGIT
в ячейке 24H будет:






Для формирования одиночного управляющего
импульса Y1 длительностью t1
= 76 мкс используется подпрограмма задержки DEL76MKS,
текст которой будет приведен ниже.


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


; DIGIT
- подпрограмма ввода и обработки цифровой информации


; Используется
ячейка ПД с адресом 24H
для хранения значений


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


DIGIT:       
MOV P0,
#0FFH         ;
Настроить P0 на ввод


CLR
P3.4            ;
Открыть выходные буферы DD3


SETB
P3.4          ;
Закрыть буферы DD3


ANL
A, #11111000B
; Обнулить 3 бита аккумулятора


MOV
24H, A                ;
Переслать аккумулятор в ячейку 24H


ANL C, 24H.4
    ; C ß C, /24H.5        ;
C ß C, 24H.0 ; C ß f( ) =


MOV 24H.2, C    ;
Переслать результат в 24H.2 ß f( )


JNC EXIT  ;
Переход, если С = f( ) = 0


CALL DEL76MKS ;
Подпрограмма задержки на 76мкс


CLR P1.0            
; Вывести
Y1=0: RET


Подпрограмма ANALOG
выполняет ввод и обработку аналоговой информации - напряжений U1,U2,
и U3, поступающих в
МКС от датчиков. Первый блок БСА - это подпрограмма OPROS,
которая производит ввод аналоговых сигналов U1
- U3, их
преобразование в цифровые коды W1
- W3 и размещение в
памяти данных МК. В результате выполнения подпрограммы OPROS
в ПД в ячейках с адресами 30H
- 37H будет следующая
информация:






Здесь обозначено: x
- произвольное значение (0 или 1).


Сначала производится нахождение g()=3*W1-K1+(W2+W3)/W4


Для выполнения арифметических операций умножения
и деления используется подпрограммы:






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

;
---------------------------- M16_8 ---------------------------------------------------------

;
Подпрограмма умножения целых двоичных чисел без знака; формата 16´8=24.
; Входные параметры: (R4,R3) - СТБ,МЛБ множимого, (R2) - множитель. ;
Выходные параметры: (R5,R4,R3)
- СТБ,СРБ,МЛБ произведения.

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

;
--------------------------------- D16_8
---------------------------------------------

;
Подпрограмма деления целых двоичных чисел без знака ; формата 16:8=(8,8). ;
Входные параметры: (R4,R3) - СТБ,МЛБ делимого, (R2) - делитель. ; Выходные
параметры: (R3) - частное, (R4) - остаток.

 ;
Сдвиг влево остатка и частного в R4,R3

 ;
Разность < 0, восстановление остатка

;
Переполнение остатка, разряд частного = 1

При выполнении операции умножения кода АЦП на
постоянный коэффициент, например, 9*W1,
будем использовать подпрограмму M16_8
- умножения двухбайтного числа на однобайтное. В общем случае результат
(произведение) должен быть трехбайтным двоичным числом, которое размещается в
регистрах R5, R4
и R3. Но так как у нас
умножается однобайтное число, то входным и выходным параметром будет R3
и R4.


В блоке 3 БСА полученное значение функции g()
сравнивается с двухбайтной константой Q,
хранящейся в памяти программ по символическому адресу ADR_Q.
Сравнение можно выполнить с помощью программы вычитания двухбайтных целых чисел
g() - Q.
Результат сравнения определяется значением флага переноса C
микроконтроллера после вычитания старших байтов. Если C=1,
то g() < Q.
Если же С=0, то g() >=Q.
В блоке 4 подпрограммы ANALOG
производится анализ флага C,
и в зависимости от его значения формируются одиночные импульсы Y1
или Y2 длительностью t1
и t2 на выводах P1.1
и P1.2 порта МК.
Подпрограммы задержек DEL15MS
на 15 мс и DEL45MS
на 45 мс будут приведены ниже. После выполнения подпрограммы ANALOG
в ячейке с адресом 24H
будет




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


; ANALOG
- подпрограмма ввода и обработки аналоговой информации


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


ANALOG: 
CALL OPROS  
; Подпрограмма ввода аналоговых


;их в коды W1-W5
и запоминания в массиве DATA_W


MOV R3,DATA_W ; Переслать
в регистр R3 младший


; байт (МлБ) кода W1 (МлБ
множимого)


MOV R4, #00H ; Переслать
в регистр R4 старший


; байт (СтБ) - нули ( СтБ множимого)


CALL M16_8               
; Подпрограмма умножения,


; результат: R4-СтБ, R3-МлБ
произведения


MOV DPTR, #ADR_K1 ; Адрес МлБ
константы K1


MOVC A, @A+DPTR ; В
аккумуляторе - МлБ константы K1


MOV R6, A         ;
В регистре R6 - МлБ
константы K1


MOVC A, @A+DPTR ; В
аккумуляторе - СтБ константы K1


MOV R7, A         ;
В регистре R7 - СтБ
константы K1


SUBB A, R6        ;
Вычитание младших байтов


MOV 25H, A      ;
МлБ разностиA,
R7 A, R4 ;
Вычитание старших байтов


MOV R3,DATA_W+1 ;
Переслать в регистр R3 байт кода W2


MOV A,DATA_W+2 ;
Переслать в аккумулятор байт кода W3


CALL D16_8                
; Подпрограмма деления


; результат - (R3) - частное, (R4) -
остаток.


MOV A, 25H ; в
аккумуляторе МлБ 3*W1-K1


MOV A, 26H       ; в
аккумуляторе СтБ 3*W1-K1


MOV DPTR, #ADR_Q ; Адрес МлБ константы Q


MOV R6, A         ;
В регистре R6 - МлБ
константы Q


MOV A,#1A,
@A+DPTR
R7, A ; В
регистре R7 - СтБ
константы Q


SUBB A, R6        ;
Вычитание младших байтов


SUBB A, R7 ; Вычитание
старших байтов


JC FORM_Y2     ;
Переход, если меньше (С=1)


SETB 24H.0 ;
Запомнить Y3=1 в ячейке
24H


CALL DEL45MS ;
Подпрограмма задержки на 45 мс


CLR P1.2   
; Вывести
Y3=0_Y2: SETB  P1.1           ; Вывести Y2=1 24H.1 ;
Запомнить Y2=1 в ячейке
24H


CALL DEL15MS ;
Подпрограмма задержки на 15 мс


Подпрограмма OPROS
производит переключение аналоговых каналов коммутатора DA1,
обслуживание АЦП и размещение в ПД в массиве DATA_W
кодов W1,W2,W3.
Она использует подпрограмму ADCONV
- аналого-цифрового преобразования.


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


;OPROS
- подпрограмма ввода аналоговых сигналов U1-U3.


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


OPROS:    
MOV R0,
#DATA_W ;
Начальный адрес массива


MOV
R2, #00111111B
; Регистр R2 - код для выбора


MOV
P1, R2
; Вывод в P1 - выбор канала
коммутатора


CALL
ADCONV ; Подпрограмма
АЦ-преобразования,


MOV
@R0, A     
; Пересылка кода АЦП в ПД


MOV
R2, #01111111B
; Регистр R2 - код для выбора


MOV
P1, R2
; Вывод в P1 - выбор канала
коммутатора


CALL
ADCONV ; Подпрограмма
АЦ-преобр
Похожие работы на - Проектирование микропроцессорной системы Курсовая работа (т). Информатика, ВТ, телекоммуникации.
Какие События Способны Существенно Изменить Человека Сочинение
Реферат На Тему Русское Искусство Конца Xix - Начала Xx Века
Реферат На Тему Черты Характера И Ценности Ориентации
Сочинение Успешный Телеведущий Иван Ургант
Курсовая работа по теме Разработка измерительной системы уровня и концентрации жидкости
Реферат На Тему Душистые Вещества
Короткое Эссе О Инновациях В Логопедии
Декабрьское Сочинение Аргументы По Темам
Реферат по теме Дееспособность несовершеннолетних
Сочинение Поздравление Учителю На День Учителя
Реферат На Тему Северно Ледовитый Океан
Реферат На Тему Загрязнение Гидросферы
Курсовая работа по теме Универсально-заточный станок
Мдк Практические Работы
Дипломная работа по теме Альтернативная водородная энергетика как элемент школьного раздела химии: "Физико-химические свойства водорода"
Реферат: Literary Critique Of A Modest Proposal Essay
Курсовая Работа На Тему Правовые Отношения, Регулируемые Семейным Кодексом Российской Федерации
Реферат: Научно-исследовательская работа студентов и пути ее совершенствования
Пример Отчета По Переводческой Практике
Сочинение По Произведению Садко 7 Класс
Реферат: «A Farewell to Arms»
Похожие работы на - Педагогическое конструирование урока с учетом валеологии
Похожие работы на - Безналичный расчет

Report Page