Niko98
Üye
- Katılım
- 24 Kas 2020
- Mesajlar
- 10
- Puanları
- 1
- Yaş
- 26
arkadaşlar selamlar ben timer0 kullanmadan 7 segment bir sayıcı yaptım. burada tek,çift ve rakam olarak sayılar sayıyor. program böyle güzel çalışıyor. peki ben bunu timer0 ile delay kullanmadan nasıl yaparım? hesaplamaları yapabiliyorum fakat bir türlü fonksiyonda yazamadım. mesela 5 sn de bir nasıl yakarım timer0 ile? teşekkürler
Kod:
#include <denememain.h>
#FUSES NOWDT //Watch Dog Timer Kullanma
#FUSES XT //Kristal Osilatör ile CLKOUT
#FUSES NOPUT //Power Up Timer Kullanma
#FUSES NOPROTECT //Rom'a Yazılan Veriler Okunabilir
#FUSES NOBROWNOUT //Brownout Reset Kullanma
#FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt
#FUSES NOCPD //Data EEPROM Korumasız
#FUSES NOWRT //Program Belleği Yazmaya Açık
#FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı
#use delay(clock=4000000)
#define buton pin_A0
#use fast_io(c)
int i=0;
const int tek[5]={0x3F,0x5B,0x66,0x7C,0x7F};
const int cift[5]={0x06,0x4F,0x6D,0x07,0x6F};
const int rakam[5]={0x77,0x39,0x79,0x71,0x0E};
void main()
{
setup_psp(PSP_DISABLED);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_c(0x00);
output_c(0x00);
while(1)
{
for(i=0;i<=5;i++)
{
output_c(cift);
delay_ms(200);
}
for(i=0;i<=5;i++)
{
output_c(tek);
delay_ms(200);
}
for(i=0;i<=5;i++)
{
output_c(rakam);
delay_ms(200);
}
}
}
Moderatör tarafında düzenlendi: