PİC iLe Buton Kontrolü

memohob

Üye
Katılım
16 Şub 2012
Mesajlar
1
Puanları
1
Yaş
34
2569Resim1.jpg


Arkadaşlar ben Sizden Şu Yardımı Bekliyorum;


16F628'de

CCS C yada ASM Kullanarak ;

PORTA,1 e Basıldığında PORTB,1 çıkış verecek
PORTA,2 e Basıldığında PORTB,2 çıkış Verecek
PORTA,3 e Basıldığında PORTB,3 çıkış Verecek
PORTA,4 e Basıldığında PORTB,4 çıkış Verecek


Örn PORTA,1 e Bastığımda PORTB,1e Bağlı Led Yanacak ...

Ben Birşeyler Yaptım ama olmadı unutmuş olmalıyım Bana C Koduda Olabilir ASM Koduda Olabilir.
 
Burada 1 buton 3 led kontrolü için 16f877 de asm ile yazdığım program kodları, hex dosyası, isis simulasyonu mevcut, ayarlamalarınızı programı değiştirerek yapmaya çalışın, programda açıklamalar var bunlar yardımcı olur yine olmazsa yardımcı olurum.
 
hocam pıc programlamada fazla bi bilgim yok elimden bu kadar geldi
butona basınca led yanıyo bırakınca sönüyo ,bilmiyorum daha kısa yolu da olabilir işallh işne yarar:confused:
isis de denedim çalışıyo ben pic i sizin kinden farklı yapmışın sonradan fark ettim :(



#include "C:\Users\SAMSUNG\Desktop\Yeni klasör\main.h"
#FUSES XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // KRİSTAL OSİLATÖR KULLANILACAK PROTECT ( KORUMA KAPALI ) KAPALI
#use delay(clock=4000000) //4 mhz osilatör kullanılacak...


#use fast_io(B) // HIZLI PORT AYARI B PORTU İÇİN
#use fast_io(D) //HIZLI PORT AYARI D PORTU İÇİN




void main()
{


setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);



set_tris_b(0xFF); //B PORTU GİRİŞ YAPILDI
set_tris_d(0x00); //D PORTU ÇIKIŞ YAPILDI
output_b(0xFF); // B PORTUNUN TÜM PİNLERİNE LOJİK 1 UYGULADIK...
output_d(0x00); // d portunun tüm pinlerinilojik 0 uygula...

while(1) // sonsuz döngüye giriliyor...

{

if( input(pin_b0)) //portb0 ' ı oku
{
delay_ms(20);
output_high(pin_d0); //1. LEDİ YAK
}
else
{
output_low(pin_d0);



}

if( input(pin_b1)) //portb1 ' ı oku
{
delay_ms(20);
output_high(pin_d1); //2. LEDİ YAK

}
else
{
output_low(pin_d1);
}
if( input(pin_b2)) //portb2 ' ı oku
{
delay_ms(20);
output_high(pin_d2); //3. LEDİ YAK
}
else
{
output_low(pin_d2);
}
if( input(pin_b3)) //portb3 ' ı oku
{
delay_ms(20);
output_high(pin_d3); //4. LEDİ YAK
}
else
{
output_low(pin_d3);

}

if( input(pin_b4)) //portb4 ' ı oku
{
delay_ms(20);
output_high(pin_d4); //5. LEDİ YAK
}
else
{
output_low(pin_d4);
}
}
}
 
Moderatör tarafında düzenlendi:
porta yı portb ye eşitle çıkış versin
 

Yeni mesajlar

Forum istatistikleri

Konular
128,221
Mesajlar
915,909
Kullanıcılar
450,007
Son üye
harunppp

Yeni konular

Geri
Üst