vözvölö
Üye
- Katılım
- 4 Şub 2010
- Mesajlar
- 53
- Puanları
- 1
- Yaş
- 43
merhaba arkadaşlar pic proglamlamadan hiç anlamıyorum desem yeridir, öğrenmeye çalışıyorum. şimdi bir program yazdım, programın butona her basışımda i değişkenini bir artırsın, i değişkeni 10a eşit yada büyük olduğunda birinci led 15e eşit yada büyük olduğunda iki led birden yansın istiyorum. programı aşşağıdaki şekilde yazdım ve isiste çalıştırdığım zaman birinci problem butona basılı tutarsam bi süre sonra ledler yanıyor, ikinci problem butona basarken sayıyorum benim eşitliğini istediğim rakamlar tutmuyor, mesela bazen 5 kere basınca led yanıyor, bazen 20 kere basıyorum öyle yanıyor, şimdi problem programda mı isis te mi bende mi?
#include <buton.h>
#include <16F877A>
#byte TRISA = 0x85
#byte PORTA = 0x05
#byte TRISB = 0x86
#byte PORTB = 0x06
#bit LED1 = PORTB.0
#bit LED2 = PORTB.1
#bit BUTON = PORTA.0
int i=0;
void main()
{
TRISA=0x01;
PORTA=0X00;
TRISB=0x00; //portb cikis olark yönlendiriliyor
PORTB=0X00; //tum b pinleri sıfırlanıyor
for(;
{
if(BUTON) //butona her basıldığında int bir artacak komutu bir türlü bulamadım
i++;
delay_ms(100);
{
if (i>=10)
LED1=1;
delay_ms(10);
if (i>=15) led2=1;
delay_ms(10);
}
}
setup_adc_ports(NO_ANALOGS);
}
#include <buton.h>
#include <16F877A>
#byte TRISA = 0x85
#byte PORTA = 0x05
#byte TRISB = 0x86
#byte PORTB = 0x06
#bit LED1 = PORTB.0
#bit LED2 = PORTB.1
#bit BUTON = PORTA.0
int i=0;
void main()
{
TRISA=0x01;
PORTA=0X00;
TRISB=0x00; //portb cikis olark yönlendiriliyor
PORTB=0X00; //tum b pinleri sıfırlanıyor
for(;
{
if(BUTON) //butona her basıldığında int bir artacak komutu bir türlü bulamadım
i++;
delay_ms(100);
{
if (i>=10)
LED1=1;
delay_ms(10);
if (i>=15) led2=1;
delay_ms(10);
}
}
setup_adc_ports(NO_ANALOGS);
}