servermaster
Üye
- Katılım
- 25 Kas 2009
- Mesajlar
- 34
- Puanları
- 1
ORTAK KATOT DİSPLAY İLE 0-99 SAYICI YAPIP ARTTIR AZALT BUTONLARI İLE SEÇİLEN RAKKAMDAN GERİYE SAYMASINI İSTEDİM ancak çalıştıramadım ustalardan yardım istiyorum şimdiden teşekkür ederim aşağıda yazdığım kodlarda nerede hata yaptığımı yazarmısınız
#include "C:\Documents and Settings\skyvision\Belgelerim\CCS S DENEME\displayuygulama\16f877ikilidisplay\Yeni Klasör\main.h"
#use fast_io(a)
#use fast_io(b)
#define display_1 pin_a0
#define display_2 pin_a1
#define arttir pin_a4
#define azalt pin_a5
char birler=0,onlar=0,sayi=0;
int i;
const int digit[10]={0x00,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_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_a(0xfc);
set_tris_b(0x00);
output_low(display_1);
output_low(display_2);
// TODO: USER CODE!!
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);
if(input(arttir));
{
delay_ms(10);// buton arkını önlemek için gecikme
sayi++;
if(sayi==100);
sayi=0;
birler=sayi%10;
onlar=sayi/10;
while(input(arttir))
{
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);
}
}
if(input(azalt));
{
delay_ms(10);
sayi--;
if(sayi==100);
sayi=0;// sayi sıfır olmadığı sürece döngüyü işle
birler=sayi%10;
onlar=sayi/10;
while(input(azalt));
{
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);
}
}
while(true)
{
for(i=sayi;i<=100;i--)
{
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);
}
}
}
}
#include "C:\Documents and Settings\skyvision\Belgelerim\CCS S DENEME\displayuygulama\16f877ikilidisplay\Yeni Klasör\main.h"
#use fast_io(a)
#use fast_io(b)
#define display_1 pin_a0
#define display_2 pin_a1
#define arttir pin_a4
#define azalt pin_a5
char birler=0,onlar=0,sayi=0;
int i;
const int digit[10]={0x00,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_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_a(0xfc);
set_tris_b(0x00);
output_low(display_1);
output_low(display_2);
// TODO: USER CODE!!
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);
if(input(arttir));
{
delay_ms(10);// buton arkını önlemek için gecikme
sayi++;
if(sayi==100);
sayi=0;
birler=sayi%10;
onlar=sayi/10;
while(input(arttir))
{
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);
}
}
if(input(azalt));
{
delay_ms(10);
sayi--;
if(sayi==100);
sayi=0;// sayi sıfır olmadığı sürece döngüyü işle
birler=sayi%10;
onlar=sayi/10;
while(input(azalt));
{
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);
}
}
while(true)
{
for(i=sayi;i<=100;i--)
{
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);
}
}
}
}