Aula de Entrada e Saida Pic

Post on 14-Dec-2014

69 views 5 download

Transcript of Aula de Entrada e Saida Pic

Exercício 1

Implementar um programa para acionar um LED enquanto um botão estiver pressionado.

Passo a passo:

1.1Criar um projeto (MPLAB IDE)1.2Editar o código (prog2.c)1.3Compilar (MPLAB C18)1.4Simular (Proteus - ISIS)1.5Testar no kit XM118

Exercício 2

Implementar um programa para inverter o estado de um LED a cada clique em um botão.

Passo a passo:

1.6Criar um projeto (MPLAB IDE)1.7Editar o código (prog2.c)1.8Compilar (MPLAB C18)1.9Simular (Proteus - ISIS)1.10 Testar no kit XM118

Prática 1 – Implementar um programa para acionar os LEDs conectados aos pinos (D0,D1,D2 e D3),enquanto os respectivos botões conectados aos pinos (B4,B5,B6 e B7) estiverem pressionados.

Prática 2 – implementar um programa para ligar e desligar os LEDs conectados aos pinos (D0,D1,D2 e D3),com apenas um clique nos respectivos botões conectados aos pinos (B4,B5,B6,B7).

Prática 3 – implementar um programa para dois leds conectados aos pinos RD0 e RD1 piscarem alternadamente.

//prog1

//programa para escrever no PORTA

#include <p18f4550.h> //arquivo cabeçalho padrão para o PIC18F4550

#pragma config WDT = OFF#pragma config LVP = OFF#pragma config BORV = 0#pragma config PWRT = ON

void main() //função main{

TRISA = 0X02; //pino RA1 entrada demais saídaTRISB = 0X00; //PORTB saídaTRISC = 0X00; //PORTC saídaTRISD = 0X00;TRISE = 0X00; //PORTE saidaADCON1 = 0X0F; //configura os pinos dos PORTA E PORTRE CPORTA = 0; //limpa o PORTAPORTB = 0;PORTC = 0;PORTD = 0;PORTE = 0;while(1); //loop infinito

}

//prog2//programa para ler uma entrada

#include <p18f4550.h> //arquivo cabeçalho padrão para o PIC18F4550

#pragma config WDT = OFF#pragma config LVP = OFF#pragma config BORV = 0#pragma config PWRT = ON

#define BOTAO PORTBbits.RB0

void main() //função main{

TRISA = 0X02; //pino RA1 entrada demais saídaTRISB = 0XFF; //PORTB entradaTRISC = 0X00; //PORTC saídaTRISD = 0X00;TRISE = 0X00; //PORTE saidaADCON1 = 0X0F; //configura os pinos dos PORTA E PORTEPORTA = 0; //limpa o PORTAPORTC = 0;PORTD = 0;PORTE = 0;

while(1){if(BOTAO==0)PORTD = 0XFF;elsePORTD = 0X00;}

}