Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: hmg - 03 Temmuz 2007, 15:47:15

Başlık: 7 segment sayıcı
Gönderen: hmg - 03 Temmuz 2007, 15:47:15
arkadaşlar ccs kullanmaya yeni başladım ve  7 segment ile aşağıdaki gibi basit bir 0-9 kadar yazan program yazdım fakat bu yazdığımı for döngüsü ile ayrı ayrı yazmadan 0 dan 9 kadar nasıl yazdırırım.şimdiden teşekkürler.

0-9 kadar yazan program;
void main()
{
nt sayi;
int constsg[11]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7C,0x7,0x7F,0x6F,0}

set_tris_d(0);            
  for(;;)
{
     sayi=~sg[0];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[1];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[2];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[3];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[4];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[5];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[6];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[7];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[8];
     output_d(sayi);
     delay_ms(1000);
     sayi=~sg[9];
     output_d(sayi);
     delay_ms(1000);
Başlık: 7 segment sayıcı
Gönderen: MURSEL - 03 Temmuz 2007, 16:21:44
cok uzatmısın kardeş aşagıdaki ayzılım işini görür ve anlamanda daha yarrlı olur ve altaki linkte üni de yaptıgımız  giriş calışmaları var bu uygulamaları incele kolay gelsin
http://dosya.cc/MPLAB2007p_ccal__malar.rar.html


#include <16f628.h>
#use delay(clock=4000000)
main()
{
int sayac=0;
const int gosterge[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
output_b(0xff);// anotu ortak dispilay oldugu için
while(1)
  {
  for(sayac=0;sayac<10;sayac++)
     {
     output_b(gosterge[sayac]);
     delay_ms(500);
     }
sayac=0;
  }
}
Başlık: 7 segment sayıcı
Gönderen: hmg - 03 Temmuz 2007, 16:40:54
kardeşim verdiğin cevap ve ilgin için tşk.ler.bizim biraz yaşımız geçiyor heralde ama merakımız var.cevabından faydalandım ,sorularım biraz basit kaçabilir inşallah cevap verirsiniz. kolay gelsin iyi çalışmalar.
Başlık: 7 segment sayıcı
Gönderen: MURSEL - 03 Temmuz 2007, 16:44:16
estağfurullah abiş    demekki o yaşında azmin var saygı duyarız   selametle iyi calışmalar
Başlık: 7 segment sayıcı
Gönderen: M_B - 03 Temmuz 2007, 16:52:27
Bu program b portuna parelel baglı  ıkı tane  7 led segmentli sayıcı devresı 1. dıjıt 0-f sayıyor sonra ıkıncı led 0-f sayıyır. Port_a= right bunun ıcın kullanılıyor.
umarım ısınıze yarar en azından bır fıkır verır.
Kolay gelsın


#include <16c84.h>

#USE DELAY( CLOCK=4000000 ) /* Using a 4 Mhz clock */

#FUSES XT,NOWDT,NOPROTECT,NOPUT
/* Use XT mode, No Watch Dog, No Code Protect, No Power-up Timer */

#byte port_b=6 /* define the location of register port_b */
#byte port_a=5 /* define the location of register port_b */
byte CONST LED_MAP[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

main(void){
byte cnt, right,num ;

set_tris_b(0); /* set port_b as outputs */
set_tris_a(0); /* set port_a as output */
 port_b = 0; /* ZERO port_a & port_b */
 port_a = 0;

for( ;; ){
for (right=1;right<3;right++){
  port_a = right;
   for (cnt=0;cnt<10;cnt++){
    port_b = LED_MAP[cnt];
      DELAY_MS(1000); /* one second delay */

             }
         }
     }
 }
Başlık: 7 segment sayıcı
Gönderen: Chan86 - 05 Temmuz 2007, 08:21:28
Abi devrede displayleri sürmek için hangi entegreyi kullandığını belirtirsen yardımcı olabilirim bende bi ara çok uğratım display ile sayıcıya
Başlık: 7 segment sayıcı
Gönderen: Chan86 - 05 Temmuz 2007, 08:33:18
4511 yada 7447 ilemi yaptın acaba onu bilmek istedim sorun yoksa devreni buraya verebilirsen daha iyi olur