#include <16F628a.h>
#fuses intrc_io,nowdt, nomclr
#use delay(clock = 8MHz)
#use fast_io(a)
#use fast_io(b)
int cont;
int16 timer;//timer1 trabalha com 16 bits
void main(){
set_tris_a(0x00);
set_tris_b(0xf0);//1/2 entrada e 1/2 saída
output_b(0x00);
SETUP_TIMER_1(T1_EXTERNAL | T1_DIV_BY_2);//pro escale para 2
SET_TIMER1(0);
while(TRUE){
timer = GET_TIMER1();//funcção que captura o timer
if(timer == 1){
output_a(0b00000001);
}
if(timer == 2){
output_a(0b00000010);
}
if(timer == 3){
output_a(0b00000100);
}
if(timer == 4){
output_a(0b00001000);
}
if(timer == 5){
output_b(0b00010001);
output_a(0b00000000);
}
if(timer == 6){
output_a(0b00000000);
output_b(0b00000000);
set_timer1(1);//seta novamente o timer1
}
//TODO: User Code
}
}
Software Proteus 7.6 |
Créditos para: Alexandro Lima
Nenhum comentário:
Postar um comentário