Pesquisar neste blog

22/09/2021

PWM #02 com PIC 16F628A

 Código feito no CCS C Compiler

#include <16F628A.h>
#FUSES NOWDT
#FUSES NOBROWNOUT
#FUSES NOLVP

#use delay(crystal = 4MHz)
int16 ton, toff;
unsigned int cont = 0;

void main(){
   while(true){
      if(++ton >= 1000) ton = 0;
      toff = 1000 - ton;
      
      for(cont =1; cont <= 10; cont++){//vai repetir 10 vezes o valor
         output_high(PIN_A0);
         delay_us(ton);
         toff = 1000 - ton;
         output_low(pin_A0);
         delay_us(toff);
      }

   }
}


Emulador: PIC SimLab










20/09/2021

PWM #01 com PIC 16F628A no PIC SimLab

Código feito no CCS C Compiler

#include <16F628A.h>
#FUSES NOWDT
#FUSES NOBROWNOUT
#FUSES NOLVP

#use delay(crystal = 4MHz)

int16 ton, toff;
unsigned int cont = 0;
signed int cd = 1;

void main(){
   while(true){
   
      ton = ton + cd;
      
      if(ton >= 1000) cd = -1;
      if(ton <= 0) cd = 1;
      
      toff = 1000 - ton;
      
      for(cont =1; cont <= 10; cont++){//vai repetir 10 vezes o valor
         output_high(PIN_A0);
         delay_us(ton);
         toff = 1000 - ton;
         output_low(pin_A0);
         delay_us(toff);
      }
      
      
      
   }
}