SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Microcontroladores PIC
Portas de Entrada/Saída Digital

Fábio Souza
Interface com circuitos externo
• A interface com circuitos externos é feitas através de pinos que são
agrupados em PORTs.
PORTX
• OS PORTs são agrupados em até 8 pinos (bits) e são denominados:
PORTA, PORTB, PORTC .... Conforme a quantidade de pinos que o
microcontrolador apresenta.
Pinos de I/O no PIC16F84
• O PIC16F84 possui 2 PORTs :
• PORTA
• PORTB

Os PORTs estão divididos
da seguinte forma:
PORTA:
RA0
RA1
RA2
RA3
RA4

PORTB:
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
Configuração
• Os pinos de I/O podem ser configuradas como entrada ou saída
conforme a necessidade do hardware.
C1

R2
10k

22p

X1
C2
22p

BT1

U1

CRYSTAL
16
15
4

OSC1/CLKIN
OSC2/CLKOUT
MCLR

RA0
RA1
RA2
RA3
RA4/TOCKI
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7

R1
10k
PIC16F84

17
18
1
2
3
6
7
8
9
10
11
12
13

R3
330R

D1
LED-GREEN
Registradores para configuração
• Para definir se um pino será utilizado como entrada ou saída utiliza-se
o registrador TRISX.
• No PIC16F84
• TRISA
• TRISB
Entrada ou Saída?
• Configurando:
• Entrada -> bit = 1;
• Saída -> bit = 0
Escrita em pino
• Para escrita, o pino correspondente deve estar configurado como
saída no registrador TRISX correspondente.
• A escrita é é feita através do registrador PORTX correspondente.
• Exemplo: PORTA -> PIC16F84A
Exemplo: Acionando um LED
• LED apagado:

0V

RB7 = 0;
Ou
TRISB =0b00000000;

• LED aceso:

5V

RB7 = 1;
Ou
TRISB =0b10000000;
Leitura de nível lógico no pino
• Para leitura, o pino correspondente deve estar configurado como
entrada no registrador TRISX correspondente.
• A leitura é feita através do registrador PORTx.
• Exemplo: PORTA -> PIC16F84A
Exemplo:
Leitura de tecla com resistor de pull-up
• Tecla solta

• Tecla pressionada
RA0 = 1;
Ou
PORTA = 0bXXXXXXX1;

5V

RA0 = 0;
Ou
PORTA = 0bXXXXXXX0;

0V
Acionamento de pino na linguagem C
• Configuração ENTRADA/SAÍDA
TRISX = 0b00000000;//configura todos os pinos como saída

• Acionando um PINO:
PORTX.RXY = 0;
PORTX.RXY = 1;

//coloca nível 0 no pino
//coloca nível 1 no pino

• Acionando mais de um PINO:
PORTX = 0b10100101;//aciona PORTX inteiro de uma vez
X: A, B, C , D... Conforme PORTs
Y: 0,1,2,3....
Conforme pinos
Exemplo – Pisca LED
void main() {
TRISB = 0b00000000;
PORTB = 0;
while(1){
PORTB.RB7 = 1;
Delay_ms(1000);
PORTB.RB7 = 0;
Delay_ms(1000);
}

}

//configura todos os pinos do PORTB como saída
//desliga todos os pinos do PORTB
//loop infinito
//liga led
//aguarda 1 seg
//desliga led
//aguarda 1 seg
//repete ciclo
Leitura de pino em linguagem C
• Configuração ENTRADA/SAÍDA
TRISX = 0b00000000;//configura todos os pinos como saída

• Lendo um PINO:
valor_booleano = PORTX.RXY; //atribui o valor do pino a uma variável booleana
Valor_inteiro = PORTX;
//atribui o valor do port todo a uma variável int

if(PORTX.RXY == 0) //verifica o valor do pino e toma uma ação de verdadeiro
{
}
while(PORTX.RXY == 0); //enquanto pino em nível 0 fica no loop
Exemplo – Leitura de Tecla
void main() {
TRISA.B0 = 1;
TRISB.B7 = 0;
while(1)
{
if(PORTA.RA0 == 0)
{
PORTB.RB7 = 1;
}
else
{
PORTB.RB7= 0;
}
}
}

