Arkadaşlar merhaba,
12F629 ile 36KHz kare dalga elde etmek istiyorum. Bunun için bir çıkışı 13.88uSn aralıklarla on-off yapmalıyım. Kristal frekansım 20MHz. Aşağıdaki programda gecikmeyi nasıl 13.88uSn'ye ayarlayacağımı anlatabilirmisiniz. Assembler ile yazsam NOP komutu eklemem gerektiğini biliyorum ama bunu Micro C'de nasıl yapacağımı bilmiyorum.
#include <12F629.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#FUSES MCLR //Master Clear pin enabled
#FUSES NOPUT //No Power Up Timer
#FUSES NOBROWNOUT //No brownout reset
#use delay(clock=20000000)
#define LED PIN_A0 //CHANGE PIN_XX TO YOUR LED PIN NUMBER, EX: PIN_A5
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
//setup_ccp1(CCP_OFF);
setup_comparator(NC_NC);
setup_vref(FALSE);
set_tris_a(0x3E);
while(true){
output_low(LED);
delay_us(13);
output_high(LED);
delay_us(13);
}
}