- •Раздел 1. Микропроцессорные системы управления.
- •Раздел 2. Микроконтроллерные системы управления.
- •Раздел 3. Вопросы эксплуатации микропроцессорных устройств.
- •1. Микропроцессорные системы управления
- •1.1. Принципы построения и основы работы
- •Вопросы и задания
- •1.2. Элементная база мпсу
- •Вопросы и задания
- •1.3. Оперативные запоминающие устройства.
- •Вопросы и задания
- •1.4. Постоянные запоминающие устройства.
- •Вопросы и задания
- •1.5. Архитектура микропроцессора типа кр580вм80
- •Вопросы и задания
- •1.6. Типы машинных циклов и слово состояния
- •Вопросы и задания
- •1.7. Командные циклы чтения/записи
- •Вопросы и задания
- •1.8. Командный цикл подтверждения прерывания.
- •1.9. Принципиальные электрические схемы
- •Вопросы и задания
- •1.10. Интерфейс мпсу с изолированной системой шин
- •Вопросы и задания
- •1.11. Интерфейс мпсу с общей системой шин
- •1.12. Организация обслуживания запросов прерывания
- •Вопросы и задания
- •1.13. Программируемый контроллер
- •Вопросы и задания
- •1.14. Программируемый контроллер прерываний
- •Вопросы и задания
- •1.15. Программируемый интервальный таймер
- •Вопросы и задания
- •1.16. Мпсу с вводом-выводом аналоговой информации
- •Вопросы и задания
- •1.17. Выходные каскады мпсу
- •Вопросы и задания
- •2. Микроконтроллерные системы управления
- •2.1. Архитектура микроконтроллера к1816ве51
- •Вопросы и задания
- •2.2. Принципиальная электрическая схема порта
- •2.3. Схемы подключения внешней памяти к мк51
- •Вопросы и задания
- •2.4. Интерфейс мк51 с большим числом
- •Вопросы и задания
- •2.5. Таймер/счетчики мк51.
- •Вопросы и задания
- •2.6. Система прерываний мк51. Использование прерываний в программах
- •Вопросы и задания
- •2.7. Основы организации
- •Допустимые различия скорости приемо-передачи
- •2.8. Организация мультиконтроллерных систем
- •Программы инициализации станции и абонентов
- •Программы станции и абонента в сеансе "станция→абонент"
- •2.9. Микроконтроллерная система управления
- •3. Вопросы эксплуатации микропроцессорных устройств
- •3.1. Отладка аппаратных средств мпсу
- •Вопросы и задания
- •3.2. Отладка программного обеспечения мпсу
- •Вопросы и задания
- •3.3. Методы обеспечения помехоустойчивости мпсу
- •Вопросы и задания
- •1. Группа команд пересылок
- •2. Группа команд инкремента-декремента
- •3. Группа арифметических команд
- •4. Группа логических команд
- •5. Группа команд сдвига
- •6. Группа команд передачи управления
- •7. Группа команд работы со стеком
- •8. Группа команд ввода-вывода и управления микропроцессором
- •1. Группа команд пересылок
- •2. Группа команд арифметических операций
- •3. Группа команд логических операций
- •4. Группа команд операций с битами
- •5. Группа команд передачи управления
- •Дворак Николай Маркович микропроцессорные устройства
- •В высших учебных заведениях 3-4 уровней
- •98309, Г. Керчь, ул. Орджоникидзе, 82
- •98309, Г. Керчь, ул. Орджоникидзе, 82
Программы инициализации станции и абонентов
Мнемокод |
Комментарии |
MOV SCON, #D8 |
#D8H= #1101.1000 – установка режима 3 работы последовательного порта согласно рис.2.34 |
MOV IE, #87 |
#87H= #1000.0111 – запретить прерывания от Т/С1 и последовательного порта |
MOV TMOD, #20 |
#20H= #0010.0000B – установка режима 2 Т/С1 |
MOV TH1, #F3 |
Загрузка в регистр ТН1 константы #F3, определяющей скорость обмена 2400 бит/с (табл.2.4) при fQ=12 МГц |
SETB TR1 |
Старт Т/С1 |
Рис.2.39. Программа инициализации станции |
Мнемокод |
Комментарии |
MOV SCON, #F8 |
#F8H= #1111.1000 – установка режима 3 мультиконтроллерной работы последовательного порта (согласно рис.2.34) |
MOV IE, #97 |
#97H= #1001.0111 – запретить прерывания от Т/С1, разрешить прерывания от последовательного порта |
MOV TMOD, #20 |
#20H= #0010.0000B – установка режима 2 Т/С1 |
MOV TH1, #F3 |
Загрузка в регистр ТН1 константы #F3, определяющей скорость обмена 2400 бит/с (табл.2.4) |
SETB TR1 |
Старт Т/С1 |
Рис.2.40. Программа инициализации абонентов №1 и №2 |
Программы станции и абонента в сеансе "станция→абонент"
Метка |
Мнемокод |
Комментарии |
|
Вызов |
абонента №1 на связь |
|
SETB ТВ8 |
Установка бита ТВ8 с целью обеспечения возможности запуска подпрограмм прерывания всех абонентов |
|
MOV SBUF, #01 |
1-е широковещательное сообщение, в котором указаны № 1-го абонента и вид сеанса: "станция→абонент" |
|
CLR TB8 |
Сброс бита ТВ8 перед началом передачи данных |
Рис.2.41. Программа станции в сеансе "станция→абонент №1"
Метка |
Мнемокод |
Комментарии |
|
Подготовка |
к передаче данных от станции к абоненту №1 |
|
MOV R0, #30 |
Загрузка в регистр R0 косвенной адресации адреса 1-й ячейки РПД массива пересылаемых данных |
|
MOV R7, #04 |
Загрузка в регистр R7 количества ячеек массива пересылаемых данных (4 ячейки) |
|
Передача |
данных от станции к абоненту №1 |
M1 |
JNB TI, M1 |
Ожидание завершения передачи сообщения |
|
CLR TI |
Сброс флага передачи сообщения |
|
MOV SBUF, @R0 |
Передача очередного байта массива |
|
INC R0 |
Продвижение по адресам массива данных, предназначенных для передачи абоненту №1 |
|
DINZ R7, M1 |
Проверка конца передачи массива данных |
|
Передача |
абоненту №1 сообщения "Конец связи" |
M2 |
JNB TI, M2 |
Ожидание завершения передачи сообщения |
|
CLR TI |
Сброс флага передачи сообщения |
|
SETB ТВ8 |
Установка бита ТВ8 |
|
MOV SBUF, #01 |
2-е широковещательное сообщение, в котором указан № 1-го абонента. Сообщение конца связи |
M3 |
JNB TI, M3 |
Ожидание завершения передачи сообщения |
|
CLR TI |
Сброс флага передачи сообщения |
END1 |
Конец |
сеанса связи |
Рис.2.41. Продолжение |
Метка |
Мнемокод |
Комментарии |
|
Проверка |
адреса, поступившего со станции |
Адрес 0023 |
MOV A, SBUF |
По прерыванию RI приемника (стартовый адрес 0023) пересылка поступившего сообщения в аккумулятор |
|
MOV B, A |
Копирование А в регистр В |
|
CLR A.7 |
Подавление в принятом сообщении бита вида обмена |
|
CLR RI |
Сброс флага прерывания от приемника |
|
CJNE A, #01,EXIT1 |
Сравнение принятого кода с адресом 01Н абонента №1. Если поступил адрес не абонента №1, то на выход |
|
CLR SM2 |
Сброс бита SM2 в регистре SCON |
|
CLR ES |
Запрет прерываний от последовательного порта |
M4 |
JB B.7, OUT1 |
Распознавание вида связи: IN1 (ввод) и OUT1 (вывод) |
|
Подпрограмма |
приема данных со станции |
|
MOV R0, #45 |
Загрузка в регистр R0 косвенной адресации адреса 1-й ячейки РПД, в которую запишется 1-е принятое сообщение |
IN1 |
CLR RI |
Сброс флага RI запроса прерывания от приемника ПП |
M5 |
JNB RI, M5 |
Ожидание прихода сообщения |
|
JB RB8, M6 |
Проверка значения 8-го бита в поступившем сообщении. Если он равен 1, то завершить сеанс приема сообщений от станции |
Рис.2.42. Программа абонента №1 в сеансе "станция→абонент №1"
Метка |
Мнемокод |
Комментарии |
|
MOV @R0, SBUF |
Пересылка содержимого буфера ПП, в ячейку РПД |
|
INC R0 |
Установка адреса ячейки РПД, в которую запишется следующее сообщение от станции |
|
SJMP IN1 |
Безусловный переход на начало программы приема данных от станции |
OUT1 |
|| Подпрограмма |
передачи данных на станцию || |
|
Завершение |
сеанса связи со станцией |
M6 |
SETB SM2 |
Установка бита SM2 в регистре SCON |
|
SETB ES |
Разрешение прерываний от ПП |
EXIT1 |
RETI |
Выход из подпрограммы обработки прерывания от последовательного порта |
Рис.2.42. Продолжение |
Программы станции и абонента в сеансе "абонент→станция"
Метка |
Мнемокод |
Комментарии |
|
Вызов |
абонента №2 на связь |
|
SETB ТВ8 |
Установка бита ТВ8 с целью обеспечения возможности запуска подпрограмм прерывания всех абонентов от их приемников |
|
MOV SBUF, #82 |
1-е широковещательное сообщение, в котором указаны № 2-го абонента и вид сеанса: "абонент→станция" |
|
Подготовка |
к сеансу "абонент→станция" |
|
MOV R0, #56 |
Загрузка в регистр R0 косвенной адресации адреса 1-й ячейки массива РПД, в которую запишется 1-е сообщение, поступившее от абонента |
|
Прием станцией |
данных от абонента №2 |
M7 |
JNB RI, M7 |
Ожидание прихода сообщения от абонента |
|
CLR RI |
Сброс флага приема сообщения |
|
JB RB8, END2 |
Проверка бита RB8 конца связи |
|
MOV @R0, SBUF |
Запись поступившего сообщения в РПД |
|
INC R0 |
Продвижение по адресам массива РПД, в которую записываются принятые сообщения |
|
SJMP M7 |
Возврат на прием следующего сообщения |
END2 |
Конец |
сеанса связи |
Рис.2.43. Программа станции в сеансе "абонент №2→станция" |
Метка |
Мнемокод |
Комментарии |
|
Проверка |
адреса, переданного станцией |
Адрес 0023 |
MOV A, SBUF |
По прерыванию RI от приемника пересылка поступившего сообщения в аккумулятор |
|
MOV B, A |
Копирование А в регистр В |
|
CLR A.7 |
Подавление в принятом сообщении бита вида обмена |
|
CLR RI |
Сброс флага прерывания от приемника |
|
CJNE A, #02,EXIT2 |
Сравнить принятый код с адресом 02Н абонента №2. |
Рис.2.44. Программа абонента №2 в сеансе "абонент №2→станция"
Метка |
Мнемокод |
Комментарии |
|
Если поступил не адрес абонента №2, то на выход |
|
|
CLR SM2 |
Сброс бита SM2 в регистре SCON |
|
CLR ES |
Запрет прерываний от последовательного порта |
|
Распознание |
вида связи – ввод или вывод данных |
M4 |
JB B.7, OUT2 |
Проверка в операции выбора абонента 7-го бита, указывающего на вид связи |
IN2 |
|| Подпрограмма |
приема данных со станции || |
|
Подпрограмма |
передачи данных на станцию |
OUT2 |
MOV R0, #71 |
Загрузка в регистр R0 косвенной адресации адреса 1-й ячейки, содержимое которой отправится на станцию |
|
MOV R7, #03 |
Загрузка в регистр количества ячеек массива РПД, содержимое которых отправится на стацию |
|
CLR TB8 |
Сброс бита ТВ8, выполняющего роль указателя конца связи со станцией |
M8 |
MOV SBUF, @R0 |
Пересылка очередного бита на станцию |
|
INC R0 |
Продвижение по адресам массива РПД, содержимое которых предназначено для отправки на станцию |
M9 |
JNB TI, M9 |
Ожидание конца передачи сообщения |
|
CLR TI |
Сброс флага запроса прерывания от передатчика |
|
DJNZ R7, M8 |
Проверка конца массива пересылаемых данных. Если не все данные отправлены на станцию, то на метку М8 |
|
SETB TB8 |
Установка бита ТВ8, выполняющего роль указателя конца связи со станцией |
|
MOV SBUF, #02 |
Передача на станцию сообщения, содержащего адрес #02 абонента и 8-й бит со значением 1 |
M10 |
JNB TI, M10 |
Ожидание конца передачи сообщения |
|
CLR TI |
Сброс флага запроса прерывания от передатчика |
|
Завершение |
сеанса связи со станцией |
M6 |
SETB SM2 |
Установка бита SM2 в регистре SCON |
|
SETB ES |
Разрешение прерываний от ПП |
EXIT2 |
RETI |
Выход из подпрограммы обработки прерывания от последовательного порта |
Рис.2.44. Продолжение |
Вопросы и задания
1. Поясните принцип действия мультиконтроллерной системы.
2. Поясните программу инициализации станции.
3. Поясните программу инициализации абонентов.
4. Поясните программу станции в сеансе обмена информацией "станция-абонент".
5. Поясните программу абонента в сеансе обмена информацией "станция-абонент".
6. Поясните программу станции в сеансе обмена информацией "абонент-станция".
7. Поясните программу абонента в сеансе обмена информацией "абонент-станция".