emirhaanc
Üye
- Katılım
- 4 May 2020
- Mesajlar
- 5
- Puanları
- 1
- Yaş
- 24
B portuna 37-38-39-40 numaralı pinleri yuzler basamağı olarak nasıl yakabilirim diğer 7 segmentler sayma yapıyor fakat yuzler basamağını yakamıyorum kodda.
Kod:
#include <main.h>
#define arti pin_a0
#define eksi pin_a1
int digit[10]={0x00,0x10, 0x20, 0x30, 0x40 ,0x50, 0x60, 0x70, 0x80 ,0x90 };
int digit1[10]={0x00, 0x06, 0x0B, 0x4F ,0x10, 0x14, 0x18, 0x5D ,0x22 ,0x26};
int birler=0, onlar=0, binler=0, yuzler=0;
int16 say=0;
int1 x;
void main()
{
set_tris_a(0xff);
set_tris_b(0x00);
set_tris_c(0x00);
set_tris_d(0x00);
output_d(0x00);
output_high(pin_e0);
delay_ms(1000);
output_low(pin_e0);
while(TRUE) {
if(input(arti)==1) {say++;
while(input(arti)==1){
if(say>=10){say=0;onlar++; }
if(onlar>=10){onlar=0;binler++; }
if(binler>=10){ binler=0; }
output_high(pin_e0);
delay_ms(50);
say++;
output_b(binler);
output_d(digit[say]);
output_c(digit1[onlar]);
}
if(say>=10){say=0;onlar++; }
if(onlar>=10){onlar=0;binler++; }
if(binler>=10){ binler=0; }
}
else
{
say--;
while(input(arti)==0){
if(say<=0){say=9;onlar--; }
if(onlar<=0){onlar=9;binler--; }
if(binler<=0){ binler=9; }
delay_ms(50);
say--;
output_b(binler);
output_d(digit[say]);
output_c(digit1[onlar]);
}
}
output_b(binler);
output_d(digit[say]);
output_c(digit1[onlar]);
}
}
Moderatör tarafında düzenlendi: