port okuma

Başlatan papsukkal, 19 Haziran 2011, 02:20:21

JKramer

Tüm include dosyaları ve fuse tanımları dahil sonuç alamadığınız kısa, basit bir kodu koyar mısınız? Proteus'da deniyorsanız o dosyayı da koyun.

papsukkal

kullandığım internette kısıtlamalar olduğu için resim,dosya vs. yükleyemiyorum

pic 18f452
128x64 glcd port b ve d ye irtibatlı
4 x 4 tuş takımı port c de
değişkenlerin durumunu proteusta debug menüden inceliyorum. çözemediğim klavye fonksiyonu



#include <18f452.h>
#device *=16
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz)
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //Reset when brownout detected
#FUSES NOPUT                    //No Power Up Timer
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#use delay(clock=20000000)
#include <HDM64GS12x.c>
#include <graphics.c>
#BYTE PORTC = 0xF82

int menu;
char very[]="Ver : 1.0.0.0.0";
char verd[]="Ver : 1.0.0.0.0";
char degv[]="Volt: 0 - 30";
char dega[]="Akım: 0 - 10";
char hakkinda[]="mikailakbas@hotmail";


const int8 image_100[64][16] = {
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x1F 0xF8 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x3F 0xFC 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x7F 0xFC 0x38,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0xF8 0xFC,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0xF8 0xFC,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x01 0xF1 0xF8,0x78 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x01 0xF3 0xF8,0xF8 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x01 0xF7 0xF9,0xF8 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x03 0xF7 0xFB,0xF8 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x03 0xED 0xF3,0xF8 0x01 0xFC 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x03 0xFD 0xF7,0xF0 0x03 0xF8 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x07 0xFB 0xFD,0xF0 0x03 0xF8 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x07 0xF3 0xFB,0xF0 0x06 0xF8 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x07 0xE3 0xFB,0xE0 0x0D 0xF8 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x0F 0xE7 0xF3,0xE0 0x0D 0xF0 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x0F 0xC7 0xE7,0xC0 0x19 0xF0 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x0F 0x87 0xC7,0xC0 0x33 0xF0 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x1F 0x07 0xC7,0xFE 0x73 0xE0 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x1E 0x00 0x00,0x00 0xC7 0xC0 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01,0xFF 0xFF 0xFC 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0F,0xFF 0xFF 0xFC 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x3F,0x07 0x0F 0x80 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7C,0x0E 0x0F 0x80 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xF8,0x1C 0x1F 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x01 0xF0,0x78 0x1F 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x01 0xF0,0xF0 0x1F 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x01 0xFF,0xC0 0x3E 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xFF,0x80 0x3E 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x7E,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0xF0 0xF8 0x07,0x0F 0x01 0x8F 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0x19 0x88 0x09,0x8D 0x83 0x8D 0x80 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0x19 0x8C 0x08,0x98 0xC7 0x98 0xC0 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0x19 0xE0 0x01,0x98 0xCD 0x98 0xC0 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0xF0 0xF8 0x07,0x18 0xC1 0x98 0xC0 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0x00 0x1D 0xE0,0xD8 0xC1 0x98 0xC0 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0x01 0x8C 0x18,0xD8 0xC1 0x98 0xC0 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0x01 0x8C 0x18,0xCD 0x81 0x8D 0x80 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x03 0x00 0xF8 0x0F,0x07 0x01 0x87 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
};

const int8 image_101[64][16] = {
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x3F 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF,0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFC,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x1D 0xC0 0xC0 0x00 0x00 0x02,0x40 0x00 0x00 0x86 0x00 0x00 0x00 0x04,
0x20 0x00 0x08 0x80 0x44 0x00 0x00 0x02,0x40 0x00 0x00 0x82 0x00 0x00 0x00 0x04,
0x20 0x00 0x08 0x80 0x44 0x00 0x00 0x02,0x40 0x00 0x00 0x82 0x00 0x00 0x00 0x04,
0x20 0x00 0x08 0x9C 0x4F 0x00 0x00 0x02,0x40 0x00 0x01 0x42 0xE0 0x68 0x00 0x04,
0x20 0x00 0x05 0x22 0x44 0x00 0x00 0x02,0x40 0x00 0x01 0x42 0x4C 0xD4 0x00 0x04,
0x20 0x00 0x05 0x22 0x44 0x00 0x00 0x02,0x40 0x00 0x01 0x42 0x84 0x54 0x00 0x04,
0x20 0x00 0x05 0x22 0x44 0x00 0x00 0x02,0x40 0x00 0x01 0xC3 0x04 0x54 0x00 0x04,
0x20 0x00 0x02 0x22 0x44 0x00 0x00 0x02,0x40 0x00 0x02 0x22 0x84 0x54 0x00 0x04,
0x20 0x00 0x02 0x22 0x44 0x80 0x00 0x02,0x40 0x00 0x02 0x22 0x44 0x54 0x00 0x04,
0x20 0x00 0x02 0x1C 0xE3 0x00 0x00 0x02,0x40 0x00 0x07 0x77 0xEE 0xD4 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x3F 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFE,0x7F 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFC,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x23 0x80 0x00 0x00 0x00 0x00 0x00 0x02,0x47 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x24 0x01 0x00 0x00 0x00 0x00 0x00 0x02,0x48 0x02 0x00 0x00 0x00 0x00 0x00 0x04,
0x24 0x13 0x80 0x00 0x00 0x00 0x00 0x02,0x48 0x27 0x00 0x00 0x00 0x00 0x00 0x04,
0x23 0x29 0x10 0x00 0x00 0x00 0x00 0x02,0x46 0x52 0x20 0x00 0x00 0x00 0x00 0x04,
0x20 0xB9 0x00 0x00 0x00 0x00 0x00 0x02,0x41 0x72 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0xA1 0x10 0x00 0x00 0x00 0x00 0x02,0x41 0x42 0x20 0x00 0x00 0x00 0x00 0x04,
0x27 0x18 0x80 0x00 0x00 0x00 0x00 0x02,0x4E 0x31 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x02,0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x04,
0x3F 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF,0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFC,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
};

