Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА
И ПРОДОВОЛЬСТВИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ
АГРАРНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра автоматизированных систем
управления производством
ИЗУЧЕНИЕ МИКРОПРОЦЕССОРНЫХ
КОНТРОЛЛЕРОВ И РЕГУЛИРУЮЩИХ БЛОКОВ
Методические указания
к лабораторным работам по дисциплине
«Автоматика и электроника» для студентов специальности
1-74 06 05 «Энергетическое обеспечение сельского хозяйства (по направлениям)»
Минск
БГАТУ
2009
УДК 681.5(07)
ББК 32.965я7
М 74
Рекомендовано научно-методическим советом агроэнергетического факультета БГАТУ
Протокол № от 10 декабря 2009 г.
Составители:
канд. техн. наук О.Ч. Ролич;
ассистент А.Г. Сеньков
Рецензенты:
канд. техн. наук, старший инженер Республиканского центра топочно-горелочных устройств и защиты атмосферы РУП БЕЛТЭИ
В.Г. Пирогов
канд. техн. наук, доцент кафедры вычислительной техники БГАТУ
Н.В. Исаеня
© БГАТУ, 2009
Содержание
СПИСОК ПРИНЯТЫХ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ…………………………………………. |
4 |
ВВЕДЕНИЕ. ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ АВТОМАТИКИ………………. |
5 |
Лабораторная работа № 1. ИМПУЛЬСНОЕ УПРАВЛЕНИЕ ИСПОЛНИТЕЛЬНЫМИ УСТРОЙСТВАМИ…………………………………… |
20 |
Лабораторная работа № 2. ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ ДАТЧИКОВ СИСТЕМ АВТОМАТИКИ………………………………... |
45 |
Лабораторная работа № 3. ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ В СИСТЕМАХ АВТОМАТИКИ…………………………………………… |
60 |
ЛИТЕРАТУРА…………………………………………….. |
68 |
СПИСОК ПРИНЯТЫХ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
АЦП аналого-цифровой преобразователь
Д дифференциальный
ЖКД жидкокристаллический дисплей
ЖКИ жидкокристаллический индикатор
ИК инфракрасный
ОЗУ оперативное запоминающее устройство
П пропорциональный
ПДУ пульт дистанционного управления
ПИД пропорционально-интегрально-дифференциальный
ПЗУ постоянное запоминающее устройство
РОН регистр общего назначения
РСФ регистр специальных функций
ЦАП цифро-аналоговый преобразователь
ШИМ широтно-импульсная модуляция
ВВЕДЕНИЕ.
ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ АВТОМАТИКИ
Современные системы автоматики являются цифровыми, строятся по архитектуре фон-Неймана и включают блоки ввода (например, клавиатуру, инфракрасный приёмник сигналов телевизионного ПДУ, GSM-модуль), отображения (светодиодный или ЖК дисплей) информации и память (ПЗУ и ОЗУ), управляемые микроконтроллерами программируемыми устройствами с процессорным ядром. Микроконтроллер функционирует в соответствии с заложенной в него программой. Одним из основных языков программирования микроконтроллеров является Ассемблер.
Алфавит и лексические основы Ассемблера.
Алфавит Ассемблера состоит из латинских букв (при этом строчные и прописные символы являются эквивалентными), цифр от 0 до 9, специальных знаков: @ # $ / _ и разделителей . , : ; + пробел табуляция.
Из символов алфавита формируются языковые лексемы: идентификаторы, ключевые (служебные) слова (команды), константы, знаки операций.
Идентификатор представляет собой набор букв, цифр и символов _ $ @, не начинающийся с цифры. Он должен полностью размещаться в одной строке текста. Идентификаторы отделяются пробелом, табуляцией или разделителем, которым является любой недопустимый в идентификаторе символ. Идентификаторами представляются метки, имена переменных, а также имена других объектов программы.
Идентификаторы, имеющие предопределённый смысл и используемые только в соответствии с ним, называются ключевыми словами. К ним относятся директивы Ассемблера, команды, имена регистров, операции выражений.
Константой (литералом) является лексема, изображающая фиксированное числовое или символьное (литерное) значение и определяется в Ассемблере директивой EQU в начале программы либо с помощью символа ' # ' непосредственно в команде. В Ассемблере используются только целые константы в десятичном (#54), двоичном (#01101001b) или шестнадцатеричном (#0FAh) видах. При этом сама константа (кроме десятичной) должна заканчиваться идентификатором системы счисления: b для двоичной, h для шестнадцатеричной. Если шестнадцатеричная константа начинается не с цифры, впереди необходимо дописывать 0. Символьная константа заключается в апострофы: 'А', '1', '*'. Каждой символьной константе ставится в соответствие числовое значение её внутренний код, например символу '0' сопоставляется внутренний код 30h, символу '1' 31h, символу '2' 32h, символу 'A' 41h, символу 'В' 42h и т.д.
Команды Ассемблера ядра 8051. Команды Ассемблера являются сокращением (обозначением, мнемокодом или аббревиатурой) основных арифметических и логических операций, и их комбинаций, представленных в англоязычном варианте. Множество всех команд для ядра 8051 отображается в виде определённой таблицы, где каждой команде соответствует шестнадцатеричный машинный код (код операции).
Машинный код является основой функционирования микропроцессорных систем. Процессор, покомандно выполняя программу, сначала дешифирирует код команды. В зависимости от кода команды считываются дополнительные, следующие за ним аргументы (значения констант или адресов), а затем полностью выполняется сама команда. После этого процессор переходит к очередной операции.
Таким образом, каждая команда имеет собственный адрес в памяти программ, а её размер зависит от количества и типа операндов. По количеству операндов команды делятся на безоперандовые, унарные, бинарные, тетрарные.
Безоперандовые команды занимают в памяти один байт. К ним относятся пустая команда (nop) и команды возврата из подпрограммы (ret, reti).
Унарные операции в зависимости от типа операнда (аккумулятора, РОН или ячейки памяти ОЗУ) представляются одним, двумя или реже тремя байтами. К ним относятся:
Бинарные команды в зависимости от типов операндов занимают в памяти один, два или три байта. К ним относятся:
Бинарные команды стандарта 8051 читаются справа налево, т.е. результат действия команды записывается в ячейке левого операнда, например команда mov A,R2 означает перемещение значения регистра R2 в аккумулятор A.
Тетрарными операциями являются команды условного перехода, в состав которых входят три операнда: объект сравнения (аккумулятор, РОН, косвенный адрес, бит), константа либо состояние бита, относительный адрес перехода.
Размер команды можно оценить исходя из следующих правил:
Иными словами, под код безоперандовой команды или команды, оперирующей с аккумулятором, РОН или битом С, отводится 1 байт. Наличие в команде константы или адреса ячейки ОЗУ (бита или байта) увеличивает её размер ещё на один байт. Наличие относительного адреса ещё на один байт. Команды с абсолютными адресами имеют размер три байта.
Структура ОЗУ и регистровая модель ядра 8051. ОЗУ ядра 8051 имеет размер 256 байтов, логически разделённых на две области: старшие 128 байтов и младшие 128 байтов, представленных на рисунке 1.
Рис. 1. Структура ОЗУ ядра 8051
Старшая половина ОЗУ (старшие 128 байтов) также именуется как дополнительное ОЗУ. Доступ к его ячейкам производится только посредством косвенной адресации: @R0 или @R1, где в R0 или R1 записывается адрес необходимой ячейки. Прямой доступ к ячейкам дополнительного ОЗУ эквивалентен доступу к соответствующим регистрам специальных функций, предназначенных для настройки и управления «внешними» для микроконтроллерного ядра устройствами: АЦП, ЦАП, таймерами, внешними портами и их прерываниями.
Младшая половина ОЗУ представлена тремя адресными секциями:
Основным регистром, участвующим в большинстве операций, является аккумулятор A. На операнде-аккумуляторе базируется группа поразрядных логических и арифметических команд, команд сдвига, очистки и инверсии аккумулятора, двоично-десятичного преобразования, обмена тетрадами и байтами. Доступ к отдельным битам аккумулятора производится посредством имени ACC, например, ACC.2, ACC.5 и т.д.
Основным битом, участвующим в большинстве битовых и условных операций, является бит С, расположенный в регистре PSW (Program State Word) состояния программы наряду с вышеупомянутыми битами RS1 и RS0 выбора регистрового банка.
Директивы Ассемблера и структура программы ядра 8051. Директивы предназначены для указания компилятору выполнения определённых действий и применяются в структурной организации программы, определении переменных и распределении памяти. Среди директив языка Ассемблера выделяются следующие:
org 0 ;прерывание, генерируемое во время сброса микроконтроллера
jmp init ;процедура, выполняемая сразу после старта микроконтроллера
org 0Bh ;прерывание, генерируемое таймером 0 микроконтроллера
jmp _Timer0 ;процедура обработки запроса прерывания таймера 0
const equ 34
const_1 equ 27h
const_2 equ 01010010b
x data 20h ;переменная x с адресом 20h с побайтовым и побитовым доступами
y data 33h ;переменная y с адресом 33h
bit_0 bit x.0 ;нулевой бит переменной x; эквивалентная запись 20h.0
Table: DB 12,14,16,23h,01001101b
Структура Ассемблерной программы представлена на рисунке 2. В ней особым образом выделены два основных блока, присутствующих в любой программе: определений векторов прерываний и основного цикла программы.
Рис. 2. Основная структура Ассемблерной программы
Структура программы среднего уровня является расширением по отношению к базовой следующими дополнительными блоками:
Целями использования блоков определений битовых и байтовых констант и переменных являются как олицетворение структурного подхода в программировании, так и формирование высокого стиля программирования, облегчающего чтение, восприятие и отладку программного кода в связи с однозначным функциональным соответствием встречающихся в нём имён битов, констант и переменных.
Блок определений таблиц записывается в память программ и предназначен для формирования массива только читаемых данных (таблиц). Данные этих таблиц невозможно изменить во время выполнения программы.
В блоке подпрограмм определяются процедуры (подпрограммы), вызываемые посредством команд ACALL или LCALL в основной программе. Любая процедура должна завершаться командой ret возврата в точку её вызова.
Применение процедур рекомендовано в двух случаях:
mov A,Mode //(1)
cjne A,#0, $+7 //(2)
ACALL Mode0 //(3)
sjmp Label //(4)
cjne A,#1, $+7 //(5)
ACALL Mode1 //(6)
sjmp Label //(7)
cjne A,#2, $+6 //(8)
................................
Label:
В приведённом примере предполагается, что коды подпрограмм Mode0 и Mode1 имеют большой размер (более 256 байтов), и их локализация (имеется ввиду самих кодов подпрограмм) вместо строк (3) и (6) может привести к ошибкам программы в строках (2), (4) и (5), содержащих ближний как условный (строки (2), (5)), так и безусловный (строка (4)) переходы.
Среда разработки и отладки программ для ядра 8051. В создании и отладке программ для микроконтроллерного ядра 8051 применяется среда Proview. Среда включает в себя интерфейс пользователя стандартного типа Windows, редактор кода, компилятор (интерпретатор) программ, отладчик и систему справочной информации (help). То есть среда Proview содержит все необходимые инструменты для создания, редактирования, компиляции и отладки программ для ядра 8051 (рис. 3).
В создании файла программы для ядра 8051 в среде Proview выделяются следующие шаги:
Рис. 3. Общий вид пользовательского интерфейса среды Proview в режиме отладки
Отладчик среды Proview наделён полным стандартным набором инструментов для пошаговой и комбинированной отладки программ. К инструментарию отладчика относятся (см. на рис. 3):
В написании и отладке программы могут проявляться сложности, связанные с анализом незнакомых команд, установкой относительного смещения в командах переходов и отличием между знаковыми и беззнаковыми целыми числами.
Методика анализа незнакомых команд состоит в следующем:
Для установки относительного смещения в командах переходов необходимо придерживаться следующей методики.
Установка относительного смещения рекомендуется в случае, когда размер огибаемого блока не превышает 30 байтов. В противном случае выгодно использовать непосредственную метку.
Отличительной особенностью в представлении знаковых и беззнаковых целых чисел является их интерпретация внутреннего представления. В знаковых числах значение старшего бита определяет знак: 0 знак «+», 1 знак «», остальные биты непосредственно число в дополнительном коде. Например, двоичный восьмиразрядный вид 10101100b в безнаковом представлении соответствует числу 172, а в знаковом числу 84, т.к. в знаковой интерпретации старший единичный бит определяет отрицательное число, а оставшиеся биты само число в дополнительном коде, перевод из которого в основной код осуществляется по следующему правилу: двоичный код поразрядно инвертируется и добавляется единица, т.е. число 10101100b поразрядно инвертируется, в результате чего получается число 01010011b, и добавляется единица (01010011b + 1 = 01010100b = 84). Следует обратить внимание на то, что 84 = 28 172, т.е. число дополнительного кода как бы дополняет «основное число» к максимально представимому целому числу для данной разрядности, равной восьми.
Лабораторная работа № 1
Импульсное управление исполнительными устройствами
Цель работы изучение архитектуры цифровых систем автоматики и принципов импульсного управления исполнительными устройствами
Количество часов аудиторных занятий 4.
Рекомендации: для выполнения данной лабораторной работы пользуйтесь также литературой [1 5].
Теоретические сведения
Базовая архитектура современных систем автоматики воплощена в изображённом на рис. 4 стенде на основе микроконтроллера ADμC812 с процессорным ядром 8051.
Рис. 4. Стенд-контроллер
Рис. 5. Принципиальная схема стенда
Принципиальная схема стенда представлена на рис. 5. Кроме микроконтроллера DD1, в стенд входят: двухразрядный дешифратор DD2, восьмиразрядные регистры DD3 DD6, датчики влажности DT1 и давления DT2, инфракрасный приёмник IR1 сигналов пульта дистанционного управления, миниатюрные реле K1 K8, дисплей LCD.
Дешифратор, регистры, реле и дисплей образуют множество исполнительных устройств. Управление ими производится двоичным кодом на основе транзисторно-транзисторной логики, в которой логическому нулю сопоставляется уровень напряжения примерно от 0 до 2,0 В, а логической единице от 2,5 до 5 В.
Дешифратор выполнен на микросхеме K1533ИД14 (зарубежный аналог 74HС139), выполняющей функцию демультиплексирования с 1 на 4. Множество состояний дешифратора приведено в таблице 1. Микросхема имеет два адресных входа A0 и A1, которые служат для управления выходными состояниями дешифратора. В дешифраторе имеется отдельный информационный вход E, сигнал которого в зависимости от состояния адресных входов A0 и A1 «коммутируется» с одним из выходов Y0 Y3.
Таблица 1. Состояния дешифратора К1533ИД14
Микросхема К1533ИР37 (зарубежный аналог 74HC574) представляет собой восьмиразрядный буферный регистр с тремя состояниями на выходе и импульсным управлением. Вход Е прямой динамический, переключение положительным перепадом (фронтом) тактового импульса. Регистр имеет восемь входов данных D0..D7 и восемь выходов Q0..Q7. Выходные буферные элементы могут иметь Z-состояние, если на специальный вывод /ОЕ разрешения выхода подать высокий уровень напряжения. Когда на вывод /ОЕ подано напряжение низкого уровня, то после поступления положительного перепада тактового импульса на вывод Е данные со входов Dn регистра поступают на его выходы Qn, n = 0,…,7.
Таблица 2. Состояния регистра К1533ИР37
Реле TQ2-5V или AZ850-5V миниатюрное герконовое реле размерами примерно 8 мм х 10 мм с двумя переключательными контактами (рис. 6), номинальным управляющим напряжением катушки 5 В и коммутируемой мощностью 30Вт. Дисплей жидкокристаллического символьного модуля BC1602 |
Рис. 6. Расположение катушки и переключательных контактов в герконовом реле TQ2-5V |
разделён на две строки по 16 символов в каждой. Управление дисплеем осуществляется посредством параллельного интерфейса, включающего две группы шин: 8-разрядную шину D0 D7 данных или команд и 3-разрядную шину RS, R/W (Read/Write), E управления.
Выводы R/W (или RL0_R/W) и RS (или RL1_RS) дисплея подключены соответственно к выходам Q0 и Q1 регистра DD5 (W1). Вывод Е синхронизации записи команд и данных в модуль дисплея подключен к выходу Q3 регистра DD3 (W0). Состояние линии R/W (или RL0_R/W) определяет направление передачи данных: 0 от микроконтроллера к дисплею, 1 от дисплея к микроконтроллеру (в этом случае имеется возможность чтения содержимого дисплея, т.е. множества отображаемых на текущий момент символов). Линия RS (или RL1_RS) определяет тип информации на шине данных дисплея: 0 означает интерпретацию данных на шине дисплея как код команды управления дисплеем; 1 как код отображаемого на дисплее символа.
В функционировании символьного дисплейного модуля выделяются режимы инициализации и непосредственного отображения.
Режим инициализации, алгоритм которого представлен на рис. 7, стандартизирован и предназначен для настройки интерфейса дисплейного модуля и параметров последующего отображения символов. На каждом алгоритмическом шаге после передачи команды от микроконтроллера на шину данных дисплея через регистр DD4 и установки управляющих битов RS и R/W посредством регистра DD5 необходимо подать импульс синхронизации, т.е. логическую последовательность 0→1→0 на вывод Е регистра DD3, после чего данные со входа дисплейного модуля поступают на декодирование и выполнение.
В качестве параметров алгоритма инициализации выступают: * произвольное значение бита, DL = 1 8-битный интерфейс, N = 1 две активные строки дисплея, F = 0 символьная матрица 5 х 7 пикселей,
D разрешение вывода информации на дисплей (0 вывод запрещен, 1 разрешён), С наличие курсора (0 курсор выключен, 1 включен), В мерцание курсора (0 мерцание выключено, 1 включено), I/D направление смещения курсора (0 влево (декремент), 1 вправо), S сдвиг видимого поля на дисплее (0 сдвига нет, 1 сдвиг выполняется), S/C объект смещения (0 смещается курсор, 1 видимое поле), R/L направление смещения видимого поля (0 влево, 1 вправо). После инициализации дисплейного модуля на его входы подаются команды отображения информации в символьном виде. При этом, сначала сигнал на линии RS сбрасывается в низкий уровень (логический нуль), а в шине данных указывается координата отображения символа: (80h + номер_ячейки_в_верхней_строке) для верхней строки, (0С0h + номер_ячейки_в_нижней_строке) для нижней. |
Рис. 7. Алгоритм инициализации символьного дисплейного модуля |
Затем сигнал в линии RS устанавливается в единицу, а в шину данных посылается табличный код самого символа, согласно таблицы 3. Последовательность команд поступает на дисплейный модуль с задержкой примерно в 100 мкс. Во время отображения символьной информации на дисплее можно производить смену настроек дисплея (RS = 0), например отключение курсора в соответствии с приведёнными на рис. 7 командами, входящими в процесс инициализации.
Таблица 3. Табличные коды символов дисплея
00 |
10 |
20 |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
A0 |
B0 |
C0 |
D0 |
E0 |
F0 |
|
0 |
0 |
@ |
P |
` |
p |
Б |
Ю |
ч |
Д |
¼ |
||||||
1 |
! |
1 |
A |
Q |
a |
q |
Г |
Я |
ш |
Ц |
⅓ |
|||||
2 |
" |
2 |
B |
R |
b |
r |
Ё |
б |
ъ |
Щ |
½ |
|||||
3 |
# |
3 |
C |
S |
c |
s |
Ж |
в |
ы |
‼ |
д |
¾ |
||||
4 |
$ |
4 |
D |
T |
d |
t |
З |
г |
ь |
ф |
||||||
5 |
% |
5 |
E |
U |
e |
u |
И |
ё |
э |
ц |
||||||
6 |
& |
6 |
F |
V |
f |
v |
Й |
ж |
ю |
щ |
||||||
7 |
' |
7 |
G |
W |
g |
w |
Л |
з |
я |
I |
´ |
|||||
8 |
( |
8 |
H |
X |
h |
x |
П |
и |
« |
II |
||||||
9 |
) |
9 |
I |
Y |
i |
y |
У |
й |
» |
↑ |
˜ |
|||||
A |
* |
: |
J |
Z |
j |
z |
Ф |
к |
„ |
↓ |
||||||
B |
+ |
; |
K |
[ |
k |
10 |
Ч |
л |
” |
|← |
||||||
C |
, |
< |
L |
ф |
l |
12 |
Ш |
м |
→| |
|||||||
D |
- |
= |
M |
] |
m |
15 |
Ъ |
н |
¿ |
|→׀ |
||||||
E |
. |
> |
N |
^ |
n |
Ы |
п |
|||||||||
F |
/ |
? |
O |
_ |
o |
Э |
т |
£ |
Таким образом, для того, чтобы передать на дисплей информацию размером 1 байт, необходимо проделать шаги, представленные в таблице 4.
К каждой линии шин данных и управления, т.е. к выходам регистров DD3, DD4 и DD5 подключены индикаторные светодиоды, основное назначение которых отладка программ управления. С точки зрения автоматики светодиоды тоже являются исполнительными устройствами. Интенсивность излучения светодиода зависит от режима управления им. Существует два режима управления светодиодом: статический и динамический.
Таблица 4. Последовательность передачи информации на дисплей
Передача команды управления на дисплей |
Передача кода символа для отображения на дисплее |
|
1. |
RL0_RW = 0 |
|
2. |
Передать на вывод RL1_RS шины управления логический нуль |
Передать на вывод RL1_RS шины управления логическую единицу |
3. |
Передать на выводы шины данных дисплея (D0…D7) код команды управления |
Передать на выводы шины данных дисплея (D0…D7) код отображаемого символа |
4. |
Передать на вывод Е шины управления дисплея импульс синхронизации логическую последовательность «0 → 1 → 0» |
В статическом (непрерывном) режиме излучение светодиода формируется под действием постоянно установленного управляющего воздействия, т.е. светодиод в статическом режиме работает постоянно.
В основе динамического режима управления лежит широтно-импульсная модуляция (ШИМ), заключающаяся в подаче на светодиод последовательности управляющих импульсов с частотой, превышающей частоту 15÷20 Гц пороговой чувствительности человеческого глаза.
Интенсивность излучения это энергетический параметр. Средняя энергия Е в импульсе длительностью tи и амплитудой А равна
,
где T период следования импульсов, скважность импульсной последовательности (определяется как отношение периода следования импульсов к их длительности). Принимая во внимание постоянство амплитуды во время ШИМ, можно сделать вывод о том, что управление интенсивностью излучения в импульсных и цифровых устройствах производится посредством варьирования скважности импульсной последовательности, подаваемой на излучатель. Чем больше скважность, тем ниже интенсивность излучения светодиода.
Дисплей, светодиодная линейка и реле образуют выходной интерфейс стенда, т.е. множество оптико-электронных связей с внешними для стенда системами, в том числе и человеком. Управление выходными интерфейсными устройствами стенда производится посредством регистров DD3 DD6. Входы D0 D7 регистров DD3 DD5 параллельно подключены к соответствующим выходным линиям P0.0 P0.7 порта Р0 микроконтроллера DD1. Избирательность процесса записи данных из аккумулятора в один из регистров DD3 DD5 по шине Р0 осуществляется с помощью дешифратора DD2, выполняющего функцию коммутатора сигнала /WR записи (иначе он называется сигналом синхронизации) микроконтроллера DD1 на регистр, определённый сочетанием состояний адресных линий A1, A0. Пара (А1, А0) задаёт следующие регистры: (0,0) DD3, (0,1) DD5, (1,0) DD4. Таким образом, для передачи данных от микроконтроллера к регистру по параллельной шине P0 в данном стенде необходимо:
Порт Р0 микроконтроллера является динамическим. В исходный момент его линии находятся в т.н. Z-состоянии, т.е. в неопределённом состоянии, при котором напряжение (примерно от 2,0 до 2,5 В) на отдельной линии не соответствует ни логическому нулю, ни логической единице. Запись данных в порт Р0 осуществляется командой movx @Ri,A. При этом, сначала данные из аккумулятора устанавливаются на линиях порта Р0, а затем генерируется сигнал /WR записи.
Процесс записи данных из аккумулятора в регистр через порт Р0 иллюстрирован на рис. 8. В данном примере в аккумуляторе находится число 80h или 10000000b.
(а) (б)
(в) (г)
Рис. 8. Последовательность действий микроконтроллера при выполнении команды movx:
(а) установка в порту Р0 значения из аккумулятора;
(б) формирование импульса записи /WR данных из порта Р0 в регистр;
(в) переход порта Р0 в Z-состояние;
(г) временная диаграмма состояний линий порта Р0 и /WR микроконтроллера.
Управление реле осуществляется путём выставления данных, соответствующих срабатыванию (замыканию или размыканию) конкретного реле, на выходе регистра DD5 и последующей синхронизации посредством логических переходов 1→0→1 (или 0→1→0) на линии Q7 регистра DD3 (W0).
В генерации временных диаграмм на уровне ШИМ при управлении исполнительными устройствами принимают непосредственное участие таймеры микроконтроллера, формирующие определённые задержки.
Вообще, в программировании задержки выделяются два способа:
В архитектуру микроконтроллера ADμC812, функциональная блок-схема которого изображена на рис. 9, входят три 16-битных таймера/счётчика, обозначаемые как Timer0, Timer1, Timer2.
Рис. 9. Функциональная блок-схема микроконтроллера ADμC812
Для работы с таймерами используются следующие РСФ: TMOD, TCON, T2CON, а также пара (THx,TLx), x = 0, 1, 2.
Регистр TMOD (Timers0,1 MODe) определяет режимы работы таймеров 0 и 1. Его адрес в ОЗУ микроконтроллера равен 89h. TCON (Timers 0, 1 CONtrol) управляет работой таймеров 0 и 1. Содержит биты запуска или останова таймеров, разрешения или запрета их прерываний и др. Адрес регистра TCON 88h.
T2CON (Timer2 CONtrol) управляет работой 16-разрядного таймера 2. Его адрес С8h.
(TH0,TL0), (TH1,TL1), (TH2,TL2) это пары 8-разрядных регистров счёта. Их адреса соответственно равны (8Ch,8Ah), (8Dh,8Bh), (CDh,CCh). Приведённые пары составляют 16-разрядные регистры таймеров Timer0, Timer1, Timer2 соответственно. Они подсчитывают количество тактов микроконтроллера.
Структура регистра TCON:
Структура старшей тетрады регистра TMOD:
ADμC812 обеспечивает обработку девяти источников прерываний, перечисленных в таблице 5. Основными объектами, участвующими в обработке прерываний, являются: векторы и процедуры обработки прерываний, стек.
Таблица 5. Источники прерываний микроконтроллера ADμC812
Прерывание |
Наименование источника прерывания |
Адрес вектора |
Уровень приоритета |
PSM1 |
Монитор источника питания |
43H |
1 |
IE0 |
Внешнее прерывание INT0/ |
03H |
2 |
ADCI |
Конец преобразования АЦП |
33H |
3 |
TF0 |
Переполнение таймера 0 |
0BH |
4 |
IE1 |
Внешнее прерывание INT1/ |
13H |
5 |
TF1 |
Переполнение таймера 1 |
1BH |
6 |
I2CI/ISPI |
Прерывание синхронного последовательного интерфейса I2C |
3BH |
7 |
RI/TI |
Прерывание асинхронного последовательного интерфейса UART |
23H |
8 |
TF2/EXF2 |
Прерывание от таймера 2 |
2BH |
9 |
Вектор прерывания это адрес 8-байтной области в памяти программ, расположенной в её начале, куда записывается адрес соответствующей процедуры обработки прерывания. Каждому устройству, входящему в архитектуру микроконтроллера, сопоставляется собственный фиксированный вектор прерывания, представленный в таблице 5. При обработке прерывания микроконтроллер обращается к соответствующему вектору, считывает в нём адрес процедуры обработки прерывания и выполняет её. Организация прерываний в тексте программы производится с помощью директивы org.
Принцип обработки прерывания графически отражён на рис. 10.
Рис. 10. Граф-схема процесса обработки прерывания
Биты разрешения/запрета прерываний находятся в регистре IE (Interrupt Enable):
В реальных задачах автоматики прерывание часто инициируется либо объектом управления, либо возмущающими воздействиями, и программисту неизвестно в какой именно момент произойдёт запрос конкретного прерывания. Для корректной его обработки важное содержимое основных регистров (аккумулятора и РОН) необходимо сохранить в отдельной области памяти, для чего предназначен стек.
Стек это динамическая структура (участок памяти с переменной длиной в зависимости от выполняемого блока программы), функционирующая по принципу LIFO (Last Input First Output), что в буквальном смысле означает «последний пришёл, первый ушёл». Основные достоинства стека проявляются именно в процессе обработки прерываний. Программист самостоятельно выделяет под стек определённый участок памяти ОЗУ с началом, хранящемся в регистре SP (адрес 81h), например, mov SP,#26h. Размер стека как участка памяти зависит от задачи, решаемой устройством автоматики. Запись (точнее, заталкивание) данных в стек производится с помощью команды push, выталкивание посредством pop. После заталкивания данного в стек значение SP его указателя автоматически увеличивается на 1, во время выталкивания автоматически уменьшается на единицу.
Наиболее часто сохраняемые в стеке регистры это аккумулятор А и регистр PSW состояния программы (Program State Word). В регистре PSW хранятся признаки (флаги) операций, формируемые в ходе выполнения команд. В таблице 6 приводится их перечень, даются символические имена и описываются условия их формирования.
Таблица 6. Формат регистра PSW
Признак |
Разряд |
Имя бита и назначение |
C |
PSW.7 |
Флаг переноса. Устанавливается и сбрасывается аппаратно или программно при выполнении арифметических и логических операций |
AC |
PSW.6 |
Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратно при выполнении команд сложения или вычитания и сигнализирует о переносе или займе в бите 3 аккумулятора |
F0 |
PSW.5 |
Флаг, который может быть использован на усмотрение программиста |
RS1 |
PSW.4 |
Выбор банка регистров в соответствие с таблицей 7. Биты устанавливаются и сбрасываются программно для выбора рабочего банка регистров общего назначения |
RS0 |
PSW.3 |
|
OV |
PSW.2 |
Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций |
|
PSW.1 |
Не используется |
P |
PSW.0 |
Флаг паритета. Устанавливается и сбрасывается аппаратно при выполнении каждой команды, фиксирует нечётное/чётное число единичных битов в аккумуляторе, т.е. выполняет их контроль чётности |
Наиболее «активным» флагом PSW является флаг С переноса, который принимает участие и модифицируется в процессе выполнения множества операций, включая сложение, вычитание и сдвиг. Кроме того, флаг переноса (C) выполняет функции «булева аккумулятора» в логических командах, манипулирующих битами.
Флаг переполнения (OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах.
Таблица 7. Диапазон адресов и выбор рабочего банка РОН
RS1 |
RS0 |
Банк |
Границы адресов |
0 |
0 |
0 |
00h 07h |
0 |
1 |
1 |
08h 0Fh |
1 |
0 |
2 |
10h 17h |
1 |
1 |
3 |
18h 1Fh |
Микроконтроллер не управляет флагами (RS1, RS0) селекции банка регистров. Их значения полностью определяются прикладной программой, т.е. программистом и используются для выбора одного из четырёх регистровых банков. При обработке прерывания рекомендуется сначала сохранить в стеке текущее значение регистра PSW, а затем сменить регистровый банк, сохраняя таким образом все восемь текущих значений РОН R0 ÷ R7. По окончании выполнения процедуры обработки прерывания исходные значения основных регистров необходимо восстановить с помощью команды pop, но в порядке, обратном заталкиванию (рис. 10).
Примеры программ управления
К работе прилагаются тексты следующих программ:
После компиляции программы в среде Proview формируется соответствующий hex-файл машинных кодов, которые посредством одного из загрузчиков cLoad, ComLoad или uLoad записываются во Flash-память программ микроконтроллера. Основными функциями программ-загрузчиков являются: чтение требуемого hex-файла, тестирование состояния контроллера и непосредственная запись программы в его память.
Вопросы для самоподготовки
Задания к лабораторной работе № 1
Содержание отчёта
Контрольные вопросы
Лабораторная работа № 2
Цифровая обработка сигналов датчиков
систем автоматики
Цель работы изучение типовых алгоритмов обработки сигналов датчиков в системах управления
Количество часов аудиторных занятий 4.
Рекомендации: для выполнения данной лабораторной работы пользуйтесь также литературой [1 9].
Теоретические сведения
Лабораторный стенд управления содержит два датчика: относительной влажности DT1 HIH-4000 Honeywell и давления DT2 MPX4115A Motorola.
Принцип действия датчика относительной влажности ёмкостной, основанный на измерении реактивного сопротивления R = 1/(ωC) на частоте ω встроенного в датчик генератора. Конструктивно датчик выполнен в виде плоскопараллельного конденсатора с площадями обкладок в несколько мм2, расположенных на расстоянии в несколько десятков микрометров. Ёмкость датчика С = εε0S/d прямо пропорциональна диэлектрической проницаемости ε, зависящей от относительной влажности RH окружающей среды. Следовательно, зависимость измеряемой относительной влажности RH окружающей среды от реактивного сопротивления R обратно пропорциональная: RH = kd/ε0SωR, где k коэффициент пропорциональности.
Внешний вид датчика представлен на рис. 11, а его структура отражена на рис. 12. В структуре датчика выпрямитель предназначен для преобразования переменного напряжения на ёмкости в постоянное выходное. Датчик имеет три вывода: два вывода питания и один выходного напряжения.
Рис. 11. Внешний вид датчика относительной влажности |
Рис. 12. Структура датчика относительной влажности |
Ёмкость датчика варьируется в пределах нескольких единиц десятка пФ, его реактивное сопротивление на частоте в несколько десятков МГц измеряется сотнями кОм или единицами Мом.
Зависимость выходного напряжения датчика от относительной влажности представлена на рис. 13, а рекомендуемый рабочий температурный диапазон на рис. 14.
Основные параметры датчика:
|
Рис. 13. Зависимость выходного напряжения от относительной влажности |
Рис. 14. Рабочий температурный диапазон датчика HIH-4000 относительной влажности
Принцип действия датчика давления MPX4115 тензометрический на основе прямого пьезоэффекта, заключающегося в появлении разности потенциалов на противоположных концах пьезоэлектрика в зависимости от внешнего давления. Этот датчик позволяет измерять давление воздуха от 15 до 115 кПа. Датчик имеет три основных вывода: два для питания и один выходной. Выходным сигналом датчика служит напряжение, изменяющееся практически линейно в зависимости от внешнего давления от 0.2 до 4.8 В. Это отражено на рис. 15.
Конструктивно датчик выполнен в пяти вариантах, два из которых (со штуцером (рис. 16, а) и без него (рис. 16, б)) представлены в лабораторных стендах. Датчик со штуцером может быть установлен в воздухопроводе, датчик без штуцера используется в барометрах для измерения атмосферного давления.
Рис. 15. Зависимость выходного напряжения датчика MPX4115 от внешнего давления
(а) (б)
Рис. 16. Внешний вид закреплённых на стендах датчиков давления:
(а) со штуцером; (б) без штуцера
В датчике MPX4115 давления, структура которого изображена на рис. 17, кроме чувствительного пьезоэлемента, имеется температурный компенсатор, обеспечивающий линейность зависимости измеряемого давления от температуры во всём рабочем диапазоне.
Рис. 17. Структура датчика давления
Точность показаний датчика давления, в общем случае, зависит от окружающей температуры. Эта зависимость, отражённая на рис. 18, является нелинейной, симметричной относительно 42.5 ºС.
Рис. 18. Графическая характеристика температурной погрешности
В лабораторном стенде датчики влажности и давления через резистивные делители R2 и R_2 подключены соответственно к нулевому и второму каналам АЦП микроконтроллера. В связи с тем, что опорное напряжение для АЦП микроконтроллера равно 2.5 В, а выходные напряжения датчиков влажности и давления лежат в диапазоне 0, …, 5В, коэффициент деления резистивных делителей R2 и R_2 равен двум.
В-общем, архитектурой контроллера предусмотрено подключение восьми различных аналоговых датчиков. Блок АЦП микроконтроллера принадлежит входному порту P1 и включает в себя восьми канальный минимум пяти микросекундный (т.е. с предельной частотой дискретизации, равной 200 кГц) аналого-цифровой преобразователь с однополярным питанием и стабилизированным опорным напряжением 2.5 В. 12-разрядный АЦП имеет 212 = 4096 уровней квантования, что определяет изменение напряжения на его входе на 2.5 В / 4096 = 610 мкВ при изменении выходного числового значения АЦП на единицу.
АЦП управляется посредством трёх интерфейсных РСФ ADCCON1 ADCCON3.
Регистр ADCCON1 (адрес EFh) управляет режимами и скоростью работы, а также энергопотреблением АЦП. Основные его биты представлены в таблице 8.
В зависимости от состояния битов регистра ADCCON2 (адрес D8h) таблицы 9 однократный или повторяющийся режим преобразования может выполняться программно путём управления битами CCONV (Continuous CONVersion) или SCONV (Single CONVersion) или подачей внешнего сигнала «Запуск преобразования» на контакт 23 (/CONVST CONVersion STart) микроконтроллера. В последнем случае должен быть установлен бит ADCCON1.0. Также для инициирования повторяющегося процесса преобразования можно использовать сигналы таймера Timer2, что устанавливается посредством бита ADCCON1.1.
В-общем, регистр ADCCON2 с побитовым доступом позволяет выбрать номер обрабатываемого канала и управлять режимами преобразования: непрерывным и однократным.
В регистре ADCCON3 значимым является единственный самый старший (седьмой) бит, означающий текущую занятость АЦП, и устанавливаемый аппаратно.
Непосредственный процесс аналого-цифрового преобразования занимает определённое время. Для рассматриваемого стенда это как минимум 5 мкс при периоде тактов микроконтроллера 12/11059200 ≈ 1 мкс. В момент начала аналого-цифрового преобразования микроконтроллер автоматически устанавливает бит ADCCON3.7 в значение 1, а в момент его окончания сбрасывает в нуль.
АЦП контроллера получает отсчёты сигналов датчиков путём последовательного переключения каналов: с нулевого на второй и наоборот в соответствии с принципиальной схемой стенда рис. 5. Последовательность и период опроса определяются программистом.
Таблица 8. Назначение битов регистра ADCCON1
Биты |
Назначение |
ADCCON1.7 ADCCON1.6 |
Биты выбора режима работы АЦП ADCCON1.7 ADCCON1.6 Режим работы 0 0 Отключение АЦП (powered down) режим пониженного энергопотребления 0 1 Нормальный 1 0 Включение АЦП только на момент преобразования (в противном случае происходит его отключение) 1 1 Включение АЦП только на момент преобразования (в противном случае АЦП переходит в режим ожидания) |
ADCCON1.5 ADCCON1.4 |
Биты деления тактовой частоты. Определяют коэффициент деления основной частоты микропроцессора для получения частоты дискретизации АЦП: ADCCON1.5 ADCCON1.4 Делитель 0 0 1 0 1 2 1 0 4 1 1 8 |
ADCCON1.1 |
Бит разрешения запуска АЦП от таймера Timer2. Если бит установлен, то сигнал переполнения таймера Timer2 инициирует запуск цикла аналого-цифрового преобразования. |
ADCCON1.0 |
Бит разрешения внешнего запуска цикла аналого-цифрового преобразования посредством сигнала на выводе 23 (/CONVST) |
Таблица 9. Назначение битов регистра ADCCON2
№ бита |
Имя бита |
Назначение |
7 |
ADCI |
Флаг завершения текущего цикла преобразования (флаг прерывания АЦП); устанавливается и сбрасывается аппаратно; устанавливается по окончании преобразования, сбрасывается в момент входа программы в обработчик прерывания |
5 |
CCONV |
Бит непрерывного преобразования; управляется программно |
4 |
SCONV |
Бит однократного преобразования; устанавливается в том месте программы, где требуется сделать аналого-цифровое преобразование, сбрасывается аппаратно по окончании преобразования |
3 |
CS3 |
Биты номера оцифровываемого канала (управляются программно) CS3 CS2 CS1 CS0 Номер канала 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 Датчик темп. |
2 |
CS2 |
|
1 |
CS1 |
|
0 |
CS0 |
По окончании оцифровки отсчёта текущего канала числовые данные автоматически помещаются в регистры данных АЦП это регистры ADCDATAH (старший байт) и ADCDATAL (младший байт), которые впоследствии заносятся в ОЗУ данных, формируя таким образом сигнальную выборку, соответствующую определённому датчику. Т.к. разрядность АЦП равна 12, то в регистре ADCDATAH задействованы только 4 младших бита (младшая тетрада), а старшая тетрада хранит номер обрабатываемого канала.
В системах автоматического управления и регулирования зачастую применяются следующие типовые законы: пропорциональный, интегральный, дифференциальный, пропорционально-интегрально-дифференциальный. Все перечисленные законы базируются на определённых алгоритмах, реализуемых на микроконтроллерной базе.
Суть пропорционального закона заключается в формировании управляющего воздействия на объект, пропорционального мгновенному сигнальному отсчёту датчика, т.е. его мгновенному выходному напряжению или току.
Пороговая обработка сигнала, т.е. обработка сигнальных данных при условии их превышения установленного (порогового) значения является частным случаем реализации пропорционального закона.
Интегральный закон применяется для сглаживания сигнала датчика и его фильтрации от помех, т.е. для сглаживания управляющих воздействий и снижения динамической ошибки управления. Алгоритм интегрального закона основан на формировании сигнальной выборки, т.е. массива оцифрованных данных, вычислении в нём среднего значения как дискретного аналога интеграла и принятии решения об управляющем воздействии.
Пропорциональный и интегральный законы имеют тесную взаимосвязь, осуществляемую посредством изменения частоты дискретизации. Так, пусть в пропорциональном управлении данные формируются через время-период Tп. Тогда, для того, чтобы за тот же промежуток времени Tп сгенерировать интегральное управляющее воздействие, необходимо увеличить частоту дискретизации в N раз, где N длина сигнальной выборки, и провести интегрирование. Т.е. за период Tп в случае интегрального закона необходимо сформировать сигнальную выборку и посчитать интеграл. Тогда повысится качество регулирования без потери быстродействия.
Дифференциальный закон управления заключается в формировании управляющего воздействия, пропорционального разности (дифференциалу) интегральных значений двух соседних выборок. Процесс вычисления управляющего дифференциала наглядно отражён на рис. 19.
Рис. 19. Наглядное представление действия ПИД-закона
Пропорционально-интегрально-дифференциальный закон управления заключается в формировании управляющего воздействия, пропорционального как дифференциалу интегральных значений, так и самим интегральным значениям.
В Д и ПИД управлении сначала формируется первая сигнальная выборка «Выборка 1». С учётом её данных вычисляется «первый интеграл», т.е. «интегральное значение для выборки 1». Следом формируется вторая выборка и вычисляется «второй интеграл». После этого находится разность Δ1 интегральных значений для первой и второй выборок. Управляющее воздействие на объект для ПИД-закона является суперпозицией интегральной и дифференциальной составляющих, т.е. решение об управлении принимается в сочетании интегрального и дифференциальной величин. Приведённые действия повторяются в реальном времени с учётом сохранения текущего оцифрованного отсчёта в ОЗУ для последующей обработки.
Примеры типовых программ обработки
сигналов датчиков
К работе прилагаются тексты следующих программ:
Вопросы для самоподготовки
Задания к лабораторной работе № 2
Объясните полученные изменения результатов.
№ выборки |
Значения в выборке |
Среднее значение по выборке |
Примерный график сигнала |
Минимальное значение в выборке в установившемся режиме оцифровки |
Максимальное значение в выборке в установившемся режиме оцифровки |
Максимальное отклонение от среднего значения в выборке |
||
Шестнадцатеричный вид |
Десятичный вид |
Шестнадцатеричный вид |
Десятичный вид |
|||||
Содержание отчёта
Контрольные вопросы
Лабораторная работа № 3
Дистанционное управление в системах автоматики
Цель работы изучение бифазного способа кодирования и декодирования цифровых данных в дистанционном беспроводном управлении устройствами автоматики
Количество часов аудиторных занятий 4.
Рекомендации: для выполнения данной лабораторной работы пользуйтесь также литературой [1 4, 10 12].
Теоретические сведения
Системы дистанционного управления делятся на два класса: проводные и беспроводные. Беспроводные оптический и радио каналы связи и управления представляют особый интерес для автоматики. Информация по беспроводным каналам передаётся в бифазном коде. Кстати, на основе бифазного кода построена мировая система штрих-кодирования товаров.
Рассмотрим системы дистанционного управления с инфракрасным каналом связи. Суть бифазного кода для ИК-систем дистанционного управления заключается в генерации импульсного пакета, состоящего из 14 битов, первые два из которых являются стартовыми и имеют строго определённую длительность, затем следует бит-индикатор последовательного нажатия одной и той же клавиши (toggle bit), следующие пять битов определяют адрес источника данных, оставшиеся шесть битов код клавиши. Длительность стартового импульса это так называемая «базовая длительность» зависит от типа ПДУ. Длительность остальных битов пакета кратна базовой длительности.
Среди основных типов инфракрасных ПДУ наибольшее распространение получили RC5 и RC6. Их общей чертой является идентичность принципа кодирования данных. Отличительные временные параметры сигналов приведены в таблице 10 и на рисунке 20.
Таблица 10. Основные параметры сигналов ПДУ типов RC5 и RC6
Параметр сигнала \ Тип ПДУ |
RC5 |
RC6 |
Базовая длительность импульса, tи |
860 мкс |
890 мкс |
Длительность импульсного пакета, tп |
24 мс |
25 мс |
Период повторения импульсного пакета, T |
110 мс |
114 мс |
Рис. 20. Параметры сигнала инфракрасного ПДУ
Процесс декодирования сигналов ПДУ визуально пояснён на рисунке 21 и состоит:
Декодирование сигналов происходит в реальном времени. В формировании кода принимает непосредственное участие т.н. «информационный бит», который при детектировании старт-импульса инициализируется единицей.
(а) (б)
Рис. 21. Сигналы бифазного кода инфракрасного ПДУ:
(а) для клавиши «1»; (б) для клавиши «увеличение силы звука»
Информационный бит изменяет своё значение на противоположное при появлении импульса удвоенной (по отношению к стартовому импульсу) длительности. Если «удвоенный импульс» имеет логически низкий уровень, то к коду клавиши дописываются сначала текущее, а затем инверсное значение информационного бита; при этом сам информационный бит инвертируется. Если же «удвоенный импульс» имеет логически высокий уровень, то информационный бит инвертируется без дополнений его к выходному коду.
В лабораторном стенде специализированный ИК-датчик ТК69 подключен к выводу P3.2/INT0 микроконтроллера, т.е. к выводу внешнего прерывания /INT0. В этом случае архитектура микроконтроллера ADμC812 предусматривает возможность детектирования перепадов 1→0 на линии /INT0 (посредством установки бита IT0, т.е. бита 0 регистра TCON и запуска таймера Timer0 с помощью установленного бита TR0) и измерении временного интервала между соседними перепадами, либо автоматического измерения длительностей импульсов низкого уровня при работе таймера Timer0 в режиме 1 со схемой его функционирования, представленной на рисунке 22, где бит 3 регистра TMOD, т.е. бит Gate0 равен нулю и TR0 равен нулю.
Рис. 22. Схема функционирования таймера Timer0 в режиме 1
Таким образом, с помощью микроконтроллера ADμC812 можно измерять как длительность импульса с логическим низким уровнем, так и суммарную длительность импульсов с логическим низким и логическим высоким уровнями. Опыт показывает, что для декодирования импульсных сигналов ИК ПДУ достаточно измерять только суммарную длительность, т.е. временной интервал между соседними переходами 1→0.
Примеры программ приёма сигналов от ИК ПДУ и их декодирования
К работе прилагаются тексты следующих программ:
Задания к лабораторной работе № 3
Тип ПДУ |
Стартовое значение в регистре DD4 (до нажатия клавиши) |
Конечное значение в регистре DD4 (после отпускания клавиши) |
Количество принятых импульсных пакетов |
Период следования импульсных пакетов |
||
Двоичный вид |
Десятичный вид |
Двоичный вид |
Десятичный вид |
|||
RC5 |
||||||
RC6 |
|
№ опыта |
Шестнадцатеричное значение базовой длительности, отображаемое на дисплее |
Базовая длительность, мкс |
Среднее значение базовой длительности |
RC5 |
||||
RC6 |
Примечание: для приведения шестнадцатеричного значения базовой длительности к системной единице измерения времени его необходимо умножить на 12 и разделить на частоту кварца, т.е. на 11.0592 МГц
Тип ПДУ |
Обозначение клавиши |
Количество логических переходов 1→0 в импульсном пакете |
Последовательность отношений временных интервалов между соседними переходами 1→0 в пакете к базовой длительности, отображаемая на дисплее |
|
Шестнадцатеричное значение, отображаемое на дисплее |
Десятичное значение |
|||
RC5 |
||||
RC6 |
Отображаемое на дисплее число, определяющее время замкнутого состояния контактов реле |
Отображаемое на дисплее число, определяющее время разомкнутого состояния контактов реле |
Наличие полной остановки двигателя |
1 |
1 |
|
1 |
2 |
|
…………………………………………………………………………. |
||
1 |
5 |
|
2 |
1 |
|
2 |
2 |
|
…………………………………………………………………………. |
||
2 |
5 |
|
…………………………………………………………………………. |
||
5 |
5 |
Содержание отчёта
Контрольные вопросы
ЛИТЕРАТУРА