servermaster
Üye
- Katılım
- 25 Kas 2009
- Mesajlar
- 34
- Puanları
- 1
Sayın ustalar tek basamaklı geri sayma işleminde sorun yok ancak iki basamaklı olunca işler karışıyor 99dan geriye 10 veya 30nsaniye aralıklarla saydırma işlemi için ne yapmalıyım aşağıda kodları veriyorum şimdi çok hızlı geri sayıyor for döngüsüne delay_ms(10000) değerini girincede geri sayıyor ancak displayde tarama hızı kadar rakkamlar görünüyor yardımlarınızı bekliyorum
teşekkürler.
#use fast_io(a)
#use fast_io(b)
#define display_1 pin_a0
#define display_2 pin_a1
#define arttir pin_a2
#define azalt pin_a3
char birler=0,onlar=0,sayi=0;
const int digit[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x6f};
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_tris_a(0xfc);
set_tris_b(0x00);
output_low(display_1);
output_low(display_2);
while(true)
{
birler=sayi%10;
onlar=sayi/10;
output_high(display_2);
output_b(digit[birler]);
delay_ms(5);
output_low(display_2);
output_high(display_1);
output_b(digit[onlar]);
delay_ms(5);
output_low(display_1);
{
for(sayi=99;sayi<=99;sayi--)
{
birler=sayi%10;
onlar=sayi/10;
output_high(display_2);
output_b(digit[birler]);
delay_ms(10);
output_low(display_2);
output_high(display_1);
output_b(digit[onlar]);
delay_ms(10);
output_low(display_1);
}
}
teşekkürler.
#use fast_io(a)
#use fast_io(b)
#define display_1 pin_a0
#define display_2 pin_a1
#define arttir pin_a2
#define azalt pin_a3
char birler=0,onlar=0,sayi=0;
const int digit[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x6f};
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_tris_a(0xfc);
set_tris_b(0x00);
output_low(display_1);
output_low(display_2);
while(true)
{
birler=sayi%10;
onlar=sayi/10;
output_high(display_2);
output_b(digit[birler]);
delay_ms(5);
output_low(display_2);
output_high(display_1);
output_b(digit[onlar]);
delay_ms(5);
output_low(display_1);
{
for(sayi=99;sayi<=99;sayi--)
{
birler=sayi%10;
onlar=sayi/10;
output_high(display_2);
output_b(digit[birler]);
delay_ms(10);
output_low(display_2);
output_high(display_1);
output_b(digit[onlar]);
delay_ms(10);
output_low(display_1);
}
}