void glcd_image(int tip)
{
char i,j;
signed char k;
   
if (tip==0)
   {
   for( i = 0 ; i < 64 ; i ++ )
      {
      for( j = 0 ; j < 16 ; j ++)
         {
         for(k=7;k>-1;--k)
            {
            if( bit_test(image_100[j] ,7-k ))
            glcd_pixel( j*8+k,i, ON );
            }
         }
      }
     
   delay_ms(2000);
   glcd_fillScreen(0);
   
   glcd_text57(5,11,very,1,on);
   glcd_text57(5,20,verd,1,on);
   glcd_text57(5,29,degv,1,on);
   glcd_text57(5,38,dega,1,on);
   glcd_text57(9,56,hakkinda,1,on);


   delay_ms(2000);
//   glcd_fillScreen(0);
   }
   
if (tip==1)
   {
   for( i = 0 ; i < 64 ; i ++ )
      {
      for( j = 0 ; j < 16 ; j ++)
         {
         for(k=7;k>-1;--k)
            {
            if( bit_test(image_101[j] ,7-k ))
            glcd_pixel( j*8+k,i, ON );
            }
         }
      }
   }
}

int klavye(void)
   {
   int i, sutun, sayi;
   for ( i = 0 ;i < 4 ;i++)
      {
      SET_TRIS_C(0b11110000);
      switch(i)
         {
         case 0:
         output_high(pin_c0);
         sutun = 0;
         break;
         
         case 1:
         output_high(pin_c1);
         sutun = 1;
         break;
         
         case 2:
         output_high(pin_c2);
         sutun = 2;
         break;
         
         case 3:
         output_high(pin_c3);
         sutun = 3;
         break;
         }
         sayi = PORTC;
         delay_ms(20);
         OUTPUT_c(0x00);
      }
   return(sayi);     
   }

/////////////////////////////////////////////////////////

void main()
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_spi(SPI_SS_DISABLED);     // SPI birimi devre dışı
   setup_timer_1(t1_disabled);
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı
   menu=0;
   
   delay_ms(1000);

   glcd_init(ON);
   glcd_fillScreen(0);
   glcd_image(0);
   delay_ms(1000);
   glcd_fillScreen(0);
   glcd_image(1);


basla:

while(TRUE){

   menu = klavye();

}
}

JKramer

papsukkal.zip

#use fixed_io(c) kullanırsanız giriş-çıkış işlemlerinde tris ayarları yapılmaz, sizin bunu en başta yapmanız gerekir. Herhangi bir şey yazmazsanız (sizin durumunuzda olduğu gibi) derleyici varsayılan olarak #use standart_io(c) şeklinde kabul eder. Bu durumda her giriş-çıkış komutunda ilgili tris register'ı ayarlanır. Mesela c portunu okuyalım:

sayi=input(c);


Bu durumda önce c portu tris register'ına FF yüklenir (tamamı giriş yapılır), daha sonra port değeri sayi değişkenine aktarılır. Eğer en başta #use fixed_io(c) direktifini yazsaydık, yukarıdaki satırla sadece c portunu okuyacak, tris register'ına dokunmayacaktık.

Özetlersek; derleyici her giriş-çıkış işleminde tris register(lar)'ına dokunmasın, ben ayarlarım derseniz #use fixed_io(x) kullancaksınız. İlgili port'u okurken de input(x) komutunu kullanabilirsiniz. Eğer tris ayarını yapamam, derleyici her seferinde kendi ayarlasın fakat port'u da okuyabileyim derseniz en başa #byte PORTC(adresi neyse) yazıp;
sayi=PORTC;

demeniz yeterli.

Bu arada basit, kısa bir kod derken gönderdiğim şekildeki gibi bir kodu kastetmiştim :).

papsukkal

hocam çok sağol bu şekilde deniyeceğim.

daha önceden kodu foruma koymuştum. siz isteyince onun yeterli gelmediğini düşünerek bu şekilde yazdım

kolay gelsin

papsukkal

Jkramer

aradığım tam olarak buymuş istediğim sonucu aldım

yardımın için sağol