Микроконтроллеры. Интерфейсы

Слайд 2

Что такое интерфейс? МК ПК Дисплей Память Часы МК ПЛИС I2C SPI UART драйвер UART GPIO

Что такое интерфейс?

МК

ПК

Дисплей

Память

Часы

МК

ПЛИС

I2C

SPI

UART

драйвер

UART

GPIO

Слайд 3

Состав микроконтроллера PIC16

Состав микроконтроллера PIC16

Слайд 4

МК GPIO: General Port Input Output RA0 RA1 RA2 RA3 RA4 RA5 RA6 RA7 PORTA TRISA

МК

GPIO: General Port Input Output

RA0

RA1

RA2

RA3

RA4

RA5

RA6

RA7

PORTA

TRISA

Слайд 5

Роспись выводов и внешний вид PIC16F877

Роспись выводов и внешний вид PIC16F877

Слайд 6

МК UART МК Тх Rх Тх Rх GND

МК

UART

МК

Тх


Тх


GND

Слайд 7

UART диаграмма данных (TTL)

UART диаграмма данных (TTL)

Слайд 8

UART void WriteCom(unsigned char value) { while(TXIF == 0) ; TXREG

UART

void WriteCom(unsigned char value)
{
while(TXIF == 0)
;
TXREG = value;
}
……………..
…………………
…………
…………………..
……………
WriteCom(25);
………………

Слайд 9

UART + драйвер RS232 ПК МК Тх Rх Тх Rх GND

UART + драйвер RS232

ПК

МК

Тх


Тх


GND

MAX232
Драйвер
Физ. ур

UART
Лог. Ур pic16

Длинная линия

Слайд 10

UART RS232

UART RS232

Слайд 11

UART + драйвер RS485 ПК МК Тх Rх Тх Rх GND

UART + драйвер RS485

ПК

МК

Тх


Тх


GND

MAX485
Драйвер

UART
Лог. Ур pic16

Длинная линия

Device

МК

Тх/Rх

Тх/Rх

GND

MAX485
Драйвер

UART
Лог. Ур pic16

Длинная линия

MAX485
Драйвер

Device

En

Слайд 12

UART + драйвер RS485

UART + драйвер RS485

Слайд 13

SPI SCLK : Serial Clock (output from master). MOSI : Master

SPI

SCLK : Serial Clock (output from master).
MOSI : Master Output,

Slave Input (output from master).
MISO : Master Input, Slave Output (output from slave).
SS : Slave Select (active low, output from master).
Слайд 14

SPI SCLK : Serial Clock (output from master). MOSI : Master

SPI

SCLK : Serial Clock (output from master).
MOSI : Master Output,

Slave Input (output from master).
MISO : Master Input, Slave Output (output from slave).
SS : Slave Select (active low, output from master).

-Только 4 провода
-Кол-во устройств ограничено кол-вом «пинов» МК
-Скорость до 4 МБит (1МБ, 10МБ)
-Полнодуплексный режим

Слайд 15

SPI SPI

SPI

SPI

Слайд 16

I2C -Только 2 провода -До 16 (8) устройств -Скорость до 400кБит

I2C

-Только 2 провода
-До 16 (8) устройств
-Скорость до 400кБит (100кБ, 1000кБ)
-Полудуплексный режим

SCL

: Serial Clock (output from master).
SDA : Serial Data
Слайд 17

I2C

I2C

Слайд 18

I2C void I2C_start (void) { BCLIF=0; SSPIF = 0; // сняли

I2C

void I2C_start (void)
{
BCLIF=0;
SSPIF = 0; // сняли флаг
SEN = 1; //

запустили стартовую последовательность
while(!SSPIF); // ждём установки флага
SSPIF = 0; // сняли флаг
}
void I2C_stop (void)
{
BCLIF=0;
SSPIF = 0; // сняли флаг
PEN = 1; // запустили стартовую последовательность
while(!SSPIF); // ждём установки флага
SSPIF = 0; // сняли флаг
}