program an do para controle de dispositivos em um pc

56
Programando para Controle de dispositiv os pelo Computador Luis Claudio Gambôa Lopes Informática Industrial/Automação SDM - Sistemas Digitais e Microprocessados CEFET -MG Campus III - Leopoldina 10 de setembro de 2009

Upload: michel-ribeiro

Post on 06-Jul-2015

2.727 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 1/56

 

Programando para Controle de dispositivos peloComputador

Luis Claudio Gambôa Lopes

Informática Industrial/AutomaçãoSDM - Sistemas Digitais e Microprocessados

CEFET-MG Campus III - Leopoldina

10 de setembro de 2009

Page 2: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 2/56

 

Sumário

1 Introdução 1

2 Portas de Comunicação do Computador e suas características 2

2.1 Características Elétricas Porta Paralela . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Características Elétricas Porta Serial . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Características Elétricas Porta USB . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Hardware para Acionamento de Dispositivos Externos 7

3.1 Circuito de Potência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Porta Paralela 9

4.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.2 Programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Porta Serial 11

5.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5.1.1 Condicionamento de Sinal RS232/TTL . . . . . . . . . . . . . . . . . 11

5.1.2 Circuito Microcontrolado (PIC) . . . . . . . . . . . . . . . . . . . . . 12

5.1.3 Transmissão por Infravermelho (IR) . . . . . . . . . . . . . . . . . . . 14

1

Page 3: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 3/56

 

5.1.4 Transmissão por Rádio Freqüência (RF) . . . . . . . . . . . . . . . . . 15

5.2 Programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.2.1 Microcontrolador (PIC) . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.2.2 PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6 Porta USB (Emulando Serial) 19

6.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6.2 Programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

A Códigos fontes Pic 22

A.1 Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

B Códigos fontes PC 24

B.1 Paralela Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

B.2 Paralela Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

B.3 Serial Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

B.4 Serial Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

C Microcontrolador PIC16F628A 28

C.1 Configuração das Portas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

C.2 Configuração Interrupções . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

C.3 Configuração Porta Serial Assíncrona . . . . . . . . . . . . . . . . . . . . . . 39

D Componentes 41

D.1 Alguns Componentes Utilizados . . . . . . . . . . . . . . . . . . . . . . . . . 41

2

Page 4: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 4/56

 

D.1.1 Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

D.1.2 Interruptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

D.1.3 Diodo e LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

D.1.4 Transistor Bipolar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

D.1.5 Capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

D.1.6 Regulador de Tensão . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

D.1.7 Relé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

D.1.8 Conversor RS232/TTL . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3

Page 5: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 5/56

 

Lista de Figuras

2.1 Porta Paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.2 Porta Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.3 Porta USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.4 Pinagem Porta Paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.5 Pinagem Porta Serial (DB9 Macho PC) . . . . . . . . . . . . . . . . . . . . . 5

2.6 Conexão Porta Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.7 Sinais da porta serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.8 Pinagem Porta USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1 Circuito de acionamento de dispostivos de potência . . . . . . . . . . . . . . . 8

4.1 Circuito Porta Paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.2 Foto Circuito Porta Paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.1 Conversor RS232/TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5.2 PIC porta serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.3 Foto PIC porta serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.4 Circuito de comunicação Infravermelho . . . . . . . . . . . . . . . . . . . . . 14

5.5 Foto do Foto-diodo e módulo receptor infravermelho . . . . . . . . . . . . . . 14

4

Page 6: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 6/56

 

5.6 Circuito transmissor rádio frequência PC . . . . . . . . . . . . . . . . . . . . . 15

5.7 Circuito transmissor rádio frequência PIC . . . . . . . . . . . . . . . . . . . . 16

5.8 Circuito receptor de rádio frequência acionando 2 motores . . . . . . . . . . . 17

5.9 Foto dos módulos receptor e transmissor de rádio frequência . . . . . . . . . . 17

5.10 Programa terinal gtkterm (linux) . . . . . . . . . . . . . . . . . . . . . . . . . 18

6.1 PIC porta USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

C.1 Pinagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

C.2 Foto Pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

C.3 Diagrama Interno do PIC16F628 . . . . . . . . . . . . . . . . . . . . . . . . . 31

C.4 PORTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

C.5 PORTB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

C.6 memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

C.7 Bank 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

C.8 Bank 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

C.9 Opcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

C.10 Configuração PORTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

C.11 Configuração PORTB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

C.12 Configuração interrupções . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

C.13 Configuração Transmissão Serial . . . . . . . . . . . . . . . . . . . . . . . . 39

C.14 Configuração Recepção Serial . . . . . . . . . . . . . . . . . . . . . . . . . . 40

C.15 Configuração Velocidade Serial . . . . . . . . . . . . . . . . . . . . . . . . . 40

5