//configura pino RA0 como entrada
//Configura pino RB7 como saída
//loop infinito

//se tecla pressionada
//liga led
//se tecla solta
//desliga led

Mais conteúdo relacionado

Mais procurados

EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CLuis Zurita
 
periféricos de entrada, saída e mistos
periféricos de entrada, saída e mistosperiféricos de entrada, saída e mistos
periféricos de entrada, saída e mistosRaquel Guimaraes
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeraçãoGoncalo
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05Cristian Ortiz Gómez
 
Arduino: Programando el Simon dice
Arduino: Programando el Simon diceArduino: Programando el Simon dice
Arduino: Programando el Simon diceAlberto Labarga
 
Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreLuis Zurita
 
Ab funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasAb funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasMarco Antonio Costa
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IPPjpilin
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosRodrigo Almeida
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Exprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exerciciosExprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exerciciosJoãopedro Machado
 
Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PICFabio Souza
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladoresDanilo Morais Pagano
 
Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4Jose Verissimo
 

Mais procurados (20)

EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
 
periféricos de entrada, saída e mistos
periféricos de entrada, saída e mistosperiféricos de entrada, saída e mistos
periféricos de entrada, saída e mistos
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05
 
Arduino: Programando el Simon dice
Arduino: Programando el Simon diceArduino: Programando el Simon dice
Arduino: Programando el Simon dice
 
Ficha de trabalho 1 modulo 1
Ficha de trabalho 1   modulo 1Ficha de trabalho 1   modulo 1
Ficha de trabalho 1 modulo 1
 
Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladore
 
Ab funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicasAb funcoes-logicas-portas-logicas
Ab funcoes-logicas-portas-logicas
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IP
 
Aula 4 conversor ad e pwm
Aula 4   conversor ad e pwmAula 4   conversor ad e pwm
Aula 4 conversor ad e pwm
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexados
 
Flip Flops Parte 3
Flip Flops Parte 3Flip Flops Parte 3
Flip Flops Parte 3
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Exprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exerciciosExprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exercicios
 
Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PIC
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
Profibus dp
Profibus dpProfibus dp
Profibus dp
 
Memoria sram
Memoria sramMemoria sram
Memoria sram
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4
 

Destaque

Microcontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitaisMicrocontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitaisFabio Souza
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônicaFabio Souza
 
Apostila pic 16f877
Apostila pic 16f877Apostila pic 16f877
Apostila pic 16f877Luciano Zica
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoFabio Souza
 
Apostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaApostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaFabio Souza
 
Apostila de PIC
Apostila de PICApostila de PIC
Apostila de PICluizgraf
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014Fabio Souza
 
Curso mbed na KL25Z
Curso mbed na KL25ZCurso mbed na KL25Z
Curso mbed na KL25ZFabio Souza
 
Arquitetura do pic
Arquitetura do picArquitetura do pic
Arquitetura do picSaddam Lande
 
1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic1 história e características dos microcontroladores pic
1 história e características dos microcontroladores picAnderson Inácio Morais
 
Microcontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD AlfanuméricoMicrocontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD AlfanuméricoFabio Souza
 
Apostila pic-c
Apostila pic-cApostila pic-c
Apostila pic-cjlconrado
 
Exercicios LCD E ADC
Exercicios LCD E ADCExercicios LCD E ADC
Exercicios LCD E ADCFabio Souza
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaDaniel Rodrigues de Sousa
 
Máquinas elétricas transformador monofásico
Máquinas elétricas   transformador monofásicoMáquinas elétricas   transformador monofásico
Máquinas elétricas transformador monofásicoFabio Souza
 
Registradores contadores memórias_r2
Registradores contadores memórias_r2Registradores contadores memórias_r2
Registradores contadores memórias_r2Eduardo_borges
 
Entradas E Saídas Digitais AnalóGicas
Entradas E Saídas Digitais AnalóGicasEntradas E Saídas Digitais AnalóGicas
Entradas E Saídas Digitais AnalóGicasJÚLIO PEIXOTO
 

Destaque (20)

Microcontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitaisMicrocontroladores PIC - Exercícios para estudos de I/O digitais
Microcontroladores PIC - Exercícios para estudos de I/O digitais
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônica
 
