Pic16f877

ivit

Üye
Katılım
9 Nis 2022
Mesajlar
55
Puanları
1
Selamün aleyküm ustam kodu kısaca açıklayım butona basıldığında bir sayı artsın (yani butona bası çek yapınca bir,iki,üç) olarak artmasını istiyorum lakin buton uygulamasını yapamadım.

CCS C kodu:
#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(a)
#define buton pin_a1

void main(){
setup_psp(PSP_DISABLED);
setup_spi(SPI_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_a(0b00000000);
set_tris_b(0b00000000);
output_b(0b00000000);
output_a(0b00000001);
const int sayi[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7C,0x07,0x7F,0x6F};
int i=0;
while(1){
if(input(buton)){
output_b(sayi);
delay_ms(1000);
i++;
}
}
}

devrem:

 
Kod:
output_b(sayı[i]);
Ayrıca i değerini 9 dan sonra
1 veya 0 olmasını sağlayın.
Debounce gecikmesi ekleyin.
 
Kod:
output_b(sayı[i]);
Ayrıca i değerini 9 dan sonra
1 veya 0 olmasını sağlayın.
Debounce gecikmesi ekleyin.
verdiğiniz bilgiler için teşekkürler Debounce'yi ararken başka bir bilgi buldum devremde R11 yani butonun oradaki direnci kaldırdım ve sizin söylediğiniz gibi 9 dan sonra 0'ladım çalıştı. teşekkürler
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…