Page 7: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 7/56

 

D.1 Símbolo Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

D.2 Foto Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

D.3 Símbolo Interruptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

D.4 Foto Interruptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

D.5 Símbolo Diodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

D.6 Foto Diodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

D.7 Símbolo LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

D.8 Foto LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

D.9 Símbolo Transistor NPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

D.10 Foto Transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

D.11 Símbolo Capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

D.12 Foto Capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

D.13 Símbolo Regulador de Tensão . . . . . . . . . . . . . . . . . . . . . . . . . . 45

D.14 Foto Regulador de Tensão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

D.15 Símbolo Relé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

D.16 Foto Relé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

D.17 Conversor RS232/TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6

Page 8: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 8/56

 

Lista de Tabelas

2.1 Tipos de Operação da porta paralela . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Pinos da porta paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Tipos de porta paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 Configuração porta Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

C.1 Microcontrollers Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

C.2 Microcontroller Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

C.3 Special Microcontroller Features . . . . . . . . . . . . . . . . . . . . . . . . . 29

C.4 Peripheral Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

D.1 Código de Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

7

Page 9: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 9/56

 

Resumo

Esse material tem como objetivo introduzir os conceitos básicos do uso de portas de comuni-cação de um computador, a programação necessária para criação dos softwares e o hardwarebásico para acesso e controle das portas . Os exemplos utilizados são válidos para os sistemasoperacionais Linux e Windows, mas podem ser convertidos para outros sistemas.

Page 10: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 10/56

 

Capítulo 1

Introdução

Este documento tem como objetivo fornecer uma introdução a programação para controle dedispositivos externos pelo computador, utilizando linguagem c nos sistemas operacionais Linuxe Windows. São abordados métodos de programação para controle através da porta paralela,serial e USB (emulando porta serial) bem como os circuitos básicos de interface discretos emicrocontrolados.

Pré-requisitos: Conhecimento de uma linguagem de programação e noções básicas deeletrônica.

1

Page 11: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 11/56

 

Capítulo 2

Portas de Comunicação do Computador e

suas características

As portas de um computador tem a funcionalidade de permitir o acesso de comunicação econtrole entre dispositivos externos e o computador. Através das portas é possível interagir comdispositivos externos, enviando ou lendo sinais elétricos para eles. Cada tipo de porta tem suascaracterísticas e aplicações.

Figura 2.1: Porta Paralela

Figura 2.2: Porta Serial

2

Page 12: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 12/56

 

Figura 2.3: Porta USB

2.1 Características Elétricas Porta Paralela

A porta paralela é um conector fêmea de 25 pinos (DB25) que fica situada atrás do gabinete,originalmente utilizada para o controle de impressoras, seus pinos receberam os nomes relativosa essa atividade.

A porta paralela pode funcionar em 3 modos configuravéis na BIOS do computador:

Tabela 2.1: Tipos de Operação da porta paralela  Modo Direção Velocidade Máxima

SPP (Standard Parallel Port) Transmissão unidirecional 150KB/s(4 bits)EPP ( Enhanced Parallel Port ) Transmissão bidirecional 2 MB/s (8 bits)ECP (Enhanced Capabilities Port) Transmissão bidirecional+DMA 2 MB/s (8 bits)

O tamanho máximo do cabo de ligação é de 8 metros, quanto menor o cabo menosinterferências e maior a velocidade.

3

Page 13: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 13/56

Page 14: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 14/56

 

Tabela 2.3: Tipos de porta paralela

Normal UM82C11-C IEEE 1284 level II

Data output (>2.4V) 2.6 mA 2 mA 14 mAData line sink (<0.4V) 24 mA 24 mA 14 mA

Control output (>2.4 V) 0.5 mA* 1.5 mA ?Signal lines (short circuit) 1 mA ? ?Control line sink (<0.4V) 7 mA 7 mA 14 mA

2.2 Características Elétricas Porta Serial

A porta serial é um conector macho de 9 pinos (DB9) ou de 25 pinos, situada atrás do gabinete,originalmente utilizada para dispositivos de comunicação externos (MODEMs), seus pinos re-ceberam nomes relativos sua utilização. Os sinais da porta serial seguem o padrão RS232, sendoo nível lógico 0 representado por uma tensão de +3 a +15Volts e o nível lógico 1 representadopor uma tensão de -3 a -15Volts.

5

9

4

8

3

7

2

6

1 DCD

DSR

RX

RTS

TX

CTS

DTR

RI

SG

Figura 2.5: Pinagem Porta Serial (DB9 Macho PC)

Figura 2.6: Conexão Porta Serial

Para utilizar a porta serial é necessário fazer sua configuração antes do uso, os parame-tros de configuração são mostrados na tabela 2.4.

5

Page 15: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 15/56

 

Tabela 2.4: Configuração porta Serial

