Your SlideShare is downloading. ×
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Microcontroladores PIC - Entradas e saídas Digitais

6,319

Published on

Entradas e saídas digitais nos microcontroladores PIC com compilador mikroC

Entradas e saídas digitais nos microcontroladores PIC com compilador mikroC

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,319
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
113
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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

×