Академический Документы
Профессиональный Документы
Культура Документы
Кафедра радиоэлектроники
Учебно-методическое пособие
для студентов заочного обучения по специальности 18.04.04
«Эксплуатация электрооборудования и средств автоматики»
1
УДК 681.325.5: 621.382
Г 89
2
1. Архитектура систем управления и контроля
4
2.1 Микроконтроллеры семейства MCS-51
5
В данной работе будет использована БИС семейства МCS-51
89С51 (рис. 1).
Микросхема имеет следующие характеристики:
встроенная память программ емкостью 4096 байт с
электрическим стиранием (с возможностью расширения до
64 Кбайт за счет подключения внешней памяти программ );
встроенная память данных емкостью 128 байт (с
возможностью расширения до 64 Кбайт за счет
подключения внешней памяти данных );
32 линии ввода/вывода, организованных в четыре 8-
разрядных порта;
последовательный порт;
два шестнадцатиразрядных таймера/счетчика;
двухуровневая система внешних прерываний;
возможность побайтовой и побитовой адресации;
частота тактового генератора 1,2-12 МГц.
Вход ЕА (в некоторых модификациях DEMA – линия 31). Этот
вход определяет вид памяти (внутренняя или внешняя), с которой
будет работать микросхема. При подаче на вход логической 1
выполняется программа из внутренней памяти, при подаче
логического 0 – из внешней памяти по адресам от 0 до 64 Кбайт.
Входы Х1 и Х2 (линии 19 и 18). Служат для подключения ко
входу внутреннего генератора кварцевого резонатора,
определяющего тактовую частоту.
Вход RST (линия 9). При подаче логической 1 происходит сброс
микросхемы. RC цепь на входе (рис. 1) обеспечивает
формирование сигнала сброса при включении питания.
Сигнал PSEN (в некоторых модификациях PME – линия 29).
Управляющий сигнал, по которому данные из внешней памяти
программ считываются через порт Р0.
Сигнал ALE (линия 30). Управляющий сигнал, по которому
младший байт адреса внешней памяти, выставленный через порт
Р0, фиксируется в буферном регистре.
6
+5B
R1 DD1
31 39
EA P0.0
P0.1 38
C1 19
X1 P0.2 37
P0.3 36
C2 18 35
X2 P0.4
P0.5 34
R2 9 33
RST P0.6
P0.7 32
C3
1
P1.0
2
P1.1
3 29
P1.2 PSEN
4
P1.3
5 30
P1.4 ALE
6
P1.5
7
P1.6
8
P1.7
10 21
P3.0 RxD P2.0
11 22
P3.1 TxD P2.1
12 23
P3.2 INT0 P2.2
13 24
P3.3 INT1 P2.3
14 25
P3.4 T0 P2.4
15 26
P3.5 T1 P2.5
16 27
P3.6 WR P2.6
17 28
P3.7 RD P2.7
DD1 – 89C51
R1,R2 – С2-33 0.125Вт 8.2 кОм ±10% +5B 40
С1, С2 – К10-17-1а 33пкФ±20% 20
С3– К10-17-1а 10мкФ±20%
GND
Блок управления
Для формирования синхроимпульсов генератор тактовых
импульсов, входящий в состав блока управления, использует
8
сигналы с внешнего кварцевого генератора, подключенного к
входам Х1 и Х2.
ША ШД
ГТИ Блок управления Блок счетчика команд
Дешиф- Буфер
Регистр
ратор команд
ПЛМ РА СК +
Блок таймеров/счетчиков
Порт Р2 TMOD TH0 | TL0
Буфер Фиксатор
TCON TH1 | TL1
Запр
Порт Р1 Блок прерываний
прер.
IE IP
Буфер Фиксатор
Обработка
Блок последовательного
Порт Р3 канала
SCON
Буфер Фиксатор TxD
SBUF сдв. регистр
RxD
SBUF сдв. регистр
9
В начале каждого цикла обращения к памяти программ блок
управления формирует управляющие сигналы блоку счетчика
команд для формирования адреса на шину адреса.
Затем считанный из памяти программ код команды по шине
данных поступает в блок управления и записывается в регистр
команд. После этого дешифратор преобразует восьмиразрядный
код команды в 24-разрядный код для программируемой логической
матрицы (ПЛМ), которая формирует управляющие сигналы для
выполнения команды.
10
ШД ША
Регистр адреса
Буфер СК
8р 16р
Регистр СК
Блок инкремента
Регистр-указатель
Арифметико-логическое устройство
Структура арифметико-логического устройства приведена на
рис.4.
Выполнение всех арифметических и логических операций
осуществляется в сумматоре, в который подаются операнды из
регистра аккумулятора и регистра временного хранения. Один из
операндов операции поступает из аккумулятора, а второй из
регистра или ячейки памяти по шине данных.
Результат арифметической или логической операции
записывается в аккумулятор, в случае команд умножения также в
регистр В (старшая часть), при делении в регистр В записывается
остаток.
По результатам выполненной операции формируются признаки
результата и записываются в слово состояния программы PSW. К
признакам относятся такие флаги как Z – признак равенства нулю,
11
С – разряд переноса и др. Кроме того, разряды RS0 и RS1 (PSW.3 и
PSW.4) обеспечивают переключение банка регистров общего
назначения.
Регистр Аккумулятор
аккумулятора
Сумматор Регистр В
Регистр
временного
хранения PSW
ШД
Рис.4. Структура арифметико-логического устройства
Порты микроконтроллера
Порты Р0-Р3 могут работать как независимые порты
ввода/вывода. Непосредственно к линиям портов могут
подключаться периферийные устройства (регистры, некоторые
элементы индикации и т.п.). Каждая линия может быть
использована как для ввода, так и для вывода информации под
управлением программного обеспечения. При подключении
следует учитывать нагрузочную способность линий, т.е. величину
тока, который может обеспечить микросхема в нагрузке. Для
рассматриваемой микросхемы выходной ток линий составляет
единицы миллиампер. Поэтому подключение более мощных
потребителей необходимо производить через буферные схемы
(например, микросхемы 1102АП5,6 обеспечивают выходной ток до
300 мА, регистр 580ВА86 – до 32 мА и т.д.).
При размещении управляющей программы во внутренней
памяти программ и использовании портов для подключения
периферийных устройств можно создавать очень компактные
устройства управления и сбора информации с широкими
функциональными возможностями.
Кроме того, все порты имеют целый ряд дополнительных
функций.
Порт Р0 (Р0.0-Р0.7):
12
при работе с внешней памятью программ или данных в
начале цикла обращения через Р0 выводятся младшие
разряды адреса, затем по этим линиям передается байт
данных;
при программировании микросхемы (записи программы во
внутреннюю память программ) и проверке через линии
порта Р0 производится чтение/запись данных.
Порт Р1 (Р1.0-Р1.7):
используется для передачи младших разрядов адреса при
программировании и проверке микросхемы.
Порт Р2 (Р2.0-Р2.7):
используется для передачи старших разрядов адреса при
работе с внешней памятью программ и внешней памятью
данных;
при программировании микросхемы (записи программы во
внутреннюю память программ) и проверке через линии
порта Р2 производится передача старших разрядов адреса и
управляющих сигналов.
Порт Р3 (Р3.0-Р3.7). Линии порта Р3 могут быть использованы
для передачи сигналов управления:
RxD (линия Р3.0) - передача информации в
последовательном коде;
TxD (линия Р3.1) - прием информации в последовательном
коде;
INT0 (линия Р3.2) - вход внешнего сигнала прерывания 0;
INT1 (линия Р3.3) - вход внешнего сигнала прерывания 1;
Т0 (линия Р3.4) – вход таймера/счетчика 0 ;
Т1 (линия Р3.5) вход таймера/счетчика 1;
WR (линия Р3.6) – сигнал ЗАПИСЬ. Формируется при
передаче байта информации через порт Р0 во внешнюю
память данных;
RD (линия Р3.7) – сигнал ЧТЕНИЕ. Формируется при
считывании байта через порт Р0 из внешней памяти
данных.
Структура разряда порта представлена на рис.5. Здесь видно,
что выходные каскады порта (образованы транзисторами Т1 и Т2)
13
через мультиплексор МХ могут подключаться либо к выходу
защелок, либо к внутренним шинам Адрес/данные.
5B 5B
Управление
выводов & T1 R1
Вывод
Адрес / 1 P0.X
данные МХ T2
Внутренняя Защелка
шина данных выводов
D Q
_
Запись
C Q B1
выводов
Чтение защелки
Чтение выводов
B2
14
Внутренняя память данных.
Адресное пространство внутренней памяти данных
складывается из 128 ячеек собственно ОЗУ и двадцати адресуемых
регистров специального назначения, имеющих адреса со 128 по 255
(рис. 6 ).
17H R7 БАНК 2
10H R0
Регистры Регистры
0FH R7 БАНК 1 общего специального
08Р R0 назначения назначения
07H R7 БАНК 0
00H R0
15
Структура ОЗУ позволяет работать не только с отдельными
ячейками памяти (байтовая адресация), но и с отдельными битами
(побитовая адресация). Прямоадресуемые биты с адресами 0 – 127
(0 – 7FH) расположены в блоке из 32 ячеек внутреннего ОЗУ,
имеющих адреса 20Н – 2FH.
Таким же образом можно работать с регистрами специального
назначения. Адреса и названия регистров специального назначения
указаны на рис.3.
Команды, оперирующие с битами, позволяют каждый бит
установить в 1, сбросить в 0, проинвертировать и протестировать,
организовать переходы по состоянию любого бита, реализовать
побитные логические операции и т.п. Такая архитектура позволяет
реализовывать оптимальные по объему и быстродействию
программы.
16
Логика работы таймера счетчика в режимах 0,1,2 приведена на
рис.7.
С/Т1=0 Управление Режим 0
OSC :12
TL1 TH1 TF1
5 бит 8 бит
Т1
С/Т1=1 Режим 1
TR1 &
TL1 TH1
8 бит 8 бит
GATE 1
1
1 Режим 2
INT1
TL1
8 бит
&
TH1
8 бит
Рис.7. Логика работы таймеров/счетчиков в режимах 0, 1 и 2.
17
М1, М0=01 (режим 1), используется 16-разрядный
считающий элемент 8рTH0+8рTL0;
М1, М0=10 (режим 2), используется 8-разрядный считающий
элемент TL0. TH0 хранит константу перезагрузки. При
переполнении TL0 автоматически перезагружается;
М1, М0=11 (режим 3), для Т/С1 не используется. Т/С0
работает как два независимых 8-разрядных счетчика TH0 и
TL0.
Биты С/Т0,С/Т1 определяют работу в качестве таймера (С/Т0
или С/Т1 = 0) или счетчика (С/Т0 или С/Т1 = 1).
Бит GATE разрешает управлять таймером от внешнего вывода
INT0 – для Т/С0, INT1 – для Т/С1. Если GATE = 0 – управление
запрещено;GATE = 1 – управление разрешено.
Регистр управления ТCON предназначен для приема и
хранения управляющего слова. Обозначение и назначение разрядов
регистра приведено в табл. 2.
Таблица 2
Биты 7 6 5 4 3 2 1 0
Обозн. TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Назначение битов:
TR0, TR1 – биты включения Т/С, отдельно для Т/С0 и Т/С1.
Если TR = 0 - выключен, TR = 1 – включен. Биты
устанавливаются и сбрасываются программно
TF0, TF1 – флаги переполнения Т/С. Биты сбрасываются и
устанавливаются аппаратно и программно.
IT0, IT1 – биты, определяющие вид прерывания по входам INT0,
INT1. IT=0 – прерывание по уровню (низкому); IT = 1 –
прерывание по фронту (переход из «1» в «0»). Биты
устанавливаются и сбрасываются программно.
IE0, IE1 – флаги запроса внешних прерываний по входам INT0,
INT1 Биты сбрасываются и устанавливаются аппаратно и
программно.
Все биты регистра ТCON доступны по чтению. Биты 4,5
относятся к Т/С0,биты 6,7 – к Т/С1.Биты 0,1 определяют внешние
прерывания по входу INT0, биты 2,3 – по входу INT1.
18
Т/С1 аппаратно связан с блоком синхронизации
последовательного интерфейса (ПИ), он используется для
управления скоростью приема/передачи последовательных данных.
19
Биты 7 6 5 4 3 2 1 0
Обозн. SM0 SM1 SM2 REN TB8 RB8 TI RI
Назначение разрядов:
SM0, SM1 – задают режим работы ПИ 0, 1, 2 или 3;
SM0 SM1 Режим Наименование Скорость
передачи
0 0 0 Сдвиговый регистр fBQ/12
0 1 1 8–битовый переменная,
универсальный задается Т/С1
асинхронный
приёмопередатчик
1 0 2 (УАПП) fBQ/64 илиfBQ/32
1 1 3 9 – битовый УАПП переменная,
9 – битовый УАПП задается Т/С1
20
Передаваемые данные записываются программно в буфер
передатчика, затем отправляются в сдвиговый регистр, откуда в
соответствии с выбранной скоростью передачи побитно
выставляются на линию ТхD.
Прием с линии RxD осуществляет бит-детектор, который
трижды считывает входное состояние и на основании 2 из 3
измерений определяет значение принятого бита, затем записывает
этот бит в сдвиговый регистр приемника. После приема всего байта
данных происходит запись в буфер приемника, откуда могут быть
программно считаны.
Буфер приемника и буфер передатчика при программном
доступе имеют одинаковое имя SBUF и адрес 99Н.
Если команда использует SBUF как регистр источника, то
обращение происходит к буферу приемника.
Если команда использует SBUF как регистр назначения, то
обращение происходит к буферу передатчика. Во всех режимах
работы ПИ передача инициируется любой командой, которая
использует SBUF как регистр назначения.
Последовательный порт может принимать очередной байт,
даже если очередной принятый до этого байт не был прочитан из
буфера приемника. Однако, если до окончания приема,
находящийся в буфере байт не будет прочитан, принятый байт
теряется.
Прием и передача начинаются с младшего разряда и
заканчиваются старшим разрядом.
Скорость приема и передачи зависят от используемого
кварцевого генератора и выбранного режима приема/передачи. Для
режимов, в которых скорость определяется таймером/счетчиком 1,
константы программирования таймера приведены в таблице 4.
Таблица4
Режи Скорость fBQ, SMOD Разряды ТН1 Приме-
м приема/ МГц TMOD чание
рабо передачи, С/Т М1 М0
ты Кбод
ПИ
0 Макс.1000 12 Х Х Х Х X
2 Макс: 375 12 1 Х Х Х X
1,3 62,5 12 1 0 1 0 FFH
19,2 11,059 1 0 1 0 FDH
21
9,6 11,059 0 0 1 0 FDH
4,8 11,059 0 0 1 0 FAH
2,4 11,059 0 0 1 0 E4H
1,2 11,059 0 0 1 0 E8H
0,1375 11,986 0 0 1 0 18H
0,110 6 0 0 1 0 72H
0,110 12 0 0 0 1 FEH TL1=
EBH
Блок прерываний
Механизм прерываний позволяет автоматически реагировать на
внешние и внутренние события (переполнение таймер/счетчиков,
завершение последовательного обмена). Поступление запросов
прерывания возможно от следующих источников: внешний вход
INT0, таймер/счетчик T0, внешний вход INT1, таймер/счетчик T1,
последовательный канал TI/RI.
Каждое из внешних прерываний INT0, INT1 может быть
активизировано по уровню «0» или по фронту (переход из «1» в
«0») сигналов на выводах Р3.2, Р3.3, что определяется состоянием
битов IT0 и IT1 регистра TCON. При поступлении запроса
внешнего прерывания INT0 или INT1 устанавливается флаг IE0
или IE1 регистра TCON. Установка этих флагов вызывает
соответствующее прерывание. Очистка флагов IT0 и IT1
производится следующим образом:
при прерывании по фронту IT0 и IT1 сбрасываются аппаратно
(автоматически) при обращении к соответствующей
подпрограмме обработки прерываний;
при прерывании по уровню флаги очищаются при снятии
запроса внешнего прерывания (т.е. IT0 и IT1 отслеживают
состояние входов INT0 или INT1).
Прерывания от таймеров/счетчиков вызываются установкой
флагов TF0 и TF1 регистра TCON, которые устанавливаются при
переполнении соответствующих регистров таймер/счетчиков (за
исключением режима 3). Очистка флагов TF0 и TF1 происходит
аппаратно (автоматически) при переходе к подпрограмме
обслуживания прерываний.
Прерывание от последовательного порта вызывается
установкой флага запроса прерывания приемника RI или
передатчика ТI в регистре SCON (см. табл. 3). В отличие от всех
22
остальных флагов, RI и ТI сбрасываются только программным
путем, обычно в программе обработки прерывания, где
определяется по какому из флагов RI или ТI произошло
прерывание.
Каждый из перечисленных источников прерываний может быть
глобально или индивидуально разрешен, либо запрещен
установкой или сбросом соответствующих битов регистра
разрешения прерываний IE. Формат и описание регистра IE
приведено в таблице 5.
Таблица.5.
Биты 7 6 5 4 3 2 1 0
Обозн. ЕА X X ЕS ET1 EX1 ET0 EX0
Таблица. 8
Источник Приоритет внутри уровня
IE0 (внешний вход INT0) высший
TF0 (таймер/счетчик 0)
IE1(внешний вход INT1)
24
TF1(таймер/счетчик 1)
RI+TI (последовательный канал) низший
Система команд
Для описания системы команд используются следующие
обозначения:
A - аккумулятор;
Rn - регистр общего назначения с номером n;
Direct - любой регистр специального назначения или ячейка
внутреннего ОЗУ;
#Data - байт данных, содержащийся во втором байте кода
команды.
Met - метка в командах переходов, указывающая какая команда
будет выполняться следующей.
Bit – имя прямоадресуемого бита (например: A.1, P2.3)
27
С другими функциональными возможностями ОМЭВМ и
полным перечнем команд можно ознакомиться в [2].
29
С0 5В
1 3 А R1
2
С1
4 5 6 В R2
С2
7 8 9 С R3
С3
* 0 # D R4
С4 С5 С6 С7
клавиатура АК-1607
R1-R4 – 22 кОм
Рис. 9. Клавиатура
Для исключения влияния дребезга контактов на
идентификацию состояния кнопок в каждую вертикальную линию
клавиатуры подключается антидребезговая схема (рис.10а).
30
С клавиатуры C1
R1
К микроконтроллеру
DD1.1 DD1.2
DD1 – К561ЛЕ5
С1 – 0.1 мкФ
R1 –100 кОм
Рис. 10а. Антидребезговая схема
«Грязный» 0
(дребезг)
Сигнал с
клавиши
Состояние
ёмкости
Вход
микрокон-
троллера
Рис. 10б. Срабатывание антидребезговой схемы
При изменении состояния клавиши (нажатии) с клавиатуры
вместо логической единицы «1» начинает поступать низкое
напряжение ( «грязный» 0, рис. 10б ). На выходе схемы в это время
пока еще присутствует логическая единица («1»). Возникает
разность потенциалов, ёмкость С1 начинает заряжаться, тем самым
не давая срабатывать инверторам DD1.1 и DD1.2 и не пропуская
неустойчивый сигнал на вход микроконтроллера. Когда ёмкость
зарядится полностью, инверторы сработают и пропустят сигнал на
выход. Если постоянная времени R1C1 выбрана достаточно
большой (рис. 10б ), напряжение достигает порога переключения
элемента DD1.1 после прекращения дребезга. При размыкании
кнопки переключение происходит аналогично.
Положительная обратная связь обеспечивает крутые фронты
выходного сигнала. В результате на выходе формируется импульс,
длительность которого соответствует времени замыкания
контактов, а фронт и спад импульса несколько задержаны
относительно моментов замыкания и размыкания контактов.
31
Замечание. При опросе клавиатуры нельзя одновременно
подключать корпус на несколько линий, поскольку невозможно
будет идентифицировать, какая именно кнопка нажата.
Пример: клавиатура подключена к порту Р0, разряды Р0.0-Р0.3
используются для выдачи сканирующего кода, разряды P0.4-P0.7
для ввода кода клавиши. Осуществить опрос и анализ нажатия
клавиш 0-3.
MOV P0,#FEH ; выдать сканирующий код
; 11111110
OPROS: MOV A,P0 ; прочитать код с линии
JNB A.4,MET1 ; перейти на метку МЕТ1,
; если нажата кнопка 0
JNB A.5,MET2 ; перейти на метку МЕТ2,
; если нажата кнопка 1
JNB A.6,MET3 ; перейти на метку МЕТ3,
; если нажата кнопка 2
JNB A.7,MET4 ; перейти на метку МЕТ4,
; если нажата кнопка 3
LJMP OPROS ; если не нажата ни одна клавиша,
; то повторить опрос клавиатуры
MET1: ………… ; команды, выполняемые при
; нажатии кнопки 0
MET2: ………… ; команды, выполняемые при
; нажатии кнопки 1
MET3: ………… ; команды, выполняемые при
; нажатии кнопки 2
MET4: ………… ; команды, выполняемые при
; нажатии кнопки 3
32
5B
R1=270 ОМ
VD1 –LT934IT VD1
К1 – SS-309
R1
К микроконтроллеру
К1
33
5B
DD1.A VD1
R1
От микроконтроллера
R1=270 ОМ
DD1.A – К155ЛП9
VD1 –LT934IT
Рис.12. Схема подключения светодиодного индикатора
34
О HL1
DD1.1
т R1
A A
DD1.2
м R2
и B F B
DD1.3
к R3
р C
DD1.4
о R4
к D
о DD1.5 G
R5 1
н E
т DD1.6
р R6 E C
о F 1
DD2.1
л R7
G 5B
л DD2.2
е R8
H D
р H
R1-R8 =270 ОМ 1
а 1
DD1,DD2 – К155ЛП9
HL1 –АЛС324Б
Рис.13. Схема подключения семисегментного индикатора
DD1.A – К155ЛП9
VD1
VD1 –KD522 15B
РK1 – RES91
Рис.14. Схема подключения реле
35
X
Пример. Реле PK1-PK8 подключены к входам порта Р1.0-
Р1.7. Выключить реле PK4, затем включить PK2 и PK5.
SETB P1.3 ; выключить реле РК4
CLR P1.1 ; включить реле РК2
CLR P1.4 ; включить реле РК5
36
Аналоговый мультиплексор (рис. 16). Работает аналогично
цифровому, но предназначен для коммутации аналогового
сигнала.
DA1
Датчик1 D0 DA1 – 564КП2
Датчик2 D1 C1 –0.1мкФ
Датчик3 D2
Датчик4 D3
Датчик5 D4 3
Y На АЦП
Датчик6 D5
Датчик7 D6
Датчик8 D7
1 16
От микрокон- 5B
2
троллера
3 8 С1
G 7
37
DA1
D10
D9
D8 1
Va Вых, U
От микрокон- D7
троллера D6 R2
D5 2
Vb
D4
D3
D2
D1 Ucc 14 15B
3 С1
DA1 – К572ПА1 GND
Uop
C1 –0.1мкФ
R1– 10 кОм R1
R2– 1кОм 15B
Рис.17. Схема подключения цифро-аналогового преобразователя
DD1 ПУ
МК 11 T1 IN OUT T1 14 RxD
RxD 13 R1 IN OUT R1 12
TxD
TxD 10 T2 IN OUT T2 7
8 R2 IN OUT R2 9
1 C1+ +12 V 2
С1 - 12 V 6 С4
3 C1- С3
4 C2+
С2
5
C2-
DD1 – DS232 16 15
C1-C4 – 1мкФ
C5 – 0.1мкФ 5B
Рис.18. Схема подключения буфера DS232 последовательного канала
38
На представленном рисунке МК-микроконтроллер, ПУ-
периферийное устройство Линия TxD микроконтроллера через
микросхему DS232 соединена с линией RxD периферийного
устройства, линия RxD микроконтроллера с линией TxD ПУ. По
линии TxD информация выставляется на передачу, по линии RxD
принимается.
39
Микроконтроллер
М П
У Е
Л Р
Б
Д Ь Е
у
А Т К
А 8 8 Ф
Т И Р1 P0 Л
Ц Е
Ч П Ю
П Р
И Л Ч
К Е А
1
И К Т
С Е
О Л
И
Р
Б И
у Н
5 Ф Д
8 И
Р3 Р2 Е
Р К
А
TxD 2 Т
ПОСЛЕДОВА-
RxD О
ТЕЛЬНЫЙ
Р
КАНАЛ
40
Таблица 9
Номер Порт Р0 Порт Р1 Порт Р2 Порт Р3
зачетк
и
Образе БП АМ+АЦП ИНД Управление АМ
ц и АЦП, ПК
00-10 БР БС АМ+АЦ Управление АМ
П и АЦП, ПК
11-20 КЛ ЦАП ЦАП ПК
21-30 ИНД АМ+АЦП КЛ Управление АМ
и АЦП, ПК
31-40 БС Два ДМ+уп- ЦАП ПК
равление ДМ
41-50 БР БС КЛ ПК
51-60 КЛ АМ+АЦП БР Управление АМ
и АЦП, ПК
61-70 БП ЦАП ИНД ПК
71-80 БП Два ДМ+уп- БР ПК
равление ДМ
81-90 БР АМ+АЦП БС Управление АМ
и АЦП, ПК
91-99 КЛ БР ЦАП ПК
41
заданы в таблице 2. Задание выбирается по двум последним
цифрам номера зачетки.
В заданиях N – последняя цифра, а К - предпоследняя цифра
номера зачетки. Если К=0, то взять К=5, а если К=9, то К=7.
Таблица 10
Номер Функции управляющей программы
зачетки
Образец Прочитать состояние переключателя К. Если он
включен, считать состояние аналогового датчика 3 с
АЦП, в противном случае датчика 4. Если считанный
код равен 69, то на семисегментный индикатор выдать
цифру N, иначе N+1 ( если N+1>9, индицировать
цифру 9) .
00-10 Считать состояние аналогового датчика К с АЦП. Если
считанный код равен 7F, то включить реле с номером
К, иначе с номером К+1 (если К+1>8, то взять вместо
него реле 7) . Включение реле отобразить на
светодиодах.
11-20 Прочитать состояние клавиш N и N+1. Если нажата
клавиша N, выдать управляющий код 55 на ЦАП порта
Р1, если нажата клавиша N+1 выдать управляющий
код АВ на ЦАП порта Р2. В противном случае ожидать
нажатия клавиши.
21-30 Прочитать состояние клавиши N. Если клавиша
нажата, то прочитать информацию с аналогового
датчика К, иначе с аналогового датчика К+1 ( если
К+1>8, то взять аналоговый датчик 7). Если считанный
код=38, на семисегментном индикаторе
проиндицировать цифру К, иначе N.
31-40 Прочитать состояние дискретного входа К с ДМ1. Если
он не равен нулю, то прочитать состояние дискретного
входа К+1 с ДМ2 (если К+1>8, то взять дискретный
вход 3).На светодиодах 1 и 2 отобразить состояние
опрашиваемых дискретных входов. На ЦАП выдать N.
41-50 Прочитать состояние клавиши N. Если клавиша
нажата, включить реле с номером К, иначе реле с
номером К+1 (если К+1>8, взять реле 4). Включение
42
реле отобразить на светодиодах.
51-60 Прочитать состояние клавиши N. Если клавиша
нажата, прочитать состояние с аналогового датчика с
номером К, иначе с номером К+1 (если К+1>8, взять
датчик 6). Если входной код равен 25, включить реле
К, в противном случае его выключить.
61-70 Прочитать состояние переключателя K. Если он не
равен нулю, то проиндицировать на семисегментном
индикаторе цифру К и выдать на ЦАП цифру N, иначе
К- на ЦАП, N - на индикатор .
71-80 Прочитать состояние переключателя К. Если он не
равен нулю, то прочитать состояние дискретного входа
К+1 с ДМ1, иначе с ДМ2 (если К+1>8, то взять
дискретный вход 2). Включить реле N, если вход=1,
иначе выключить.
81-90 Прочитать состояние аналогового датчика К. Если
считанный код равен 81, то включить реле 1, Если
равен 18, то реле 4, иначе реле 7. Включение реле
отобразить на светодиодах.
91-99 Прочитать состояние клавиш N и N+1. Если нажата
клавиша N, выдать управляющий код 67 на ЦАП, если
нажата клавиша N+1 включить реле 4.В противном
случае ожидать нажатия клавиши.
44
Рис.19 Пример принципиальной схемы для модуля "Образец"
Таблица 11
Обозначение Назначение Наименование
DD1 микроконтроллер семейства 89C51
MCS-51
DD2 буферная микросхема DS232
интерфейса RS-232
DD3, DD4 буферная микросхема К155ЛП9
DD5 аналого-цифровой К1113ПВ1А
преобразователь
DA1 аналоговый мультиплексор 564КП2
С1, С2 конденсатор 33пкФ±20% К10-17-1а
С3 конденсатор 10мкФ±20% К10-17-1а
С4, С5, С7, конденсатор 1мкФ±20% К10-17-1а
С8
С6, С9, С10, конденсатор 0.1мкФ±20% К10-17-1а
С11
R1,R2 резистор 0.125Вт 8.2 кОм ±10% С2-33
R3-R18 резистор0.125Вт 270Ом ±10% С2-33
VD1-VD8 светодиод LT934IT
K1-K8 переключатель SS-309
HL1 семисегментный индикатор АЛС324Б
Z кварц 11.059 мГц РК169 МА
45
М0
чтение состояния
снять запуск с
переключателей
АЦП
ключ 2 да нет
код=69
замкнут
нет
да
подключить
выдать на инди-
датчик 4
катор цифру 5
запуск АЦП М0
преобраз. нет
завершено
да
чтение кода с
АЦП
46
Текст программы на ассемблере:
47
3 6 1 Р2 Р1 Р0
4 2 4 Р0 Р1 Р2
5 5 6 Р1 Р0 Р2
6 8 3 Р2 Р0 Р1
7 7 1 Р0 Р1 Р2
8 2 5 Р1 Р2 Р0
9 1 4 Р2 Р1 Р0
48
Литература
Оглавление
1 Архитектура систем управления и контроля 3
Аппаратная база для систем автоматического
2. 4
управления
2.1 Микроконтроллеры семейства MCS-51 5
Базовая архитектура микроконтроллеров семейства
7
MCS-51
Блок управления 9
Блок счетчика команд 9
Арифметико-логическое устройство 10
Порты микроконтроллера 11
Внутренняя память данных 14
Блок таймеров / счетчиков 15
Блок последовательного интерфейса 18
Блок прерываний 21
Система команд 24
2.2 Типовые периферийные устройства 27
Аналого-цифровой преобразователь 27
Клавиатура 29
Переключатели 31
Светодиодный индикатор 32
Семисегментный индикатор 33
Блок реле 34
Цифровой мультиплексор 35
Аналоговый мультиплексор 36
49
Цифро-аналоговый преобразователь 36
Буфер последовательного порта 37
3. Задание для контрольной работы 38
4. Пример выполнения контрольной работы 42
5. Задания для лабораторных работ 46
5.1 Обработка дискретной информации 46
5.2 Обработка аналоговой информации 47
Литература 48
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ
50