Descrição Padrão para uso de microcontroladores

Velocidade 2400,4800,9600,19200 baudsNúmero de Bits de dados 7 ou 8 bits 8 bits

Paridade Par, Ímpar ou Nenhuma NenhumaNúmero de stop bits 1 ou 2 1 bitControle de fluxo Hardware, Software ou Nenhum Nenhum

Figura 2.7: Sinais da porta serial

2.3 Características Elétricas Porta USB

A porta usb é um conector fêmea de 4 pinos, situada atrás ou na frente do gabinete Os sinaiselétricos da porta USB não podem ser utilizados diretamente, sempre necessitando de circuitosexternos para isso.

1

4

3

2VCC

D−

D+

GND

Figura 2.8: Pinagem Porta USB

6

Page 16: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 16/56

 

Capítulo 3

Hardware para Acionamento de

Dispositivos Externos

Para se fazer um projeto de Hardware de um circuito eletrônico, é necessário o conhecimentode alguns conceitos de eletrônica e o conhecimento do funcionamento dos componentes quevão compor o projeto.

3.1 Circuito de Potência

Na Figura 3.1 é mostrado o circuito básico de acionamento de dispositivos de potência.

7

Page 17: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 17/56

 

1

2

5

4

4N256

RELAY

1

3

2

BC547

Entrada

Dispositivo

Dispositivo

1K

4.7K

Vcc

   D   ?

Figura 3.1: Circuito de acionamento de dispostivos de potência

8

Page 18: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 18/56

 

Capítulo 4

Porta Paralela

4.1 Hardware

Figura 4.1: Circuito Porta Paralela

9

Page 19: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 19/56

 

Figura 4.2: Foto Circuito Porta Paralela

4.2 Programação

Programas par linux e windows com a porta no modo SPP B.1 B.2.

10

Page 20: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 20/56

 

Capítulo 5

Porta Serial

5.1 Hardware

Para utilização da porta serial normalmente é necessário um circuito USART para se comunicarcom a USART interna do PC, esse circuito pode ser substituído por um registrador de desloca-mento e algumas portas lógicas ou por um microcontrolador que já possua um circuito USARTinternamente ou consiga emular por software uma USART.

5.1.1 Condicionamento de Sinal RS232/TTL

A maioria dos circuitos não trabalha com os padrões RS232 descritos na Seção 2.2, sendonecessário a conversão desse padrão para o padrão do circuito a ser construído, um dos padrõesmais utilizados é o TTL, já existindo soluções prontas com os circuitos MAX232 ou HIN232.

11

Page 21: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 21/56

 

Figura 5.1: Conversor RS232/TTL

5.1.2 Circuito Microcontrolado (PIC)

Um circuito simples para interface serial como o da Figura5.2 pode ser montado com um micro-controlador PIC16F628A e um conversor MAX232, nesse circuito o PORTA do PIC é utilizado

como entrada e o PORTB como saída, dois pinos do PORTB são utilizados para a comunicaçãoserial RB1(RX) e RB2(TX)

12

Page 22: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 22/56

 

1RA2

2RA3

3RA4

4MCLR/RA5

5Vss

6RB0

7RB1

8RB2

9RB3

18RA1

17RA0

16RA7/OSC1

15RA6/OSC2

14Vdd

13RB7

12RB6

11RB5

10RB4

U1

2V+

3 C1−

4 C2+

5 C2−

6V−

7Tx2 Out

8 Rx2 In 9Rx2 Out

10Tx2 In

11Tx1 In

12Rx1 Out13 Rx1 In

14 Tx1 Out

1 C1+

MAX232 U2

5

9

4

8

3

7

2

6

1

CONN1

R 1 3 301 2

LED1

R 2 3 301 2

LED2

R 3 3 301 2

LED3

R 4 3 301 2

LED4

R 5 3 301 2

LED5

R 6 3 301 2

LED6

21

S1

21

S2

21

S3

21

S4

21

S5

21

S6

+5V

+5V

   R   7

   1   0   k

   R   8

   1   0   k

   R   9

   1   0   k

   R   1   0

   1   0   k

   R   1   1

   1   0   k

   R   1   2

   1   0   k

   1

   2

 C 1  

1uF

   1

   2

 C 2  

1uF 1 2

C3

1uF

12

C4

1uF

+5V

PIC16F628A

DB9 Femea

   R   1   3

   1   0   k

   R   1   4

   1   0   k

21

S6

21

S6

Figura 5.2: PIC porta serial

Figura 5.3: Foto PIC porta serial

13

Page 23: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 23/56

 

5.1.3 Transmissão por Infravermelho (IR)

Figura 5.4: Circuito de comunicação Infravermelho

Figura 5.5: Foto do Foto-diodo e módulo receptor infravermelho

14

Page 24: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 24/56

 

