Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: bbs2006 - 09 Nisan 2015, 21:39:56

Başlık: ccs c buton kontrolu
Gönderen: bbs2006 - 09 Nisan 2015, 21:39:56
Merhaba
Devremde 6 adet butonum var. bu butonlardan birine bastıgım zaman ilgli case yapısı çalışacak. ancak devrede a,b, c portlarını set tris komtuyla tanımladıgımız zaman bütün b portunun tümü  çıkş 5 volt veriyor. ben sadece butona bsstıgımız zman istediğimiz pinleri çıkış vermesini istiyorum.
(http://s10.postimg.cc/t0tp8ngr9/image.jpg) (http://postimg.cc/image/t0tp8ngr9/)[/code]











# include <16f877.h>
# fuses xt,nowdt,noprotect
# use delay(clock=4m)
# use fast_io(a)
# use fast_io(b)
# use fast_io(c)
# use fast_io(d)
# byte portb=6
# byte porta=5
# define buton0 input(pin_b0)
# define buton1 input(pin_b1)
# define buton2 input(pin_b2)
# define buton3 input(pin_b3)
# define buton4 input(pin_b4)
# define buton5 input(pin_b5)
int giris;


void main(){
set_tris_a(0x00);
set_tris_b(0xff);
set_tris_c(0x00);
set_tris_d(0xf0);

while(true){


giris=input_b();
giris=giris&&0x00111111;
porta=giris;
switch (portb){


case 3e :

output_c(0b00000001);
output_d(0x01);
/*
delay_ms(100);
output_d(0b00000010);
output_c(0xf5);
delay_ms(10);
output_d(0b00000100);
output_c(0xf6);
delay_ms(10);
output_d(0b00001000);
output_c(0xf5);
delay_ms(10);
output_d(0b00010000);
output_c(0x03);
delay_ms(10);
*/
break;


}}}







Başlık: Ynt: ccs c buton kontrolu
Gönderen: Recep METE - 09 Nisan 2015, 23:39:48
Buradaki kodlarla bu işleri yaptığına emin misin.Kodlarda çok fazla eksik olduğu görülüyor. İsis şemasını ve tam olarak ne istediğini yazarsan kodları yeniden düzenliyebilirim.
Başlık: Ynt: ccs c buton kontrolu
Gönderen: bbs2006 - 10 Nisan 2015, 00:30:23
b portuna 0b00111110   bilgisi geldiği zaman ortak anot displeyde A karakteei oluşacak. b0 pini 1 oldugunda karakter görünmeyecek. isi şeması  resim olarak yüklü
# include <16f877.h>
# fuses xt,nowdt,noprotect
# use delay(clock=4000000)
# use fast_io(a)
# use fast_io(b)
# use fast_io(c)
# use fast_io(d)
# byte portb=6
# byte porta=5
# define buton0 input(pin_b0)
# define buton1 input(pin_b1)
# define buton2 input(pin_b2)
# define buton3 input(pin_b3)
# define buton4 input(pin_b4)
# define buton5 input(pin_b5)
int giris,k;


void main(){
set_tris_a(0x00);
set_tris_b(0xff);
set_tris_c(0x00);
set_tris_d(0xf0);
output_c(0x00);
output_d(0x00);
while(true){


giris=input_b();
k=giris && 0b00111111;
switch (5){


case 5 :

output_c(0xfe);
output_d(0x01);
delay_ms(10);
output_c(0x01);
output_d(0x02);
delay_ms(10);
output_c(0x01);
output_d(0x04);
delay_ms(10);
output_c(0x01);
output_d(0x08);
delay_ms(10);
output_c(0xfe);
output_d(0x1e);
delay_ms(10);


break;


}}}



























Başlık: Ynt: ccs c buton kontrolu
Gönderen: Recep METE - 12 Nisan 2015, 19:01:42
@bbs2006 arkadaşım,özelden attığın mesaja göre 6 buton  kullanılması mı gerekiyor. Benim kendi yaptığım çalışma var.Aşağıda videosu olan çalışma.İşine yararsa kod ve simülasyonu gönderebilirim.Ya da istediğin değişiklikleri söyle beraber ekleyebiliriz.

https://youtu.be/9ni9RLTV30E
Başlık: Ynt: ccs c buton kontrolu
Gönderen: bbs2006 - 12 Nisan 2015, 22:43:31
Sizin yapmış oldugunuz kodları gönderebilrmsiniz. ben onların üzerinden gerekli ayarlamaları yapmaya çalışırım. teşekkür ederim.
Başlık: Ynt: ccs c buton kontrolu
Gönderen: Recep METE - 12 Nisan 2015, 23:25:49
CCS C kodu ve isis simülasyonu yükledim.Başarılar dilerim.
http://s3.dosya.tc/server/x7ee2a/Matris_LED_Display_Uygulamasi.rar.html (http://s3.dosya.tc/server/x7ee2a/Matris_LED_Display_Uygulamasi.rar.html)
Başlık: Ynt: ccs c buton kontrolu
Gönderen: kuylus - 18 Nisan 2015, 03:21:36
Merhaba, bir konuda nacizane yardımlarınıza ihtiyacım var, ccs c ye yeni başladığımdan dolayı  çözmek de zorlanıyorum. Yardımlarınız için şimdiden çok teşekkür ediyorum

Yapmak istediğim konu ise

628 in a portunu  giriş yapıp ilk dört pinine buton bağlamak istedim fakat bu seferde ses çalışmadı

A0 pini low olduğu sürece,  B0 daki ses çalışacak, ve B1 e bağlanacak led yanıp sönecek
A1 pini low olduğu sürece,  B0 daki ses çalışacak, ve B2 ye bağlanacak led yanıp sönecek
A2 pini low olduğu sürece,  B0 daki ses çalışacak, ve B1 ve B2 ledleri yanıp sönecek.

Konuda en çok takıldığım yerler, bir butonu tanımlarken, butona basınca şu döngüdeki
(örneğin: void deneme(void) içerisindeki while deneme(1) döngüsüne git butonu bırakınca normal çalışmaya devam et gibi )
olayı yapmaya başla bırakınca  şu kısımdan deva et mantığını kavrayamadım,



#include <16F628A.h>
#FUSES NOWDT, INTRC_IO, NOPUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD
#use delay(clock=4000000)

#include <C:\Users\toshiba\Desktop\Ses Uygulaması\Ses Uygulaması\TONES.c>  // TONES.c dosyası programa ekleniyor

// Ses tonlarından oluşan dizi tanımlanıyor
const char muzik[2]={Gb_NOTE[1],Gb_NOTE[2]   };

int k;  // Tam sayı tipinde değişken tanımlanıyor

//******************* ANA PROGRAM FONKSİYONU *******************
void generate_tone (void)
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı

   output_low(pin_b0); // RB0 çıkışı ilk anda lojik-0

   while(1) // Sonsuz döngü
   {
      for(k=0;k<2;k++)
      {
         generate_tone(muzik[k],100); delay_ms(500); // Sırayla muzık[] dizisindeki
      }                                             // tonlar oluşturuluyor
  }
}
Başlık: Ynt: ccs c buton kontrolu
Gönderen: Recep METE - 18 Nisan 2015, 09:22:45
İsis simülasyonu yuklersen uzerinde çalışırım.
Başlık: Ynt: ccs c buton kontrolu
Gönderen: mehmet - 18 Nisan 2015, 15:47:53
Böyle bir şey işinize yaramaz mı?
Kendinize göre kodlarınızı düzenlersiniz...
https://www.picproje.org/index.php/topic,58766.msg453817.html#msg453817 (https://www.picproje.org/index.php/topic,58766.msg453817.html#msg453817)
Başlık: Ynt: ccs c buton kontrolu
Gönderen: kuylus - 21 Mayıs 2015, 03:40:41
Konu çözüldü