Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => Konuyu başlatan: dmrlp - 04 Nisan 2011, 10:27:08

Başlık: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: dmrlp - 04 Nisan 2011, 10:27:08
Arkadaşlar merhabalar.

Dönem ödevim olarak universitedeki hocam ,

Micro C ile tasarlanmış termometreli, alarmlı ve saniye göstergeli saat tasarımı yapmamı istedi. Bu devrede 2x16 lcd gösterge kullanılacak.
Ben daha önce lisede de dahil olmakla beraber hiç pic programlama ile ugrasmamıstım. Micro C hakkında ise hiç bilgim yok denebilir.

Daha yeni üye olup ilk defa konu açmamın sebebi de bu. Çaresiz kaldım, içinden gelip de yardım etmeye gönüllü arkadaş varsa çok memnun olurum.

Tesekkur ederim.



Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: fahri- - 04 Nisan 2011, 10:44:20
Arkadaşım, hiçbir bilgin olmayan bir konuda sana nasıl ödev verilebiliyor anlayamadım. Ödevin amacı nedir?
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: dmrlp - 04 Nisan 2011, 10:58:05
Endüstriyel elektronik diye bir dersimiz var. Laboratuvarında pic ile çalışacağımızı söyledi hoca. Laboratuvardaki asistan da dersi tek tek öğrencilere anlattırıyor. Hiç bir uygulama yapılmıyor. Zaten gerekli donanım da ya laboratuvarda yok ya da bozulur diye bize göstermiyorlar. Programlayıcı kartı bile bizim temin etmemiz gerekiyormuş. Heralde teknik eğitim fakültelerini de bu tarz müfredat açıklarından dolayı kapatıyorlar.  :( Bir biz kaldık heralde son mezunlar biz olacağız.
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: OG - 04 Nisan 2011, 11:00:32
Hangi okul, hangi sınıf, hangi şube?
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: dmrlp - 04 Nisan 2011, 11:03:06
marmara tef son sınıf elektronik ve haberleşme.
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: Andromeda - 04 Nisan 2011, 11:09:08
Ödevin amacı bence şu olabilir;
1- micro c hakkında bilgi sahibi olup program yazabilme
2- Pic,sensör,saat entegresi  ve lcd bağlantılarını öğrenme
3-sıcaklık sensörü ve varsa saat entegresi hakkında bilgi edinme
4- bunları kullanarak program yazabilme
5-programı pic e yükleme
6-devreyi çalıştırma
bunlar kısa süre varsa nasıl yapılabilir;
önce çalışan bir devre yapılır ve çalıştırılır
forumda ve internette açık devre şemaları ve program vardır
zaten bunlar standart hale gelmişler.
sonra bunlar üzerinde çalışılır ve kullanılan elemanlarla ilgili bilgiler toplanır derlenir.
benzer bir çalışma
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/index.htm
2006 yılı projeleri
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: dmrlp - 04 Nisan 2011, 11:19:59
demek istediğinizde haklısınız. yalnız durum şu analog ya da pic le programlamaya gerek olmasa işi cok rahat hallederim bir 555 bir de lm35 ile yaparım. yalnız 1-1.5 ay gibi bir sürecte pic ogrenip bunu yapmak sizce de biraz zor degil mi ? Hele ki micro c ile. Daha basic bir programla baslayıp mantıgı kavrayabilsek ne ala. Yalnız süre bu kadar kısıtlı.
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: Andromeda - 04 Nisan 2011, 11:28:34
1.5 ay süre yeterli...
onun için hazır "şema ve micro c programı" üzerinden gidin
pic e program yükleme prensip olarak basit birşey..
gerekirse arkadaşlar birleşip bir programlayıcı alın
yapılacak iş atla deve değil....
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: Erol YILMAZ - 04 Nisan 2011, 11:31:59
Bu görev yapılmayacaksa o zaman ne anlamı var ki o hocanın, o okulun ve sizin ?
1.5 ay sürede çok ta güzel yapılır ve birçok şey öğrenilir....
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: Andromeda - 04 Nisan 2011, 11:37:24
ilk mesajımı daha kısa bir süre vardır diye yazmıştım..
ilk 1 hafta veya 10 günde dünya kadar bilgi toplarsınız...
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: dmrlp - 04 Nisan 2011, 11:54:22
Okul dediğin fakülte kapatılmış, müfredat kaldırılmış. Öğretmen dediğin, asistan dersi bize anlattırıyo, kendisi odasında. Siz dediğin, biz öğrencilere kalıyor iş.
Ben de yardım istedim, tecrübelerinizden yararlanmak istedim ki daha verimli birşey elde edelim. Kimseye demedim ki ödevi yap getir diye. Ben calısan bir insanım okuyabilmem için para kazanmam lazım. bundan dolayı 1.5 ay benim için kısa bir süre. acıtasyon yapmak istemedim kimse yanlıs anlamasın.

topic'i onaylayan arkadasa tesekkürler. Ben hallederim gerisini. size iyi günler
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: Erol YILMAZ - 04 Nisan 2011, 17:20:59
Kolay gelsin.
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: microsi - 08 Nisan 2011, 14:22:06
iy günler bi sorum olucaktı
picden saat okumamız için hangi fonksiyonu kullanmamız gerekiyor
yardımlarınız için teşekkürler
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: microsi - 10 Nisan 2011, 14:56:42
yokmu yardım edecek birisi
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: fahri- - 10 Nisan 2011, 16:30:43
pic in içinde hazır saat fonksiyonu yok. onun için saat okuma fonksiyonu da yok. Ya harici saat entegresi kullanacaksın, ya osc den timerlarla kullanacağın zaman fonksiyonlarını yazacaksın. kullandığın saat entegresi içinde kulllandığın dil için saat okuma fonksiyonları forumda var. sadece arama yapacaksın.
Başlık: Ynt: Micro C ile termometreli alarmlı saniye göstergeli dijital saat
Gönderen: microsi - 12 Nisan 2011, 21:48:46
hocam benim devrem de alarmlı saat devreyi kurdum ds1307 entegresiyle saat bilgisini lcd ye yazsdırabiliyorum
fakat saniye ikişer ikişer artıyor ve 1 saniye geç artıyo. acaba simülasyondan mı kaynaklanan bi sorun mu bu
kodu veriyorum.. microc ile yazılmıstır. saat çalısıyor fakat saniye yavaş ilerliyo

unsigned short hh;
unsigned short mm;
unsigned short ss;

void write_DS1307(unsigned short address, unsigned short data)
{
   unsigned short status;
   I2C_Start();
   I2C_Wr(0xd0);
   I2C_Wr(address);
   I2C_Wr(data);
   I2C_Stop();
}

unsigned short read_DS1307(unsigned short address)
{
   unsigned short data;
   I2C_Start();
   I2C_Wr(0xd0);
   I2C_Wr(address);
   I2C_Repeated_Start();
   I2C_Wr(0xd1);
   data=I2C_Rd(0);
   while (!I2C_Is_Idle()) asm nop;
   I2C_Stop();
   return(data);
}

void main(){
  PORTB = 0;
  TRISB = 0;
  TRISC.F3=1;
  TRISC.F4=1;
  PORTD=0;
  TRISD=0X0F;
  hh = 0;
  mm = 0;
  ss = 0;
  sa=0;
  da=0;
 




  Lcd_Init(&PORTB);
  Lcd_Out(1,1,"saat:");
  Lcd_Cmd(LCD_CURSOR_OFF);
  I2C_Init(100000); //DS1307 operates at 100Khz only


 
  ss=read_ds1307(0);
  write_ds1307(0, ss & 0x7F); // enable oscillator(bit 7 =0)

  ss=read_ds1307(2);
  write_ds1307(2, ss & 0b10111111); // set 24H mode

 



   while(1)
   {
     ss=read_ds1307(0);   // read second
     mm=read_ds1307(1);   // read minute
     hh=read_ds1307(2);  // read hour
     /*
     day=read_ds1307(3);   // read day
     date=read_ds1307(4);  // read date
     month=read_ds1307(5); // read month
     year=read_ds1307(6);  // read year
     */

     Lcd_Chr(1,6, 48+ ((hh & 0b00110000) >> 4));
     Lcd_Chr(1,7, 48+ (hh & 0b00001111) );

     Lcd_Chr(1,8, ':');

     Lcd_Chr(1,9, 48+ ((mm & 0b01110000) >> 4));
     Lcd_Chr(1,10, 48+ (mm & 0b00001111) );

     Lcd_Chr(1,11, ':');

     Lcd_Chr(1,12, 48+ ((ss & 0b01110000) >> 4));
      Lcd_Chr(1,13, 48+ (ss & 0b00001111) );
   delay_ms(1000);
  }
}