Схема электрическая принципиальная к лабораторной работе

 

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

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

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

 

Рисунок 20.17 – Схема электрическая принципиальная

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

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

 

Листинг программы для создания проекта LR20_1

 

#include <P33FJ32MC204.h>

 

#define FOSC 7370000

#define FCY (FOSC / 2) // Настройка частоты выполнения

// инструкций

 

_FOSCSEL(FNOSC_FRC) //Настройка работы микроконтроллера

//от внутреннего тактового генератора

 

void main()

{

TRISBbits.TRISB15 = 0; // Выход VD1 (RB15)

 

while (1)

{

__delay32(FCY); //Организация временной задержки

LATBbits.LATB15 = 1;

 

__delay32(FCY);

LATBbits.LATB15 = 0;

}

}

 

Листинг программы для создания проекта LR20_2

#include <P33FJ32MC204.h>

_FOSCSEL(FNOSC_FRC) // Настройка работы микроконтроллера

// от внутреннего тактового генератора

 

// Инициализация таймера T1

void Init_Timer1()

{

T1CON = 0; // Сброс таймера

IFS0bits.T1IF = 0; // Сброс флага прерывания таймера

IEC0bits.T1IE = 1; // Разрешение прерывания от таймера

TMR1 = 0x0000; // Обнуление текущего значения таймера

PR1 = 0x0E65; // Задание периода таймера

 

 

T1CONbits.TON = 1; // Разрешение работы таймера и

// Его запуск

}

int _ms = 0;

 

void __attribute__((interrupt, no_auto_psv)) _T1Interrupt()

// Прерывание таймера T1 по совпадению

{

_ms++;

 

IFS0bits.T1IF = 0; // Сброс флага прерывания таймера

TMR1 = 0; // Перезапуск таймера

}

void main()

{

Init_Timer1();

TRISBbits.TRISB15 = 0; // Выход VD1 (RB15)

 

while (1)

{

if (_ms < 1000)

{

LATBbits.LATB15 = 0;

}

else if (_ms < 2000)

{

LATBbits.LATB15 = 1; }

else

{

_ms = 0;

}

}

}

 

Листинг программы для создания проекта LR20_3

 

#include <p33fj32mc204.h>

 

#define FOSC 7370000

#define FCY (FOSC/2)

 

_FOSC(OSCIOFNC_ON & POSCMD_NONE)

//Отключение дополнительной функции порта RA2 – выход

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

 

_FOSCSEL(FNOSC_FRC) // Настройка работы от

// внутреннего тактового

// генератора

 

void __delay32(unsigned long cycles);

int main()

{

 

TRISBbits.TRISB15 = 0; // Выход VD1 TRISBbits.TRISB13 = 0; // Выход VD2

 

TRISAbits.TRISA2 = 1; // Вход SA1

TRISAbits.TRISA3 = 1; // Вход SA2

 

while (1)

{

if (PORTAbits.RA2 == 1 && PORTAbits.RA3 == 1)

//Если тумблеры SA1 и SA2 одновременно включены

{

__delay32(FCY);

LATBbits.LATB15 = 1;

LATBbits.LATB13 = 0;

__delay32(FCY);

LATBbits.LATB15 = 0;

LATBbits.LATB13 = 1;

}

else

{

LATBbits.LATB15 = 0;

LATBbits.LATB13 = 0;

}

}

}

 

 

 

ЛИТЕРАТУРА

1 Цифровые и микропроцессорные устройства : конспект лекций для учащихся специальностей 2-45 01 03 – Сети телекоммуникаций, 2‑45 01 02 – Системы радиосвязи, радиовещания и телевидения. В 5 ч. Ч. 4 : Основы микропроцессорной техники; Ч. 5 : Принципы организации однокристальных микроконтроллеров. Организация памяти микропроцессорных систем / сост. В. И. Богородов. – Минск : ВГКС, 2009. – Ч. 4 – 63 с.; Ч. 5 – 85 с.

2 Data sheet. dsPIC33FJ32MC202/204. Microchip. 2012. –290 c.

3 MPLAB IDE User’s Guide. Microchip. 2009. –155 c.

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ. 3

ЛАБОРАТОРНАЯ РАБОТА № 12 СОСТАВЛЕНИЕ ЛИНЕЙНЫХ И ЦИКЛИЧЕСКИХ ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕР 3

ЛАБОРАТОРНАЯ РАБОТА №13 ОБУЧЕНИЕ РАБОТЕ НА СИМУЛЯТОРЕ МИКРОПРОЦЕССОРА Sim8085 Microprocessor Simulator 11

ЛАБОРАТОРНАЯ РАБОТА №14 АРИФМЕТИЧЕСКИЕ КОМАНДЫ... 20

ЛАБОРАТОРНАЯ РАБОТА №15 ЛОГИЧЕСКИЕ КОМАНДЫ И КОМАНДЫ СДВИГА 25

ЛАБОРАТОРНАЯ РАБОТА №16 КОМАНДЫ УПРАВЛЕНИЯ.. 32

ЛАБОРАТОРНАЯ РАБОТА №17 ОБУЧЕНИЕ РАБОТЕ В ИНТЕГРИРОВАННОЙ СРЕДЕ MPLAB IDE 40

ЛАБОРАТОРНАЯ РАБОТА №18 иЗУЧЕНИЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ dsPIC33F С ПОМОЩЬЮ ЯЗЫКА АССЕМБЛЕР. 47

ЛАБОРАТОРНАЯ РАБОТА №19 ИССЛЕДОВАНИЕ устройств ввода-вывода дискретных сигналов В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ НА БАЗЕ МИКроконтроллера семейства dsPIC33F 65

ЛАБОРАТОРНАЯ РАБОТА №20 РЕАЛИЗАЦИЯ ВРЕМЕННЫХ ФУНКЦИЙ В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ НА БАЗЕ МИКроконтроллера семейства dsPIC33F. 83

ЛИТЕРАТУРА.. 102

 


Учебное издание