#include <18F45K22.h>
#device ADC=10
#FUSES NOWDT //No Watch Dog Timer
#use delay(internal=64000000)
unsigned int8 port_val,pin_check;
typedef struct{
unsigned b0;
unsigned b1;
unsigned b2;
unsigned b3;
unsigned b4;
unsigned b5;
unsigned b6;
unsigned b7;
} deneme1; // port pinlerini taşıman için structer oluşturduk
deneme1 inp = {PIN_A0, PIN_A1, PIN_A2, PIN_A3, PIN_A4, PIN_A5, PIN_C0, PIN_C1}; // inp deneme structre ye taşıyıp input pini yapacağımız pinleri değişkenlere aktardık
deneme1 out = {PIN_B0, PIN_B1, PIN_B2, PIN_B3, PIN_B4, PIN_B5, PIN_B6, PIN_B7}; // out deneme structre ye taşıyıp output pini yapacağımız portb pinleri değişkenlere aktardık
deneme1 out1 = {pin_d0, pin_d1, pin_d2, pin_d3, pin_d4, pin_d5, pin_d6, pin_d7}; // out1 deneme structre ye taşıyıp output pini yapacağımız portd pinleri değişkenlere aktardık
void main()
{
set_tris_d(0); // D portu komple çıkış
set_tris_b(0); // B portu komple çıkış
set_tris_a(255); // A portu komple giriş
set_tris_c(3); // C portu ilk 2 pin giriş
delay_ms(1500);
while(TRUE)
{
output_high(out1.b3);
output_high(out1.b4);
output_high(out1.b5);
output_high(out.b4);
if(input(inp.b1)) {output_high(out.b0); output_low(out1.b0);} else {output_low(out.b0); output_high(out1.b0);}
}
}