#include <18F4550.h>
#use delay(crystal=20000000)
#define LED PIN_D0
void SisInit(void)
{
set_tris_d(0b11111110);
}
void main(void)
{
SisInit ();
while(TRUE)
{
output_HIGH (LED);
delay_ms (1000);
output_LOW (LED);
delay_ms (1000) ;
}
}
#include <18F4550.h>
#use delay(crystal=20000000)
#define LED PIN_D0
#define BUTON PIN_B4
void SisInit (void)
{
set_tris_d (0b11111110); //PIN_D0 çıkış.
}
void main (void)
{
SisInit ();
while (TRUE)
{
if (0 == input (BUTON))
{
output_high (LED);
}
else
{
output_low (LED);
}
}
}
Yukarıdaki iki program için 20MHz kristal kullanıyorum.
Birincisi kristalle çalışıyor. Kristali çıkarınca çalışmıyor.
İkinci program kristalli kristalsiz çalışıyor. Garip bir durum lütfen yardım edin :)
Kristalsiz çalışanda
FCMEN //Fail Safe Clock Monitoring ve
IESO //Internal External Switch Over mode
aktif edilmiş ve kristali çıkarınca dahili osilatöre geçiyordur.
Ccs üzeriden bunları nasıl pasif edebilirim RaMu hocam? Bu moda geçmesini istemesem...
#include <18F4550.h>
#fuses NOMCLR
#fuses NOFCMEN
#fuses NOIESO
#use delay(crystal=20000000)
#define LED PIN_D0
#define BUTON PIN_B4
void SisInit (void)
{
set_tris_d (0b11111110);
}
void main (void)
{
SisInit ();
while (TRUE)
{
if (0 == input (BUTON))
{
output_high (LED);
}
else
{
output_low (LED);
}
}
}
Böyle yaptığımda düzeldi. RaMu hocam teşekkürler...