5.1.4 Transmissão por Rádio Freqüência (RF)

FILE: REVISION:

DRAWN BY:PAGE OF

TITLE

IN OUT

7805

GND

1

2

3

U2

1  

2  

 C 1  

330uF

1  

2  

 C 2  

100uF

1  

2  L  E D 1  

   R   1

330R

+5VVcc

2 DATA

1 GND

3 VCC

4 ANT

   T   X   3   1   5   M   h

  z

U3

2

1

CONN2

1

ANT1

+5V

Transmissor serial PC

Luis Claudio Gamboa Lopes

2V+

3 C1−

4 C2+

5 C2−

6V−

7 Tx2 Out

8 Rx2 In 9Rx2 Out

10Tx2 In

11Tx1 In

12Rx1 Out13 Rx1 In

14Tx1 Out

1C1+

MAX232 U1

5

9

4

8

3

7

2

6

1

CONN1

2

1

3

CONN3

1  

2  

 C ?  

1  

2  

 C ?  

Nao esqueca dos pinos 15(GND) e 16 (VCC)

1 2

C?

12

C?

Jumper Debug serial

Figura 5.6: Circuito transmissor rádio frequência PC

15

Page 25: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 25/56

 

FILE: REVISION:

DRAWN BY:PAGE OF

TITLE

U1

1RA2

2RA3

3RA4

4MCLR/RA5

5Vss

6RB0

7RB1

8RB2

9

RB3

18RA1

17RA0

16RA7/OSC1

15RA6/OSC2

14Vdd

13RB7

12RB6

11RB5

10

RB4

U2

IN OUT

7805

GND

1

2

3

 C 1  

1  

2  

 C 2  

1  

2  

L  E D 1  

1  

2  

   R   1

   U   3

C3

C4

C5

+5VVcc

CONN1

2

4

6

1

3

5

U4

2DATA

1GND

3VCC

4ANT

   T   X   3   1   5   M   h  z

CONN2

2

1

2

4

6

1

3

5

CONN3

2

4

6

1

3

5

CONN4

+5V

ANT?

1

+5V

1000uF 100uF

280R

100nF

33pF

33pF

4MHz

+5V

+5V

+5V

   R   2

   1   0   K

   R   3

   1   0   K

   R   4

   1   0   K

   R   5

   1   0   K

   R   6

   1   0   K

   R   7

   1   0   K

   R   8

   1   0   K

   R   9

   1   0   K

R 1   0  

1   0  K 

R 1  1  

1   0  K 

R 1  2  

1   0  K 

R 1   3  

1   0  K 

Figura 5.7: Circuito transmissor rádio frequência PIC

16

Page 26: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 26/56

 

FILE: REVISION:

DRAWN BY:PAGE OF

TITLE

1RA2

2RA3

3RA4

4MCLR/RA5

5Vss

6RB0

7RB1

8RB2

9RB3

18RA1

17RA0

16RA7/OSC1

15RA6/OSC2

14Vdd

13RB7

12RB6

11RB5

10RB4

U1

L293

CHIP INHIBIT1

INPUT 12

OUTPUT 13

GND4

GND5

OUTPUT 26

INPUT 27

VC8

VSS16

INPUT 415

OUTPUT 414

GND13

GND12

OUTPUT 311

INPUT 310

CHIP INHIBIT 29

U2

M1

M2

+5V

+5V

+5V

IN OUT

7805

GND

1

2

3

U4

1  

2  

B 1  

10,8V

+5V   C   1

100uF

1  

2  

 C 

2  

330uF

   U   6 20MHz

C 4 3 3p F

C 5 3 3p F

   R   1

   1 .   5   K

1  

2  L  E D 1  

+5V

1

ANT1

ROBO FUTEBOL V1.0

Luis Claudio Gamboa Lopes

+5V

Vcc

Vcc

   C   3

100nF

Luis Claudio Gamboa Lopes

2

1

CONN1

2

1

3

CONN2

+5V

LD293DNE (diodo interno/600mA)

Jumper selecao de alimentacao

Jumper debug serial

   6

   G   N   D

   3

   D   A   T   A

   2

   D   A   T   A

   1

   G   N   D

   4

  +   5   V

   5

  +   5   V

   7

   G   N   D

   8

   A   N   T

RX 315Mhz

   U   7

Figura 5.8: Circuito receptor de rádio frequência acionando 2 motores

Figura 5.9: Foto dos módulos receptor e transmissor de rádio frequência

5.2 Programação

5.2.1 Microcontrolador (PIC)

O microcontrolador PIC16F628A já possuí uma USART interna, basta configurar a USARTinterna e a interrupção por recebimento de dados pela serial como no programa A.1.

17

Page 27: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 27/56

 

5.2.2 PC

Programas para Linux e Windows com porta no modo 9600 8N1 B.3 B.4.]

