@muratmert4 hocam verdiğiniz örnek tam istediğim yöntem fakat yine biryerde hata yapıyorum sanırım aşağıdaki yazılımda d portunun 8.biti yani d7 portu lojik 1 olması gerekiyor fakat bende d portunun tümü lojik 1 oluyor biryerde hatamı yapıyorum anlamadım?
#include <16F877A.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES LP //Low power osc < 200 khz
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES WRT_50% //Lower half of Program Memory is Write Protected
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
unsigned int role;
void role_on(int kontak)
{
bit_set(role,kontak);
write_eeprom(1,role);
output_d(role);
}
void role_off(int kontak)
{
bit_clear(role,kontak);
write_eeprom(1,role);
output_d(role);
}
void main()
{
output_a(0x00);
output_b(0b00000000);
output_c(0b00000000);
output_d(0b00000000);
role=read_eeprom(1);
output_d(role);
while(TRUE)
{
role_on(8);
}
}