ISIS Simülasyon görüntüsü |
Program kodları:
#include <16F628A.h> //derleyiciye denetleyicimizi tanıtıyoruz
#FUSES NOWDT //watch dog timer yok
#FUSES INTRC_IO //dahili rc osilatör seçili
#FUSES PUT //power up timer aktif
#FUSES NOPROTECT //picin okumaya karşı kod koruması yok
#FUSES NOBROWNOUT //brownout reset yok
#FUSES NOMCLR //mclr ucu i/o olarak kullanılacak
#FUSES NOLVP //düşük voltajlı programlama pasif
#FUSES NOCPD //eeprom koruması yok
#use delay(clock=4000000) //denetleyici osilatör frekansı f=4mhz
void main() //ana döngü
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); //bu kısımda sonsuz döngüye girmeden önce
setup_timer_1(T1_DISABLED); //bir takım ön ayarlar yapılıyor
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
while(1) //sonsuz döngü
{
output_high(pin_b0); //b portunun 0. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b1); //b portunun 1. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b2); //b portunun 2. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b3); //b portunun 3. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b4); //b portunun 4. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b5); //b portunun 5. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b6); //b portunun 6. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b7); //b portunun 7. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_b(0X00); //b portunu komple hex 00 yani binary 00000000 yap
delay_ms(500); //500ms bekle
output_b(0XFF); //b portunu komple hex FF yani binary 11111111 yap
delay_ms(500); //500ms bekle, burdan sonra devamı aynı...
output_b(0X00);
delay_ms(500);
output_b(0XFF);
delay_ms(500);
output_b(0X00);
delay_ms(500);
output_b(0XFF);
delay_ms(500);
output_b(0X00);
}
}
Upload yapabileceğim uygun bir yer bulduğumda kod ve simülasyon dosyalarının linkini de ekleyeceğim.
#include <16F628A.h>
YanıtlaSil#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#use delay(clock=4000000)
void main()
{
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);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab
// TODO: USER CODE!!
while(1) //sonsuz döngü
{
output_high(pin_b0); //b portunun 0. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b1); //b portunun 1. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b2); //b portunun 2. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b3); //b portunun 3. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b4); //b portunun 4. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b5); //b portunun 5. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b6); //b portunun 6. pinini lojik 1 yap
delay_ms(500); //500ms bekle
output_high(pin_b7); //b portunun 7. pinini lojik 1 yap
delay_ms(2000); //500ms bekle
output_low(pin_b7); //b portunun 7. pinini lojik 1 yap
delay_ms(40); //500ms bekle
output_low(pin_b6); //b portunun 6. pinini lojik 1 yap
delay_ms(35); //500ms bekle
output_low(pin_b5); //b portunun 5. pinini lojik 1 yap
delay_ms(30); //500ms bekle
output_low(pin_b4); //b portunun 4. pinini lojik 1 yap
delay_ms(25); //500ms bekle
output_low(pin_b3); //b portunun 3. pinini lojik 1 yap
delay_ms(20); //500ms bekle
output_low(pin_b2); //b portunun 2. pinini lojik 1 yap
delay_ms(20); //500ms bekle
output_low(pin_b1); //b portunun 1. pinini lojik 1 yap
delay_ms(20); //500ms bekle
output_low(pin_b0); //b portunun 0. pinini lojik 1 yap
delay_ms(20); //500ms bekle
output_b(0X00); //b portunu komple hex 00 yani binary 00000000 yap
delay_ms(200); //500ms bekle
output_b(0XFF); //b portunu komple hex FF yani binary 11111111 yap
delay_ms(200); //500ms bekle, burdan sonra devamı aynı...
output_b(0X00);
delay_ms(200);
output_b(0XFF);
delay_ms(200);
output_b(0X00);
delay_ms(200);
output_b(0XFF);
delay_ms(200);
output_b(0X00);
}
}