pic 16f628 ile motor sürme devresi

Başlatan hosiminh, 19 Nisan 2011, 15:38:59

hosiminh

#include <16f628.h>
#fuses NOWDT,NOPROTECT,NOLVP,NOPUT,NOCPD,INTRC_IO
#use delay (clock=4000000)
#use fast_io(b)
#use fast_io(a)

void main ()
{
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_CCP1(CCP_OFF);
  
   set_tris_a(0xFF); 
   set_tris_b(0x00);
   
   for(;;)
   {
      
      if((input(pin_a1)))
      {
         output_high(pin_b4);
      }
       if((!input(pin_a1)))
        {
        output_high(pin_b4);
        delay_ms(1000);
        output_low(pin_b4);
        delay_ms(1000);
        }
      
   }
}  
   


bu kodu 16f628 e yükleyip resmini göndereceğim devreye uygularsanız hem proteus da hem de gerçek hayatta ısınma rüzgardan nem kapma gibi pic in dez avantaj sağlayan tüm sorunlarından kurtulacaksınız. Reel ile smilasyon arasında bu ufak denemeler sayesinde yüzlerce fark olduğunu göreceksiniz. Örneğin lm7805 in girişine ac den dc ye çeviren bir trafolu 12v luk adaptör kullanıyorsanız kesinlikle önündeki 2 adet seri LC devresi olmadan sürmeyiniz. boşta kalan tüm ayakları programdan kapatsanız da pull-up direnci ile torpağa yollayınız. Bir de diot olayına geleyim kesinlikle lm7805 in toprak ayağının ucuna ve çıkış ucuna birer diot bağlayınız. Bu gereksiz ısınmalardan devrenizi koruyacaktır. Ciddiyim bu basit mikroişlemci bizi çıldırtan bu PIC dediğimiz menem şey dediklerimi uyguladığınız takdirde daha profesyonel çalışmalarda sizi üzmeyecektir. Siteye aslında hex dosyalarını ve proteus desing dosyalarını da eklemek istiyorum ama nasıl yapacağımı henüz bilmediğim için şimdilik kodları açık açık yazarak veriyorum. Yazımın hemen altına devrenin proteus fotoğrafını ve ardından hex kodlarını atıyorum. Resim de gelir umarım.


:1000000000308A0019280000223084008313000881
:10001000031918280130F800F701F70B0D28F80B29
:100020000C284A30F700F70B13281628800B0A28F3
:100030000034840183131F30830507309F00900133
:100040000030F8009200003083169200831297016E
:10005000FF30650000306600851C2F2806168518C5
:10006000412806160430A100FA30A2000420A10B9A
:10007000342806120430A100FA30A2000420A10B9B
:060080003C282C2863005F
:02400E00783FF9
:00000001FF
;PIC16F628
;CRC=0D33  CREATED="19-Nis-11 12:52"