Apostila pic 16f877
Apostila pic 16f877Apostila pic 16f877
Apostila pic 16f877
 
Microcontroladores PIC - Introdução
Microcontroladores PIC - IntroduçãoMicrocontroladores PIC - Introdução
Microcontroladores PIC - Introdução
 
Apostila Arduino - FBS Eletrônica
Apostila Arduino - FBS EletrônicaApostila Arduino - FBS Eletrônica
Apostila Arduino - FBS Eletrônica
 
Contadores
ContadoresContadores
Contadores
 
Apostila de PIC
Apostila de PICApostila de PIC
Apostila de PIC
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
 
Curso mbed na KL25Z
Curso mbed na KL25ZCurso mbed na KL25Z
Curso mbed na KL25Z
 
Arquitetura do pic
Arquitetura do picArquitetura do pic
Arquitetura do pic
 
1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic1 história e características dos microcontroladores pic
1 história e características dos microcontroladores pic
 
Microcontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD AlfanuméricoMicrocontroladores PIC - Display LCD Alfanumérico
Microcontroladores PIC - Display LCD Alfanumérico
 
Aplicações do microcontrolador PIC
Aplicações do microcontrolador PICAplicações do microcontrolador PIC
Aplicações do microcontrolador PIC
 
Apostila pic18 f-microgenios
Apostila pic18 f-microgeniosApostila pic18 f-microgenios
Apostila pic18 f-microgenios
 
Apostila pic-c
Apostila pic-cApostila pic-c
Apostila pic-c
 
Exercicios LCD E ADC
Exercicios LCD E ADCExercicios LCD E ADC
Exercicios LCD E ADC
 
Aplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a diaAplicação dos microcontroladores no dia a dia
Aplicação dos microcontroladores no dia a dia
 
Máquinas elétricas transformador monofásico
Máquinas elétricas   transformador monofásicoMáquinas elétricas   transformador monofásico
Máquinas elétricas transformador monofásico
 
Registradores contadores memórias_r2
Registradores contadores memórias_r2Registradores contadores memórias_r2
Registradores contadores memórias_r2
 
Entradas E Saídas Digitais AnalóGicas
Entradas E Saídas Digitais AnalóGicasEntradas E Saídas Digitais AnalóGicas
Entradas E Saídas Digitais AnalóGicas
 

Semelhante a Microcontroladores PIC - Entradas e saídas Digitais

Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardFabio Souza
 
Arquitetura de Computadores: Memórias - Nível lógico
Arquitetura de Computadores: Memórias - Nível lógicoArquitetura de Computadores: Memórias - Nível lógico
Arquitetura de Computadores: Memórias - Nível lógicoElaine Cecília Gatto
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccsLuciano Zica
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptxfmtpereira
 
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCFrequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCPaulo Duarte
 
UFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptxUFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptxcentroclinicosalus
 
Documentação Plataforma Ton
Documentação Plataforma TonDocumentação Plataforma Ton
Documentação Plataforma TonIoton Technology
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Cláudio Alves
 

Semelhante a Microcontroladores PIC - Entradas e saídas Digitais (20)

Pic18xx
Pic18xxPic18xx
Pic18xx
 
Pic16f628a
Pic16f628aPic16f628a
Pic16f628a
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity Board
 
Pic slides
Pic slidesPic slides
Pic slides
 
Arquitetura de Computadores: Memórias - Nível lógico
Arquitetura de Computadores: Memórias - Nível lógicoArquitetura de Computadores: Memórias - Nível lógico
Arquitetura de Computadores: Memórias - Nível lógico
 
Mini Curso Introdutório ao Arduino
Mini Curso Introdutório ao ArduinoMini Curso Introdutório ao Arduino
Mini Curso Introdutório ao Arduino
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccs
 
2 manual - clp pic40-v3
2 manual - clp pic40-v32 manual - clp pic40-v3
2 manual - clp pic40-v3
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 
Pisca 2 leds
Pisca 2  ledsPisca 2  leds
Pisca 2 leds
 
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PCFrequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
Frequency Meter using Microchip PIC16F877A SPI to Arduino Virtual COM to PC
 
UFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptxUFCD-6072-Microcontroladores-Registos.pptx
UFCD-6072-Microcontroladores-Registos.pptx
 
Documentação Plataforma Ton
Documentação Plataforma TonDocumentação Plataforma Ton
Documentação Plataforma Ton
 
Documentação Plataforma Ton
Documentação Plataforma TonDocumentação Plataforma Ton
Documentação Plataforma Ton
 
codificadores decodificadores
codificadores decodificadorescodificadores decodificadores
codificadores decodificadores
 
Arduino
ArduinoArduino
Arduino
 
ARM
ARMARM
ARM
 
Comunicação serial
Comunicação serialComunicação serial
Comunicação serial
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
 

Mais de Fabio Souza

RISC-V Design Challenge
RISC-V Design ChallengeRISC-V Design Challenge
RISC-V Design ChallengeFabio Souza
 
Palestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso paísPalestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso paísFabio Souza
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedFabio Souza
 
Micropython - Python para microcontroladores
Micropython - Python para microcontroladoresMicropython - Python para microcontroladores
Micropython - Python para microcontroladoresFabio Souza
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetFabio Souza
 
Open Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundoOpen Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundoFabio Souza
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?Fabio Souza
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?Fabio Souza
 
Como o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundoComo o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundoFabio Souza
 
Montando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardwareMontando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardwareFabio Souza
 
Monte sua franzininho, uma placa arduino compatível
 Monte sua franzininho, uma placa arduino compatível Monte sua franzininho, uma placa arduino compatível
Monte sua franzininho, uma placa arduino compatívelFabio Souza
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareFabio Souza
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareFabio Souza
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPFabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - MotoresMicrocontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - MotoresFabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...Fabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...Fabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...Fabio Souza
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Fabio Souza
 
Construindo sua placa baseada em Arduino
Construindo sua placa baseada em ArduinoConstruindo sua placa baseada em Arduino
Construindo sua placa baseada em ArduinoFabio Souza
 

Mais de Fabio Souza (20)

RISC-V Design Challenge
RISC-V Design ChallengeRISC-V Design Challenge
RISC-V Design Challenge
 
Palestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso paísPalestra Como o open hardware pode impactar na educação do nosso país
Palestra Como o open hardware pode impactar na educação do nosso país
 
Programe a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbedPrograme a STM32L4 Discovery kit IoT node com ARM mbed
Programe a STM32L4 Discovery kit IoT node com ARM mbed
 
Micropython - Python para microcontroladores
Micropython - Python para microcontroladoresMicropython - Python para microcontroladores
Micropython - Python para microcontroladores
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da Internet
 
Open Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundoOpen Hardware - Projetos que estão mudando o mundo
Open Hardware - Projetos que estão mudando o mundo
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?
 
Como publicar um projeto open hardware?
Como publicar um projeto  open hardware?Como publicar um projeto  open hardware?
Como publicar um projeto open hardware?
 
Como o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundoComo o movimento maker e a internet das coisas estão revolucionando o mundo
Como o movimento maker e a internet das coisas estão revolucionando o mundo
 
Montando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardwareMontando sua própria placa arduino e compartilhando seus projetos de hardware
Montando sua própria placa arduino e compartilhando seus projetos de hardware
 
Monte sua franzininho, uma placa arduino compatível
 Monte sua franzininho, uma placa arduino compatível Monte sua franzininho, uma placa arduino compatível
