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

  • ПРИЛОЖЕНИЕ А – ПРИНЦИПИАЛЬНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА УСТРОЙСТВА

  • ПРИЛОЖЕНИЕ Б – КОД ПРОГРАММЫ С КОММЕНТАРИЯМИ

  • Блок выпуска воды

  • МП Сам раб. Самостоятельная работа По дисциплине Микропроцессорная система Микропроцессорная система управление стиральной машиной Выполнил студент группы 42717 Пернекулов А. А


    Скачать 450.98 Kb.
    НазваниеСамостоятельная работа По дисциплине Микропроцессорная система Микропроцессорная система управление стиральной машиной Выполнил студент группы 42717 Пернекулов А. А
    Дата14.01.2020
    Размер450.98 Kb.
    Формат файлаdocx
    Имя файлаМП Сам раб.docx
    ТипСамостоятельная работа
    #104018
    страница3 из 3
    1   2   3

    СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


    1. О. Николайчук «x51-совместимые микроконтроллеры фирмы Silicon Laboratories (Cygnal),M.,ИД СКИМЕН,2004»

    2. Бродин В.Б., Шагурин М.И. Справочник. Микроконтроллеры: архитектура, программирование, интерфейс. М.: ЭКОМ 1991 г.

    3. «Справочник по однокристальным микроконтроллерам КМ1816ВЕ48 и КМ1816ВЕ51» (источник - http://ofap.ulstu.ru/files/REFER_BOOK_MK48&MK51/start.htm)

    4. Свободная энциклопедия «Википедия» (ресурс – http://www.wikipedia.org)

    5. Микропроцессорные средства: пособие по курсовому проектированию/ С.А. Лосев; Балт. гос. техн. ун-т, СПб., 2009.

    ПРИЛОЖЕНИЕ А – ПРИНЦИПИАЛЬНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА УСТРОЙСТВА
    ПРИЛОЖЕНИЕ Б – КОД ПРОГРАММЫ С КОММЕНТАРИЯМИ

    M_BLOCK :

    MOV A, P1; записываем в аккумулятор значение порта P1

    ANL A, #10B; обнуляем ненужные биты (оставляем только сигнал концевого датчика)

    JZ M_BLOCK; если дверь не закрыта (датчик разомкнут - P1.1=0) возвращаемся к началу проверки и так до тех пор пока дверца не будет зарыта

    SETb P2.3; закрыли замок на двери перед стиркой

    TIMER:MOV TMOD, #1B

    XRL TH0, TH0

    SETB TR0

    MOV A, #R2; посчитанное значение для текущего режима работы

    MOV R2, #0B

    MAIN:MOV R1, #0B

    INC R2

    SEC:INC R1

    CICLE: JNB TF0, CICLE

    CLR TF0

    CJNE R1, #11111111B, MAIN

    CJNE R2, A, END

    SJMP SEC

    END:RET

    ACPCONF: //Конфигурирование АЦП для использования AIN0 в однопроводном режиме

    MOV ADC0CF, #10000101b ; Тактовая частота преобразование SAR0 = 941кГц,коэф. усиления = 16

    MOV AMX0CF, #00H; 8 входов в однопроводном режиме

    MOV AMX0SL, #00H; Выбор входа AIN0

    MOV ADC0CN, #10001101b; Разрешение АЦП0 (режим непрерывной выборки, преобразование инициализируется по переполнению Таймера 2, данные выровнены по левому краю).

    MOV R0, P2 ; запись режима работы в регистр R0

    ANL R0, #00000011B ; обнуление ненужных бит (несмотря на обнуление второго бита, отвечающего за температуру, со входа P2.2 мы всегда сможем его считать)

    MOV A, R0 ; переносим в аккумулятор (для команды условного перехода)

    JZ M_NABOR ; если режим 0 (простая стирка) переходим к стирке

    DEC R0 // уменьшаем значение режима для последующего сравнения с нулём

    MOV A, R0 ; переносим в аккумулятор (для команды условного перехода)

    JZ M_PredNabor ; если режим "полоскание" переходим к установке режима "отжим" чтобы не стирать дважды

    DEC R0 ; уменьшаем значение режима для последующего сравнения с нулём

    MOV A, R0; переносим в аккумулятор (для команды условного перехода)

    JZ M_BezOtzhima ; если режим "без отжима" (10, уже равен 00) переходим

    SJMP M_OTZHIM ; если режим "отжим" (11, уже равен 01) переходим

    M_BezOtzhima:

    Mov R0, #11111111B ; устанавливаем любое значение кроме выбранных режимов, для того чтобы в последствии пропустить этап «отжим»

    SJMP M_NABOR ; пропускаем установку режима "отжим" и переходим к стирке

    M_PredNabor:

    MOV R0, #00000011B ; Устанавливаем режим "отжим"

    Блок набора воды:

    M_NABOR :

    ANL P0, #0B ; гасим светодиоды

    SETb P0.0 ; включаем светодиод "набор воды"

    SETb P1.2 ; включение насоса

    MOV R2, #10B; запись времени работы в данном режиме

    CALL TIMER ; включение таймера

    CLR P1.2 ; по истечению заданного времени залива происходит отключение насоса

    Блок нагрева воды:

    ANL P0, #00000000B ; гасим светодиоды

    JB P2.2, M_TEMP; проверка температурного режима

    MOV R3, #11110B; записали температуру 30 градусов

    M_TEMP:

    MOV R3, #111100B; записали температуру 60 градусов

    SETb P0.1 ; включем светодиод "нагрев воды"

    SETb P1.0 ; включаем тэн

    Считываем показания датчика температуры:

    CALL ACPCONF; конфигурирование ацп

    M_NSTEP:

    MOV A, ADCOH;старшие биты

    SWAP A; обмен тетрад

    ANL A, #0F0H; получили старший полубайт

    MOV R5, A; временно записываем в R5

    MOV A, ADC0L; считываем младший байт

    SWAP A; обмен тетрад

    ANL A, #0FH; получили младший полубайт

    ADD A, R5; суммирование полубайт

    CJNE A, R3, M_NSTEP ; если требуемая температура достигнута идем дальше, если нет проверяем снова

    CLR P1.0; выключили тэн

    Блок вращения барабана при стирке:

    ANL P0, #0B; гасим светодиоды

    SETb P0.2 ; включаем светодиод "стирка"

    MOV P1, #10000000B ; Установка скорости оборотов (режим 000)

    SETb P1.7 ;включение двигателя (старший бит=1)

    MOV R2, #100100B; запись времени работы в данном режиме

    CALL TIMER; Включение таймера

    CLR P1.7 ; выключение двигателя по истечении времени

    Блок выпуска воды:

    ANL P0, #0B ; гасим светодиоды

    SETb P0.3 ; включем светодиод "выпуск воды"

    SETb P1.3 ; открытие клапана

    MOV R2, #10B; запись времени работы в данном режиме

    CALL TIMER ; вызываем процедуру работы таймера

    CLR P1.3 ; закрытие клапана по истечении времени

    CJNE R0, #0B, M_PredNabor ; если первый режим (первые два бита порта P2 равны нулю) то переход

    CJNE R0, #11111111B, M_END ; если режим «быстрая стирка» то переход к окончанию работы

    Блок отжима (проходит во всех режимах работы кроме режима «быстрой стирки»):

    M_OTZHIM:

    ANL P0, #0B ; гасим светодиоды

    SETb P0.4 ; включаем светодиод "отжим"

    MOV A, P2 ; передача скорости двигателя в аккумулятор

    ANL A, #01110000B ; обнуление ненужных битов (оставляем только те, которые используются двигателем)

    MOV P2, A

    SETb P1.7 ; включение двигателя

    MOV R2, #1001000B; запись времени работы в данном режиме

    CALL TIMER ; включение таймера

    CLR P1.7 ; выключение двигателя по истечении времени

    Блок окончания работы :

    M_END:

    ANL P0, #0B ; гасим светодиоды

    SETb P0.5 ; включаем светодиод "конец работы"

    CLR P2.3 ; открыли замок

    1   2   3


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