Figura 5.10: Programa terinal gtkterm (linux)

18

Page 28: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 28/56

 

Capítulo 6

Porta USB (Emulando Serial)

USB Data acquisition with PIC18F4550

This project is simple and small component count USB data acquisition or USB DAQ.The main core of USB device is PIC18F4550 .The firmware for PIC modified from MicrochipCDC library.

6.1 Hardware

Specifications

• 8 Digital output

• 8 Digital input

• 8 Analog output

• No external power required

• Simple ASCII command

• 3 command to communicate PC with PIC

19

Page 29: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 29/56

 

Figura 6.1: PIC porta USB

6.2 Programação

I use Delphi 6 on PC side to communicate with PIC18F4550 source code availible. Código

20

Page 30: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 30/56

 

Referências

Minicurso Comunicação Serial - RS232, Edmur Canzian - CNZ Engenharia e Informática Ltda(http://www.professores.aedb.br/arlei/AEDB/Arquivos/rs232.pdf)

Linux I/O port programming mini-HOWTO- Riku Saikkonen - (http://tldp.org/HOWTO/IO-Port-Programming.html)

PIC16F627A/628A/648A Data Sheet, Microchip ,DS40044F

21

Page 31: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 31/56

 

Apêndice A

Códigos fontes Pic

A.1 Serial

L IS T P =1 6F 62 8A

INCLUDE <p16f628A.inc>

  __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT & _LVP_OFF

ERRORLEVEL -302

CBLOCK 0x70 ;variaveis para salvar contexto na interrupcao

W_TEMP

S_TEMP

ENDC

;inico

ORG 0X0000

GOTO INICIO

;interrupcao

ORG 0X0004

;salva contexto

MOVWF W_TEMP

SWAPF STATUS,WMOVWF S_TEMP

;le serial

; BTFSS PIR1,RCIF ;verifica se interuupcao é da porta serial

; GOTO FIMS

BANKSEL RCREG

MOVFW RCREG

MOVWF PORTB

MOVFW PORTA

MOVWF TXREG

BCF PIR1,RCIF

;restaura contexto

FIMS: SWAPF S_TEMP,W

MOVWF STATUS

SWAPF W_TEMP,F

SWAPF W_TEMP,W

RETFIE

;programa principal

INICIO:

; configura portasMOVLW B’00000111’

MOVWF CMCON ;configura RA0,RA1,RA2,RA3

BANKSEL TRISA

MOVLW B’11111111’

MOVWF TRISA

MOVLW B’00000010’

MOVWF TRISB ;PORTB ,RB1 IN

BANKSEL PORTB

; inicializa serial

MOVLW B’10010000’

MOVWF RCSTA

BANKSEL TXSTA

MOVLW B’00100100’

MOVWF TXSTA

MOVLW D’25’;25 = 9600-8N1

MOVWF SPBRG

BANKSEL RCSTA

; habilita interrupcoesMOVLW B’11000000’;habilita GIE PEIE

MOVWF INTCON

BANKSEL PIE1

MOVLW B’00100000’;habilita RCIE

22

Page 32: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 32/56

 

MOVWF PIE1

BANKSEL PIR1

CLRF PORTB

;loop infinito

MAIN: GOTO MAIN

END

23

Page 33: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 33/56

 

Apêndice B

Códigos fontes PC

B.1 Paralela Linux#include <unistd.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/perm.h>

#include <sys/resource.h>

#include <asm/io.h>

#define BASEPORT 0x378

void main()

{

unsigned char data;

//pede permissão de acesso

if (ioperm (BASEPORT, 3, 1))

{

printf ("Erro ioperm\n");

exit (1);

};

/*********************** Programa principal ************************** /

//escreve dados

data=0xA5;

outb (data, BASEPORT);

//lê dados

data = inb (BASEPORT+1);

/******************** Finalização ****************************** /

//libera permissão de acesso

if (ioperm (BASEPORT, 3, 0))

{

printf ("Erro ioperm\n");

exit (1);

};

};

B.2 Paralela Windows/*

Programa para acesso a porta paralela

*/

#include <conio.h>

#include <stdio.h>

#include <windows.h>

/* endereço da porta */

#define BASE_ADDRESS 0x378

/* offset dos registros */

#define DATA 0

#define STATUS 1

#define CONTROLL 2

typedef short _stdcall ( *INP32)(short PortAddress);

typedef void _stdcall (*OUT32)(short PortAddress, short Data);

int main(void) {

24

Page 34: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 34/56

 

short value;

short des;

unsigned char data;

HINSTANCE hLib;

INP32 Inp32;

OUT32 Out32;

/******************** Inicialização da biblioteca *********************** /

//carrega bibiloteca

if ((hLib = LoadLibrary("inpout32.dll")) == NULL) {

printf("Unable to load inpout32.dll, did you copy it to the system folder?\n");

system("pause");

return 0;

}

//carrega função de leitura

if ((Inp32 = (INP32)GetProcAddress(hLib, "Inp32")) == NULL) {

printf("Unable to establish handle to input function.\n");

system("pause");

return 0;

}

//carrega função de escrita

if ((Out32 = (OUT32)GetProcAddress(hLib, "Out32")) == NULL) {

printf("Unable to establish handle to output function.\n");

system("pause");

return 0;

}

/*********************** Programa principal ************************** /

//escreve dados

data=5;

Out32(BASE_ADDRESS, data);

//lê dados

data = Inp32(BASE_ADDRESS+1);

/******************** Finalização ****************************** /

FreeLibrary(hLib);

system("pause");

return 1;

}

B.3 Serial Linux#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <termios.h>

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <string.h>

#define BAUDRATE B9600

#define MODEMDEVICE "/dev/ttyS0"

#define _POSIX_SOURCE 1 /* POSIX compliant source */

#define FALSE 0

#define TRUE 1

volatile int STOP=FALSE;

int

main()

{

int fd,c;

struct termios newtio;

//configuração

fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY | O_NONBLOCK);

if (fd <0) {perror(MODEMDEVICE); exit(-1); }

/ / t cg et at tr (f d, &o ld ti o) ; /* save current port settings */

bzero(&newtio, sizeof(newtio));

newtio.c_cflag = BAUDRATE |CS8 | CLOCAL | CREAD;

newtio.c_iflag = IGNPAR|ICRNL|IGNBRK;

newtio.c_oflag = 0;

/* set input mode (non-canonical, no echo,...) */newtio.c_lflag = 0;

n ew ti o. c_ cc [V TI ME ] = 0 ; /* inter-character timer unused */

n ewt io.c _cc [VMI N] = 5; /* blocking read until 5 chars received */

25

Page 35: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 35/56

 

tcflush(fd, TCIFLUSH);

tcsetattr(fd,TCSANOW,&newtio);

//programa

c=’0’;

while (1) { /* loop for input */

// lê dado do teclado

c=getchar();

//escreve na porta serial

write (fd,&c,1);

usleep(1000);

//lê porta serial

c=’0’;

read (fd,&c,1);

usleep(1000);

//imprime caracter recebido

printf("%c",c);

fflush(stdout);

}

return 0;

}

B.4 Serial Windows#include <conio.h>

#include <stdio.h>

#include <time.h>

#include <windows.h>

#include <string.h>

#define BAUDRATE 9600

#define MODEMDEVICE "com1"

int main()

{

HANDLE hCom;char c;

DWORD nbytes;

// variables used with the com port

BOOL bPortReady;

DCB dcb;

COMMTIMEOUTS CommTimeouts;

//configuração

hCom = CreateFile(MODEMDEVICE,

GENERIC_READ | GENERIC_WRITE,

0, // exclusive access

NULL, // no security

OPEN_EXISTING,

0, // no overlapped I/O

NULL); // null template

bPortReady = SetupComm(hCom, 2, 128); // set buffer sizes

bPortReady = GetCommState(hCom, &dcb);

dcb.BaudRate = BAUDRATE;

dcb.ByteSize = 8;

dcb.Parity = NOPARITY;

// dcb.Parity = EVENPARITY;

dcb.StopBits = ONESTOPBIT;

dcb.fAbortOnError = TRUE;

// set XON/XOFF

dcb.fOutX = FALSE; // XON/XOFF off for transmit

dcb.fInX = FALSE; // XON/XOFF off for receive

// set RTSCTS

dcb.fOutxCtsFlow = FALSE; // turn off CTS flow control

dcb.fRtsControl = RTS_CONTROL_DISABLE; //

// set DSRDTR

dcb.fOutxDsrFlow = FALSE; // turn off DSR flow control

dcb.fDtrControl = DTR_CONTROL_DISABLE; //

bPortReady = SetCommState(hCom, &dcb);

// Communication timeouts are optional

bPortReady = GetCommTimeouts (hCom, &CommTimeouts);

CommTimeouts.ReadIntervalTimeout = MAXDWORD;

26

Page 36: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 36/56

 

CommTimeouts.ReadTotalTimeoutConstant = 0;

CommTimeouts.ReadTotalTimeoutMultiplier = 0;

CommTimeouts.WriteTotalTimeoutConstant = 0;

CommTimeouts.WriteTotalTimeoutMultiplier = 0;

bPortReady = SetCommTimeouts (hCom, &CommTimeouts);

c=’0’;

while (1) { /* loop for input */

// lê dado do teclado

c=getchar();

//escreve na porta serial

WriteFile(hCom, &c, 1, &nbytes,NULL);

Sleep(1);

//lê porta serial

c=’0’;

ReadFile(hCom, &c, 1,&nbytes, NULL);

Sleep(1);

//imprime caracter recebido

printf("%c",c);

fflush(stdout);

}

return 0;

}

27

Page 37: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 37/56

 

Apêndice C

Microcontrolador PIC16F628A

O microcontrolador é um circuito integrado que pode ser programado para executar

determinas funções.O PIC utilizado no projeto é o PIC16F628, suas características são mostradas nas Tabe-las C.1, C.2, C.3 e C.4.

Tabela C.1: Microcontrollers Memory

Device FLASH RAM EEPROMProgram Data Data

PIC16F627 1024 x 14 224 x 8 128 x 8PIC16F628 2048 x 14 224 x 8 128 x 8

Tabela C.2: Microcontroller Features

Operating speeds from DC - 20 MHzInterrupt capability8-level deep hardware stackDirect, Indirect and Relative Addressing modes35 single word instructionsAll instructions single cycle except branches

28

Page 38: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 38/56

 

Tabela C.3: Special Microcontroller Features

Internal and external oscillator optionsPrecision Internal 4 MHz oscillator factory calibrated to +/-1%Low Power Internal 37 kHz oscillatorExternal Oscillator support for crystals and resonators.Power saving Sleep modeProgrammable weak pull-ups on PORTBMultiplexed Master Clear/Input-pinWatchdog Timer with independent oscillator for reliable operationLow voltage programmingIn-Circuit Serial Programming (via two pins)Programmable code protectionBrown-out ResetPower-on ResetPower-up Timer and Oscillator Start-up TimerWide operating voltage range. (2.0 - 5.5V)Industrial and extended temperature rangeHigh Endurance Flash/EEPROM Cell100,000 write Flash endurance1,000,000 write EEPROM endurance100 year data retention

Tabela C.4: Peripheral Features

16 I/O pins with individual direction controlHigh current sink/source for direct LED driveAnalog comparator module with:

Two analog comparatorsProgrammable on-chip voltage reference (VREF) moduleSelectable internal or external referenceComparator outputs are externally accessible

Timer0: 8-bit timer/counter with 8-bit programmable prescalerTimer1: 16-bit timer/counter with external crystal/clock capabilityTimer2: 8-bit timer/counter with 8-bit period register, prescaler and postscalerCapture, Compare, PWM module

16-bit Capture/Compare10-bit PWM

Addressable Universal Synchronous/Asynchronous Receiver/Transmitter USART/SCI

A pinagem do microcontrolador é mostrada na Figura C.1, onde pode se perceber quecada pino tem mais de uma função, a função utilizada pode ser programada via software e podeser mudada durante a execução do programa.

29

Page 39: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 39/56

 

Figura C.1: Pinagem

Figura C.2: Foto Pic

Na Figura C.3 é mostrado os blocos lógicos internos do microcontrolador e seus perifé-ricos.

30

Page 40: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 40/56

 

Figura C.3: Diagrama Interno do PIC16F628

As funções dos pinos e os tipos de sinais são descritos nas Figuras C.4 e C.5.

31

Page 41: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 41/56

 

Figura C.4: PORTA

32

Page 42: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 42/56

 

Figura C.5: PORTB

O mapa de memória é mostrado na Figura C.6 e os dois bancos mais utilizados sãomostrados nas Figuras C.7 e C.8;

33

Page 43: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 43/56

 

Figura C.6: memoria

34

Page 44: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 44/56

 

Figura C.7: Bank 0

35

Page 45: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 45/56

 

Figura C.8: Bank 1

As 35 instruções assembly do PIC16F628 são listadas na Figura C.9.

36

Page 46: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 46/56

 

Figura C.9: Opcodes

C.1 Configuração das Portas

O pic16f628a possui duas portas de 8 bits (PORTA e PORTB), os pinos das portas podem serconfigurados como entradas ou saídas, essa configuração é feita nos registradores TRISA parao PORTA e TRISB para o PORTB. Colocar um bit com o valor ’1’ no registrador TRISx indicaque o pino respectivo no PORTx será entrada, colocar ’0’ siginifica que o pino será uma saída.

No pic16f628 todos os pinos das duas portas podem ser usados com entrada, como saídaapenas o pino RA5 não pode ser utilizado e o pino RB4 é do tipo coletor aberto necessitandode um resistor de pull-up ligado a ele para funcionar.

37

Page 47: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 47/56

 

Figura C.10: Configuração PORTA

o PORTA e o PORTB tem funções multiplexadas em vários pinos, se essas funções

estiverem ativadas o pino do PORTx não pode ser utilizado como entrada e saída de dadosdigitais.

Figura C.11: Configuração PORTB

C.2 Configuração Interrupções

O pic16f628A possui três registradores de configuração de interrupção, todas as interrupçõessão tratadas no endereço 0x0004 da memória de programa.

38

Page 48: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 48/56

 

Figura C.12: Configuração interrupções

C.3 Configuração Porta Serial Assíncrona

Para se configurar a USART para modo de comunicação serial assíncrono existem três registra-dores. Para leitura e escrita serial existem mais dois registradores, TXREG e RCREG respecti-vamente.

Figura C.13: Configuração Transmissão Serial

39

Page 49: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 49/56

 

Figura C.14: Configuração Recepção Serial

Figura C.15: Configuração Velocidade Serial

40

Page 50: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 50/56

 

Apêndice D

Componentes

D.1 Alguns Componentes Utilizados

Para facilitar o entendimento do projeto, é descrito uma breve explicação sobre as funções doscomponentes utilizados serem utilizados.

D.1.1 Resistor

Resistor é utilizado principalmente para limitar a corrente em outros componentes. Seu valor écalculado com a utilização da Lei de Ohm I = V  

R.

Figura D.1: Símbolo Resistor

Figura D.2: Foto Resistor

Nos resitores comerciais seus valores são representados pelo código de cores descritona Tabela D.1.

41

Page 51: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 51/56

Page 52: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 52/56

 

Figura D.5: Símbolo Diodo

Figura D.6: Foto Diodo

O LED (Light Emitting Diode) é um diodo que quando polarizado diretamente emiteluz, normalmente os LED de 5mm funcionam com uma corrente máxima de 50mA, sendonecessário a utilização de um resistor em série para limitar a corrente.

Figura D.7: Símbolo LED

Figura D.8: Foto LED

43

Page 53: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 53/56

 

D.1.4 Transistor Bipolar

O transistor serve para amplificar sinais elétricos. Os transistores do tipo bipolar são amplifica-dores de corrente, uma corrente (I) que entra na base (B) e sai no emissor(E) faz aparecer umacorrente que entra no coletor (C) e sai no emissor (E) de valor β vezes maior. No nosso projeto

vamos utilizar o transistor como interruptor, ou seja, o transitor conduzindo no máximo ou nãoconduzindo nada (regiões de saturação e corte). Existem dois tipos de transitor bipolar, os PNPe os NPN, utilizaremos o NPN.

Figura D.9: Símbolo Transistor NPN

Figura D.10: Foto Transistor

D.1.5 Capacitor

O capacitor serve para armazenar cargas elétricas, no projeto ele é usado para filtrar ruído nossinais de alimentação. Analogamente ao uso de uma caixa de água quando falta pressão na águaque vem da rua, o capacitor fornece energia quando por algum motivo ela não vem direto dafonte e quando a alimentação da fonte está normal ele se carrega.

Figura D.11: Símbolo Capacitor

44

Page 54: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 54/56

 

Figura D.12: Foto Capacitor

D.1.6 Regulador de Tensão

Como o nome já diz, o regulador de tensão serve para manter a tensão num nível específico.Normalmente circuitos eletrônicos necessitam de um nível específico de tensão para seu correto

funcionamento, principalmente circuitos digitais. OS circuito integrados reguladores de tensãoda série 78XX são os mais comuns e amplamente utilizados em circuitos, o XX indica a tensãofixa de saída, um 7805 tem a tensão de saída fixa em 5Volts, a tensão de entrada tem que sermaior pelo menos 2 Volts da tensão de saída e o valor máximo de entrada é de 35 Volts e acorrente máxima fornecida é de 1 Ampére.

Figura D.13: Símbolo Regulador de Tensão

45

Page 55: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 55/56

 

Figura D.14: Foto Regulador de Tensão

D.1.7 Relé

O relé é um tipo de interruptor acionado eletricamente que permite o isolamento elétrico dedois circuitos. O relé é formado por um eletroímã (uma bobina enrolada sobre um núcleo dematerial ferromagnético) que quando acionado, através da atração eletromagnética, fecha oscontatos de um interruptor. Normalmente o interruptor de um relé tem duas posições, com isso

existem dois tipos, os NF(normalmente fechado) e NA (normalmente aberto). Um relé pode tervários interruptores (conhecidos como contatos) de ambos os tipos, normalmente eles suportamcorrentes de ate dezenas de Ampéres e centenas de Volts. A bobina do relé é acionada por umatensão contínua que é especificada de acordo com o fabricante, bobinas de 5, 12 e 24 Volts sãoas mais comuns.

Figura D.15: Símbolo Relé

46

Page 56: Program an Do Para Controle de Dispositivos Em Um PC

5/6/2018 Program an Do Para Controle de Dispositivos Em Um PC - slidepdf.com

http://slidepdf.com/reader/full/program-an-do-para-controle-de-dispositivos-em-um-pc 56/56

 

Figura D.16: Foto Relé

D.1.8 Conversor RS232/TTL

Figura D.17: Conversor RS232/TTL

47