Pic devresi hakkında ufak bir yardıma ihtiyacım var

earslan06

Üye
Katılım
1 Ağu 2009
Mesajlar
17
Puanları
1
Yaş
37
arkadaşlar bu devreye butona basıldığında 1 veya 9 rakamı yazan .hex dosyasına ihtiyacım var pıc c ile yazmaya çalıştım maalesef başaramadım yardımcı olursanız sevinirim iyi paylaşımlar
 

Ekli dosyalar

  • Adsız.png
    145.3 KB · Görüntüleme: 40
Bu işini görür sanırım değişiklik istersen söylersin kardeşim
 

Ekli dosyalar

  • v2.rar
    724 bayt · Görüntüleme: 7
HBF kardeşim bunun pic c yazılımını gönderebilir misiniz?
 
HBF kardeşim bunun pic c yazılımını gönderebilir misiniz?

kardeşim üzgünüm ama ben pic c ile yazılım yapmıyorum jal ile yazılım yapıyorum. jalın ilk versiyonu ile. ama pic c biliyorsan .jal uzantılı klasörü not defterinde açabilir ve pic c ye göre derleyebilirsin. anlaşılması oldukça kolaydır.
 

Ekli dosyalar

  • seven segment.rar
    4.5 KB · Görüntüleme: 6
Kod:
#include <16f877.h>
#fuses    HS,NOWDT,PUT,NOPROTECT
#use      delay(clock=20000000)

#byte segment=0x06
#bit buton=0x05.0
   int sayac = 0;
   int gosterge[2] = {0x06,0x6f};

void main()
{
set_tris_d(0x00);
set_tris_b(0x00);
set_tris_a(0xff);
segment=0;
sayac=0;
segment = gosterge [sayac];
delay_ms(500);
 
while(true)
      {
if(buton)
{              
         if(sayac>1) sayac=0;
        segment = gosterge [sayac];             
        while (!buton);
        sayac++;
        delay_ms(5);
  }    
       }
  
}
 
Son düzenleme:
tacettin41 hocam ilginiz için çok teşekkür ederim gerçekten çok işime yaradı fakat bir ricam daha olacak, sizden aynı devrenin 2-3-4-5-6-7-8-9-10-11-12 şeklinde yanan .hex dosyarını yazabilir misiniz? sizin yazdığınız üzerinden yapmaya çalıştım ama başaramadım şimdiden teşekkürler

hocam bir de ilk yandığında enerji olmayacak displayde
 
yok hocam sayı olarak 10-11-12 yanacak (7 seg -mpx2 cc)
 
umarım işine yarar bu halle 99 a kadar saydırabilirsin...
Kod:
/*
2 adet 7segment display kullanılmıştır.
c0 ve c1 uçları ortak katot transistörlerini sürer
b portu displaylerin abcdefg lerine bağlıdır.
display a sı b0' a bağlı sıraile  gider.
buton A0 bacağına pull-down bağlıdır.
tacettin
*/

#include <16f877.h>
#fuses    HS,NOWDT,PUT,NOPROTECT
#use      delay(clock=20000000)
#bit buton=0x05.0
#byte segment=0x06
#byte tarama=0x07

#bit onlar_uc= tarama.0
#bit birler_uc= tarama.1

int gosterge[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0xff,0x6f};
//                    0    1    2    3    4   5     6    7    8    9
int onlar=0,birler=0,sayi=2;

void hesapla()
  {
  onlar=sayi/10;
  birler=sayi%10;
  }

  void yaz()
  {
  segment=gosterge[onlar];
  onlar_uc=1;
  delay_ms(3);
  onlar_uc=0;
  segment=gosterge[birler];
  birler_uc=1;
  delay_ms(3);
  birler_uc=0;
  }

  void main()
{
set_tris_b(0x00);
set_tris_a(0xff);
set_tris_c(0x00);
segment=0,tarama=0;
onlar_uc=birler_uc=0;
while(true)
      {
      hesapla();
      yaz();
    
      if(buton)
         {
         sayi++;
         if (sayi>12) sayi=2;
         hesapla();
         while(buton) {yaz();}                    
         delay_ms(3);
         }
      }
}
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…