Monte sua franzininho, uma placa arduino compatível
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
 
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardwareComo montar sua própria placa Arduino e compartilhar seus projetos de hardware
Como montar sua própria placa Arduino e compartilhar seus projetos de hardware
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXP
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - MotoresMicrocontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Motores
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados -  TPM - TIM...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - TPM - TIM...
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Conversor ...
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados- GPIO (Gener...
 
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
Microcontroladores ARM Cortex M0+ Aplicação em robôs autoguiados - Resumo de ...
 
Construindo sua placa baseada em Arduino
Construindo sua placa baseada em ArduinoConstruindo sua placa baseada em Arduino
Construindo sua placa baseada em Arduino
 

Último

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 

Último (9)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Microcontroladores PIC - Entradas e saídas Digitais

  • 1. Microcontroladores PIC Portas de Entrada/Saída Digital Fábio Souza
  • 2. Interface com circuitos externo • A interface com circuitos externos é feitas através de pinos que são agrupados em PORTs.
  • 3. PORTX • OS PORTs são agrupados em até 8 pinos (bits) e são denominados: PORTA, PORTB, PORTC .... Conforme a quantidade de pinos que o microcontrolador apresenta.
  • 4. Pinos de I/O no PIC16F84 • O PIC16F84 possui 2 PORTs : • PORTA • PORTB Os PORTs estão divididos da seguinte forma: PORTA: RA0 RA1 RA2 RA3 RA4 PORTB: RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7
  • 5. Configuração • Os pinos de I/O podem ser configuradas como entrada ou saída conforme a necessidade do hardware. C1 R2 10k 22p X1 C2 22p BT1 U1 CRYSTAL 16 15 4 OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/TOCKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 R1 10k PIC16F84 17 18 1 2 3 6 7 8 9 10 11 12 13 R3 330R D1 LED-GREEN
  • 6. Registradores para configuração • Para definir se um pino será utilizado como entrada ou saída utiliza-se o registrador TRISX. • No PIC16F84 • TRISA • TRISB
  • 7. Entrada ou Saída? • Configurando: • Entrada -> bit = 1; • Saída -> bit = 0
  • 8. Escrita em pino • Para escrita, o pino correspondente deve estar configurado como saída no registrador TRISX correspondente. • A escrita é é feita através do registrador PORTX correspondente. • Exemplo: PORTA -> PIC16F84A
  • 9. Exemplo: Acionando um LED • LED apagado: 0V RB7 = 0; Ou TRISB =0b00000000; • LED aceso: 5V RB7 = 1; Ou TRISB =0b10000000;
  • 10. Leitura de nível lógico no pino • Para leitura, o pino correspondente deve estar configurado como entrada no registrador TRISX correspondente. • A leitura é feita através do registrador PORTx. • Exemplo: PORTA -> PIC16F84A
  • 11. Exemplo: Leitura de tecla com resistor de pull-up • Tecla solta • Tecla pressionada RA0 = 1; Ou PORTA = 0bXXXXXXX1; 5V RA0 = 0; Ou PORTA = 0bXXXXXXX0; 0V
  • 12. Acionamento de pino na linguagem C • Configuração ENTRADA/SAÍDA TRISX = 0b00000000;//configura todos os pinos como saída • Acionando um PINO: PORTX.RXY = 0; PORTX.RXY = 1; //coloca nível 0 no pino //coloca nível 1 no pino • Acionando mais de um PINO: PORTX = 0b10100101;//aciona PORTX inteiro de uma vez X: A, B, C , D... Conforme PORTs Y: 0,1,2,3.... Conforme pinos
  • 13. Exemplo – Pisca LED void main() { TRISB = 0b00000000; PORTB = 0; while(1){ PORTB.RB7 = 1; Delay_ms(1000); PORTB.RB7 = 0; Delay_ms(1000); } } //configura todos os pinos do PORTB como saída //desliga todos os pinos do PORTB //loop infinito //liga led //aguarda 1 seg //desliga led //aguarda 1 seg //repete ciclo
  • 14. Leitura de pino em linguagem C • Configuração ENTRADA/SAÍDA TRISX = 0b00000000;//configura todos os pinos como saída • Lendo um PINO: valor_booleano = PORTX.RXY; //atribui o valor do pino a uma variável booleana Valor_inteiro = PORTX; //atribui o valor do port todo a uma variável int if(PORTX.RXY == 0) //verifica o valor do pino e toma uma ação de verdadeiro { } while(PORTX.RXY == 0); //enquanto pino em nível 0 fica no loop
  • 15. Exemplo – Leitura de Tecla void main() { TRISA.B0 = 1; TRISB.B7 = 0; while(1) { if(PORTA.RA0 == 0) { PORTB.RB7 = 1; } else { PORTB.RB7= 0; } } } //configura pino RA0 como entrada //Configura pino RB7 como saída //loop infinito //se tecla pressionada //liga led //se tecla solta //desliga led