Схема электрическая принципиальная к лабораторной работе. На рисунке 19.17 приведена схема электрическая принципиальная к лабораторной работе

На рисунке 19.17 приведена схема электрическая принципиальная к лабораторной работе.

Рисунок 19.17 – Схема электрическая принципиальная к лабораторной работе №19

Для ввода дискретной информации в МК широко применяются различные переключатели, кнопки и клавиатуры, либо иные дискретные датчики.

Дискретными выходами МК управляет различными исполнительными устройствами, работающими по принципу включено/выключено.

В схеме два дискретных датчика оформлены в виде двух переключателей SA1 и SA2, подключенных к выводам RA2 и RA3 МК.

Два дискретных выхода оформлены в виде двух светодиодов VD1 и VD2, подключенных к выводам RB15 и RB13 МК соответственно.

3 Алгоритм и листинг программы к заданию №1

Схема алгоритма для создания проекта LR19_1 представлена на
рисунке 19.18.

Рисунок 19.18 – Схема алгоритма программы к заданию №1

Листинг (исходный код) программы на языке программирования С к заданию №1 для прошивки МК:

#include <P33FJ32MC204.h>

_FOSC(OSCIOFNC_ON & POSCMD_NONE) //отключение дополнительной

//функции порта RA2 – выход

//тактирующего сигнала внутреннего //генератора

int main()

{

TRISBbits.TRISB15 = 0; // настройка порта RB15 на выход

TRISBbits.TRISB13 = 0; // настройка порта RB13 на выход

TRISAbits.TRISA2 = 1; // настройка порта RA2 на вход

TRISAbits.TRISA3 = 1; // настройка порта RA3 на вход

while (1)

{

LATBbits.LATB15 = PORTAbits.RA2;// установка соответствующего
// уровня сигнала на RB15

LATBbits.LATB13 = PORTAbits.RA3;// установка соответствующего

// уровня сигнала на RB15

}

}

4 Алгоритм и листинг программы к заданию №2

Схема алгоритма для создания проекта LR19_2 представлена на рисунке 19.19.

Листинг (исходный код) программы на языке программирования С к заданию №2 для прошивки МК:

#include <P33FJ32MC204.h>

_FOSC(OSCIOFNC_ON & POSCMD_NONE)

int main()

{

TRISBbits.TRISB15 = 0; // настройка порта RB15 на выход

TRISBbits.TRISB13 = 0; // настройка порта RB13 на выход

TRISAbits.TRISA2 = 1; // настройка порта RA2 на вход

TRISAbits.TRISA3 = 1; // настройка порта RA3 на вход

while (1)

{

if (PORTAbits.RA2 == PORTAbits.RA3)

{

LATBbits.LATB15 = 0;

LATBbits.LATB13 = 1;

}

else if (PORTAbits.RA2 == 1)

{

LATBbits.LATB15 = 0;

LATBbits.LATB13 = 0;

}

else if (PORTAbits.RA3 == 1)

{

LATBbits.LATB15 = 1;

LATBbits.LATB13 = 1;

}

}

}

Рисунок 19.19 – Схема алгоритма программы к заданию №2

ЛАБОРАТОРНАЯ РАБОТА №20


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: