Objetivo: Piscar leds consequentemente usando for
Código feito em CCS C Compiler
#include <16F877a.h>
#use delay(crystal=20MHz)
void main(){
char pins[] = {PIN_B0,PIN_B1,PIN_B2,PIN_B3,PIN_B4};
while(TRUE){
for(int i=0; i<=4; i++){
output_high(pins[i]);
delay_ms(250);
output_low(250);
delay_ms(250);
}
for(i=5; i>=1; i--){
output_high(pins[i-1]);
delay_ms(250);
output_low(pins[i-1]);
delay_ms(250);
}
}
}
Pesquisar neste blog
18/02/2020
Display 7 segmentos usando PIC 16F877A (1)
![]() |
Código feito em mikro PRO for
void main() {
trisb = 0;//definindo todos os pinos como saída
portb = 0; //desligando
portb = 0b00111111;//forma binária, 'imprimndo o [0]'
delay_ms(500);
portb = 0b00000110;//'imprimndo o [1]'
delay_ms(500);
portb = 91; //forma decimal, 'imprimindo o [2]'
delay_ms(500);
portb = 79; // [3]
delay_ms(500);//0,5s de espera
portb = 0x66; //forma hexadecimal [4]
delay_ms(500);
portb = 0x6D; //forma hexadecimal [5]
delay_ms(500);
portb = 0x7D; // [6]
delay_ms(500);
portb = 0x7;// forma hexadecimal [7]
delay_ms(500);
portb = 0b01111111;//[8]
delay_ms(500);
portb = 0b01100111; //[9]
delay_ms(500);
}
PiscaLed 2 com PIC 16F877A
Objetivo: Ligar e desligar vários leds consequentemente
Código feito no software mikroC Pro for, versão 7.2
void main() {
trisb = 0;
/*portb.rb0 = 1;
portb.rb1 = 1;
portb.rb2 = 1;
portb.rb3 = 1;
portb.rb4 = 1;
portb.rb5 = 1;
portb.rb6 = 1;
portb.rb7 = 1;*/
//método2 para ligar todos leds
//portb = 0b11111111;//substitui o método acima, economizando linhas
//método3 para ligar todos leds
portb = 255;//forma em decimal
//portb = 231; //fazendo teste com com a porta 231
delay_ms(500);//desligando os leds começando por rb7
portb.RB7 = 0;
delay_ms(500);
portb.RB6 = 0;
delay_ms(500);
portb.rb5 = 0;
delay_ms(500);//espera 0,5s
portb.rb4 = 0;
delay_ms(500);
portb.RB3 = 0;
delay_ms(500);
portb.RB2 = 0;
delay_ms(500);
portb.rb1 = 0;
delay_ms(500);
portb.rb0 = 0;
delay_ms(500);
}
![]() |
| Simulador usando Proteus 8.8 |
Código feito no software mikroC Pro for, versão 7.2
void main() {
trisb = 0;
/*portb.rb0 = 1;
portb.rb1 = 1;
portb.rb2 = 1;
portb.rb3 = 1;
portb.rb4 = 1;
portb.rb5 = 1;
portb.rb6 = 1;
portb.rb7 = 1;*/
//método2 para ligar todos leds
//portb = 0b11111111;//substitui o método acima, economizando linhas
//método3 para ligar todos leds
portb = 255;//forma em decimal
//portb = 231; //fazendo teste com com a porta 231
delay_ms(500);//desligando os leds começando por rb7
portb.RB7 = 0;
delay_ms(500);
portb.RB6 = 0;
delay_ms(500);
portb.rb5 = 0;
delay_ms(500);//espera 0,5s
portb.rb4 = 0;
delay_ms(500);
portb.RB3 = 0;
delay_ms(500);
portb.RB2 = 0;
delay_ms(500);
portb.rb1 = 0;
delay_ms(500);
portb.rb0 = 0;
delay_ms(500);
}
Assinar:
Postagens (Atom)


