Главная страница
Навигация по странице:

  • 2.2.Типовые периферийные устройства Аналого-цифровой преобразователь

  • Замечание.

  • Семисегментный индикатор.

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

  • Цифро-аналоговый преобразователь

  • Буфер последовательного порта

  • 3. Задание для контрольной работы

  • Отчет по работе должен содержать

  • 4. Пример выполнения контрольной работы Пример принципиальной схемы

  • Обозначение Назначение Наименование

  • Пример управляющей программы

  • Текст программы на ассемблере

  • Метод указания на КР (заочники). Учебнометодическое пособие для студентов заочного обучения по специальности 18. 04. 04 Эксплуатация электрооборудования и средств автоматики


    Скачать 492.6 Kb.
    НазваниеУчебнометодическое пособие для студентов заочного обучения по специальности 18. 04. 04 Эксплуатация электрооборудования и средств автоматики
    Дата21.02.2022
    Размер492.6 Kb.
    Формат файлаdocx
    Имя файлаМетод указания на КР (заочники).docx
    ТипУчебно-методическое пособие
    #369487
    страница3 из 4
    1   2   3   4

    Система команд

    Для описания системы команд используются следующие обозначения:

    A - аккумулятор;

    Rn - регистр общего назначения с номером n;

    Direct - любой регистр специального назначения или ячейка внутреннего ОЗУ;

    #Data - байт данных, содержащийся во втором байте кода команды.

    Met - метка в командах переходов, указывающая какая команда будет выполняться следующей.

    Bit – имя прямоадресуемого бита (например: A.1, P2.3)
    Наиболее часто используемые команды:

    1.Сложение содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор.

    ADD A,Rn ; A+Rn A - прибавить к содержимому аккумулятора содержимое регистра общего назначения с номером n

    ADD A,Direct ; A+Direct A - прибавить к содержимому аккумулятора содержимое ячейки внутреннего ОЗУ или регистра специального назначения

    ADD A,#Data ; A+Data A - прибавить к содержимому аккумулятора данные, содержащиеся во втором байте команды

    2.Вычитание из содержимого аккумулятора содержимого второго операнда, результат записывается в аккумулятор.

    SUBB A,Rn ; A-Rn A

    SUBB A,Direct ; A-Direct A

    SUBB A,#Data ; A-Data A

    3.Увеличение содержимого указанного операнда на 1.

    INC A ; A+1 A

    INC Direct ; Direct+1 Direct

    INC Rn ; Rn+1 Rn

    4.Уменьшение содержимого указанного операнда на 1.

    DEC A ; A-1 A

    DEC Direct ; Direct-1 Direct

    DEC Rn ; Rn-1 Rn

    5.Логическое умножение («И») содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор.

    ANL A,Rn ; A AND Rn A

    ANL A,Direct ; A AND Direct A

    ADD A,#Data ; A AND Data A

    6.Логическое сложение («ИЛИ») содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор.

    ORL A,Rn ; A OR Rn A

    ORL A,Direct ; A OR Direct A

    ORL A,#Data ; A OR Data A

    7.”Исключающее или” содержимого аккумулятора и содержимого второго операнда, результат записывается в аккумулятор.

    XRL A,Rn ; A XOR Rn A

    XRL A,Direct ; A XOR Direct A

    XRL A,#Data ; A XOR Data A

    8.Очистка аккумулятора – содержимое всех разрядов аккумулятора сбрасывается в ноль.

    CLR A ; 0 А

    9. Переслать содержимое второго операнда в первый.

    MOV A,Rn ; Rn A

    MOV A,Direct ;Direct A

    MOV A,#Data ;Data A

    MOV Rn,A ; A Rn

    MOV Rn,Direct ;Direct Rn

    MOV Rn,#Data ;Data Rn

    MOV Direct,Rn ; Rn Direct

    MOV Direct,A ;A Direct

    MOV Direct,#Data ;Data Direct

    10.Безусловный (обязательный) переход на команду, обозначенную указанной в команде меткой.

    LJMP Met

    11.Осуществить переход на команду, обозначенную указанной в команде меткой, если содержимое аккумулятора

    равно 0:

    JZ Met

    не равно 0:

    JNZ Met

    12.Осуществить переход на команду, обозначенную указанной в команде меткой, если содержимое операнда не равно заданным в команде данным.

    CJNE A,#Data,Met ;перейти на метку Met, если A ≠ Data

    CJNE Rn,#Data,Met ;перейти на метку Met, если Rn≠Data

    13.Уменьшить на единицу содержимое указанного регистра Rn и, если содержимое Rn не ноль, - переход на метку, указанную в команде.

    DJNZ Rn,Met

    14.Установка в «1» прямоадресуемого бита.

    SETB Bit ; 1 Bit

    15.Сброс в «0» прямоадресуемого бита.

    CLR Bit ; 0 bit

    16.Инвертирование содержимого прямоадресуемого бита.

    CPL Bit ; /Bit Bit

    11.Осуществить переход на команду, обозначенную указанной в команде меткой, если содержимое прямоадресуемого бита

    равно 0:

    JNB Bit,Met

    не равно 0:

    JB Bit,Met

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

    С другими функциональными возможностями ОМЭВМ и полным перечнем команд можно ознакомиться в [2].
    2.2.Типовые периферийные устройства
    Аналого-цифровой преобразователь (К1113ПВ1А). Функционально завершенный 10-разрядный АЦП предназначен для применения в электронной аппаратуре в составе блоков аналогового ввода. Выходные каскады с 3-мя состояниями позволяют подключать АЦП непосредственно к шине данных МП. Для эксплуатации микросхемы необходимы два источника питания.

    Аналоговый сигнал, напряжением 0-10,5В, подается на вход IN (нога 13).Запуск АЦП производится внешним сигналом ЗАПУСК (на входе АЦП RUN (вывод 11) формируется падающий фронт - переход из состояния 1 в состояние 0). При подаче сигнала ЗАПУСК АЦП начинает преобразование поступающего на вход IN напряжения в цифровой код, по окончании преобразования АЦП выдает двоичный код на выходы D0-D9 (выводы 18, 1-9), сопровождая его сигналом ГОТОВНОСТЬ ДАННЫХ GOT=0 (вывод 17). Обозначение выводов АЦП приведено на рис.8.



    Рис. 8. Аналого-цифровой преобразователь К1113ПВ1А

    X

    Пример: пусть вход АЦП RUN подключен к выходу порта Р2.0, а выход GOT соединен с P2.1. Из преобразованного кода используются старшие 8 разрядов, подключенные к порту Р0. Тогда обслуживание АЦП осуществляется следующим образом:

    CLR P2.0 ; запуск АЦП – формирование

    ; падающего фронта

    GOT: JB P2.1, GOT ; ожидание готовности (0)

    MOV A,P0 ; чтение преобразованного кода

    ; в аккумулятор

    SETB P2.0 ;перевод входа RUN в1, чтобы вновь

    ;сформировать падающий фронт
    Клавиатура. Схема клавиатуры представлена на рис. 9. Клавиатура имеет 16 клавиш (4*4).

    Со сканирующего порта на входы С3-С0 последовательно подаются коды 1110, 1101, 1011, 0111, тем самым поочередно к каждой горизонтальной линии подключается корпус. После выдачи кода, читаются старшие разряды С7-С4.

    Для сканирования первого ряда на входы С3-С0 выдается код 1110 (корпус подключен к первому горизонтальному ряду). Если не нажата ни одна из кнопок в этом ряду, то при чтении разрядов С7-С4 будет получен код 1111 (все линии под напряжением, тока нет). При нажатии кнопки “1”, через эту кнопку от источника на корпус будет идти ток, напряжение упадет и будет прочитан код 1110 (низкое напряжение на линии С4), кнопки “2” – 1101(низкое напряжение на линии С5), кнопки “3” – 1011(низкое напряжение на линии С6), кнопки “А” – 0111(низкое напряжение на линии С7).

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



    Рис. 9. Клавиатура

    Для исключения влияния дребезга контактов на идентификацию состояния кнопок в каждую вертикальную линию клавиатуры подключается антидребезговая схема (рис.10а).




    Рис. 10а. Антидребезговая схема



    Рис. 10б. Срабатывание антидребезговой схемы
    При изменении состояния клавиши (нажатии) с клавиатуры вместо логической единицы «1» начинает поступать низкое напряжение ( «грязный» 0, рис. 10б ). На выходе схемы в это время пока еще присутствует логическая единица («1»). Возникает разность потенциалов, ёмкость С1 начинает заряжаться, тем самым не давая срабатывать инверторам DD1.1 и DD1.2 и не пропуская неустойчивый сигнал на вход микроконтроллера. Когда ёмкость зарядится полностью, инверторы сработают и пропустят сигнал на выход. Если постоянная времени R1C1 выбрана достаточно большой (рис. 10б ), напряжение достигает порога переключения элемента DD1.1 после прекращения дребезга. При размыкании кнопки переключение происходит аналогично.

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

    Замечание. При опросе клавиатуры нельзя одновременно подключать корпус на несколько линий, поскольку невозможно будет идентифицировать, какая именно кнопка нажата.

    Пример: клавиатура подключена к порту Р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
    Переключатели. Схема подключения переключателя представлена на рис. 11. К любому порту микроконтроллера можно подключить до восьми переключателей. Если ключ К1 разомкнут, в цепи тока нет, на вход микроконтроллера поступает напряжение 5В (логическая 1), если ключ замкнут, ток через ключ пойдет на землю. Поскольку сопротивление ключа стремится к нулю, падение напряжения на нем будет равно 0 (т.е. на входе микроконтроллера появится логический 0).



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


    Пример. Переключатели К1-К8 подключены на входы порта Р1.0-Р1.7. Проанализировать состояние К1 и К5.

    MOV A, P1 ;прочитать состояние переключателей

    ; в аккумулятор

    JNB A.0,M1 ; если замкнут ключ 1, перейти

    ; на метку М1

    JNB A.5,M1 ; если замкнут ключ 6, перейти

    ; на метку М2

    ………………

    M1: …………… ; команды, выполняемые при

    ; замыкании ключа К1

    M2: ……………… ; команды, выполняемые при

    ; замыкании ключа К6
    Светодиодный индикатор. Схема включения светодиода, представленная на рис. 12, позволяет создать простейшие устройства отображения информациии. Для зажигания светодиода на соответствующий выход микроконтроллера нужно подать логический нуль (подключить корпус). Буфер DD1.1 необходим для обеспечения нужного тока через светодиод и является одним из шести равнозначных элементов в корпусе микросхемы К155ЛП9. Остальные элементы обозначаются соответственно DD1.2, DD1.3, DD1.4, DD1.5, DD1.6.



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


    Пример. Светодиоды VD1-VD8 подключены к выходам порта Р2.0-Р2.7. Погасить все светодиоды, затем включить VD3 и VD7.

    MOV P2,#FFH ; погасить светодиоды (FFh=11111111)

    CLR P2.2 ; включить VD3

    CLR P2.6 ; включить VD7
    Семисегментный индикатор.Семисегментный индикатор (рис. 13) позволяет отображать цифры и некоторые буквы. Для отображения нужного символа подготавливается комбинация из восьми нулей и единиц, затем отправляется в порт, к которому подключен семисегментный индикатор. Для включения сегмента на соответствующий выход микроконтроллера нужно подать логический 0. Например, для отображения цифры 6 необходимо подать код 10000010 (82H – в шестнадцатеричной системе). Буферы DD1, DD2 необходимы для обеспечения нужного тока через светодиодные сегменты.

    Пример. Семисегментный индикатор подключен к порту Р0. Проиндицировать цифру «6».

    Формируем двоичную комбинацию 10000010B и отправляем в порт с помощью команды

    MOV P0, #10000010B

    Можно перевести в шестнадцатеричный код 82H и также записать в порт

    MOV P0, #82H




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


    Блок реле. Блок исполнительных устройств включает в свой состав буферные усилители и реле, контакты которых могут управлять мощными объектами (например, контакторами электродвигателей и т.п.). В качестве буферных усилителей можно использовать микросхемы К155ЛП9, обеспечивающие ток до 300 мА. Реле включается при подаче на вход блока логического нуля (рис. 14). При этом ток от источника питания протекает через катушку реле РК1, буферный усилитель DD1.А на землю через выходной транзистор микроконтроллера. Замыкается контакт реле, замыкая внешнюю цепь Х1 – Х2.



    Рис.14. Схема подключения реле

    X

    Пример. Реле PK1-PK8 подключены к входам порта Р1.0-Р1.7. Выключить реле PK4, затем включить PK2 и PK5.

    SETB P1.3 ; выключить реле РК4

    CLR P1.1 ; включить реле РК2

    CLR P1.4 ; включить реле РК5
    Цифровой мультиплексор. Подключает один из восьми информационных входов D0-D7 на выход Y и W. Выбор входа осуществляется с помощью адресных входов А,В,С (рис. 15). При подаче на адресные входы кода 000 к выходу Y подключается вход D0, кода 001 – вход D1 и т.д., кода 111 – вход D7. Мультиплексоры позволяют создавать системы сбора информации с большим количеством датчиков.



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


    Пример. Управление преключением входа мультиплексора АBC осуществляется через порт Р3, разряды 5-7. Состояние сигнала Y подается на порт Р3, разряд 0. Проверить состояние датчика 6.

    MOV P3,#A0H ;подключить датчик 6 (A0H=10100000)

    JB P3.0, Met ;если с датчика 6 поступает 1,

    ; перейти на метку Меt.
    Аналоговый мультиплексор (рис. 16). Работает аналогично цифровому, но предназначен для коммутации аналогового сигнала.



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


    Пример. Управление переключением входа мультиплексора (контакты 1,2,3) осуществляется через порт Р2, разряды 0-2. Состояние сигнала Y подается на АЦП. Подключить к АЦП аналоговый датчик 3.

    MOV P2, #02H ;подключить датчик 3 (02H=00000010)
    Цифро-аналоговый преобразователь (рис. 17). ЦАП предназначен для преобразования цифрового кода в аналоговый сигнал. В данном пособии описано подключение 10 разрядного ЦАП К572ПА1. При подключении к 8 разрядной шине следует использовать входы D3-D10.

    Пример. Входы ЦАП D10-D3 подключены к выходам порта Р1 разряды 7-0. Выдать на ЦАП код 55Н.

    MOV P1,#55H




    Рис.17. Схема подключения цифро-аналогового преобразователя


    Буфер последовательного порта. Связь по последовательному каналу осуществляется через буферную микросхему DS232 (рис. 18).



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

    На представленном рисунке МК-микроконтроллер, ПУ- периферийное устройство Линия TxD микроконтроллера через микросхему DS232 соединена с линией RxD периферийного устройства, линия RxD микроконтроллера с линией TxD ПУ. По линии TxD информация выставляется на передачу, по линии RxD принимается.

    3. Задание для контрольной работы
    На рис. 19 представлена одна из множества возможных структур МП модуля распределенной системы для управления и сбора информации на базе ОМЭВМ. 8 аналоговых датчиков подключены к АЦП через аналоговый мультиплексор. Информация с АЦП по восьми линиям поступает в порт Р1. В ОМЭВМ информация обрабатывается (например, производится усреднение сигналов, сравнение с заданными уставками, хранение измеренных значений и т.п., подготовка информации для передачи на верхний уровень управления). Управление мультиплексором и АЦП осуществляется по 5 линиям порта Р3 (три линии необходимы для выбора датчика с помощью мультиплексора, две линии – для управления АЦП). Две линии порта Р3 (TxD и RxD) задействованы на организацию последовательного канала связи с другими модулями системы.

    К порту Р0 подключены 8 переключателей, которые позволяют с местного пульта изменять, например, режимы работы МП модуля. Порт Р2 обслуживает семисегментный индикатор, на котором может отражаться, например, номер выбранного режима работы.




    Рис.19. Структура микропроцессорного модуля



    Вам следует разработать принципиальную схему МП модуля, структура которого выбирается из таблицы 9 в соответствии с двумя последними цифрами вашей зачетки.
    Верхняя строка таблицы – образец. Здесь описана структура МП модуля, приведенного на рис. 19.
    Таблица 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

    КЛ

    БР

    ЦАП

    ПК


    В таблице приняты следующие обозначения:

    АМ - аналоговый мультиплексор;

    ДМ - дискретный мультиплексор;

    БП - блок из 8 переключателей;

    АЦП - аналого-цифровой преобразователь;

    ЦАП - цифро-аналоговый преобразователь;

    КЛ - клавиатура на 16 клавиш;

    БС - блок из 8 светодиодов;

    БР - блок из 8 реле;

    ИНД - семисегментный индикатор;

    ПК - последовательный канал.

    Для разработанной принципиальной схемы МП модуля требуется создать управляющую программу, функции которой заданы в таблице 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). Включение реле отобразить на светодиодах.

    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.В противном случае ожидать нажатия клавиши.


    Отчет по работе должен содержать:

    1.Задание для вашего варианта.

    2.Принципиальную схему МП модуля.

    3.Спецификацию (перечень элементов) для принципиальной схемы.

    4.Блок-схему программы.

    5.Текст программы на ассемблере.
    4. Пример выполнения контрольной

    работы
    Пример принципиальной схемы для модуля "Образец" приведен на рис.19, спецификация к схеме в таблице 11.




    Рис.19 Пример принципиальной схемы для модуля "Образец"



    Таблица 11

    Обозначение

    Назначение

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

    DD1

    микроконтроллер семейства MCS-51

    89C51

    DD2

    буферная микросхема интерфейса RS-232

    DS232

    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, С8

    конденсатор 1мкФ±20%

    К10-17-1а

    С6, С9, С10, С11

    конденсатор 0.1мкФ±20%

    К10-17-1а

    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 МА



    Пример управляющей программы для модуля (рис.19) по заданию «образец» (смотри таблицы 9 и 10).

    Пусть номер зачетки (2 последние цифры ) равен 25, тогда К=2, N=5. Для управления аналоговым мультиплексором использованы разряды Р3.2-Р3.4 , разряд Р3.5 – запуск АЦП, а разряд Р3.6 – готовность АЦП.

    Блок-схема управляющей программы приведена на рис. 20.




    Рис.20 Блок-схема управляющей программы



    Текст программы на ассемблере:
    M0: MOV A,P0 ;прочитать состояние переключателей

    JNB A.1,M1 ;проанализировать состояние ключа 2 ;если ключ замкнут, перейти на метку М1

    MOV P3,#EFh ;подключить датчик 4 (11101111)

    LJMP M2

    M1: MOV P3,#Ebh ;подключить датчик 3(11101011)

    M2: CLR P3.5 ;запустить АЦП

    GT: JB P3.6,GT ;ожидать завершения преобразования

    MOV A,P1 ;прочитать код с АЦП

    SETB P3.5 ;снять запуск АЦП

    CJNE A,#69h,M3 ;если код не равен 69, перейти на М3

    MOV P2,#92h ;выдать на индикатор цифру 5

    LJMP M0

    M3: MOV P2,#82h ;выдать на индикатор цифру 6

    LJMP M0 ; продолжить управление

    Литература
    1.Однокристальные микроЭВМ. М.: МИКАП, 1994,-400 с.

    2.Интегральные микросхемы: Микросхемы для аналого-цифрового преобразования и средств мультимедиа. Выпуск 1 – М. ДОДЕКА, 1996, 384с.


    1   2   3   4


    написать администратору сайта