Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

timer0 ı counter olarak kullanmak

Başlatan cseb, 08 Haziran 2012, 20:21:27

cseb

arkadaşlar merhaba,
dc motor encoder için timer0 ı pulse sayıcı olarak kullanmak istiyorum ama ccs c de bunu kesme olarak nasıl yapabileceğimi bilmiyorum. Bununla ilgili örnek kod varsa paylaşabilirmisiniz

erhans

#include <16F88.h> 
#FUSES NOWDT            //No Watch Dog Timer
#FUSES HS               //High speed Osc (> 4mhz)
#FUSES PUT              //Power Up Timer
#FUSES MCLR             //Master Clear pin enabled
#FUSES BROWNOUT         //Reset when brownout detected
#FUSES NOLVP            //No low voltage prgming, B3(PIC16) 
#FUSES NOCPD            //No EE protection
#FUSES NOWRT            //Program memory not write protected
#FUSES NODEBUG          //No Debug mode for ICD
#FUSES NOPROTECT        //Code not protected from reading
#FUSES FCMEN            //Fail-safe clock monitor enabled
#FUSES IESO             //Internal External Switch Over mode enabled
#use delay (clock=4000000)
#define use_portb_lcd TRUE
#include<lcd.c>
int a=0;
float b ;
void main()
{
   setup_oscillator(OSC_8MHZ); 
   setup_adc_ports(no_analogs);
   SETUP_ADC(ADC_OFF);
   lcd_init();
   set_tris_a(0X10);
   setup_timer_0(RTCC_EXT_h_TO_l|RTCC_DIV_1);
basla :
   set_timer0(a);
   delay_ms(1000);
   b=get_timer0();
   lcd_send_byte(0,00000001);
   lcd_gotoxy(1,1);
   printf (lcd_putc,"tmr=%f",b);
   goto basla;
}

rree

Timer ieri sayar geri sayması yok. İçerisinde encoder bulunduran  picler var. Dspic33fj128mc804