Eletronica‎ > ‎

PWM com PIC


Este código foi adaptado de um exemplo do site: http://gcbasic.sourceforge.net/newfiles/help/pwmout.htm
Para ver mais exemplos em GCBasic acesse o help em http://gcbasic.sourceforge.net/help/

Para compilar usamos o software Prithvi Development Studio em sua versão portatil. Para baixar o Prithvi Portable acesse https://sites.google.com/site/kitoeag/informatica/prithvi-portable

Para iniciar a programar em GCBasic veja este video: http://youtu.be/NFfLw_ibIcY




O código fonte abaixo faz a leitura da porta analógica RA0 do PIC16F877A e gera o sinal PWM na porta RB0.
Obs.: Para obter mais explicações sobre PWM via software nesta linguagem de programação acesse: 

PWM via Software


#chip 16F877A, 4           'Seleciona o modelo do PIC e a frequencia do cristal 

#define PWM_Out1 PORTB.0   'Define a porta que emitira sinal PWM

dir PWM_Out1 out           'Define o PORTB.0 como saida
dir PORTA.0 in             'Define PORTA.0 como entrada


Do
    If ReadAD(AN0) = 255 then
        Set PWM_Out1 on
    Else
        PWMOut 1, ReadAD(AN0), 100    
    End if
loop




O código abaixo faz o mesmo que o código anterior, porém, agora o PWM é gerado pelo módulo CCP interno do PIC.
Obs.: Para saber mais sobre como usar o PWM via Hardware na linguagem GCBasic acesse: 

PWM via Hardware


#chip 16F877A, 4    ' Modelo do PIC e a frequencia do cristal

DIR PORTC.2 out      ' Define PORTC.2 como saida
dir PORTA.0 in       ' Define PORTA.0 como entrada    

Do
  If ReadAD(AN0) = 255 then
     PORTC.2 = 1
  else
      HPWM 1, 1, ReadAD(AN0)   
  end if
loop








Abaixo temos o código HEX e a simulação no proteus.

ċ
pwm-simu-proteus-V7.7.DSN
(77k)
Edivaldo Amaral Gonçalves,
26 de abr de 2013 19:01
ċ
pwm-via_hardware.hex
(2k)
Edivaldo Amaral Gonçalves,
26 de abr de 2013 19:00
ċ
pwm-via_software.hex
(1k)
Edivaldo Amaral Gonçalves,
26 de abr de 2013 18:55
Comments