Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Microchip XC8 => Konuyu başlatan: enigma - 21 Ekim 2021, 23:50:08

Başlık: D portu giriş çıkışlar saçma sapan davranıyor
Gönderen: enigma - 21 Ekim 2021, 23:50:08
arkadaşlar aşağıdaki kodlar çalıştırdığımda d0 d1......tetikleyemiyorum. tetiklediğimde kendini sıfıra çekiyor. ne negatif ne pozitif etki oluyor. PORTD sadece bir defa yapabiliyorum ikinciye tetik yapamıyorum.. d portuna ait çıkışlar normal değil... nedendir bir türlü işin içinden çıkamadım...
/*
* PIC16F877A 
* ENCODER LCD
*/

#define _XTAL_FREQ  16000000
#include <xc.h>
#include <stdint.h>      // degişken türleri
#include <stdio.h>        // Including C Standard Libraries

// config ayarlar
#pragma config FOSC = HS        // Oscillator (XT oscillator)

void main(void)
{
    TRISA = 0XFF; PORTA = 0X00; // ALL IN
    TRISB = 0X00; PORTB = 0X00; // ALL OUT
    TRISC = 0b11001111; PORTC = 0X00; // 0-1-2-3 IN ,4-5 OUT, 6-7 TX RX IN
    TRISD = 0X00; PORTD = 0X00; // ALL OUT
    TRISE = 0XFF; PORTE = 0X00; // ALL IN

    ADCON1 = 0X06; // analog pinleri Dijitale dönüşür.
    CMCON = 0x07; // dijital giriş- çıkış oldu

while (1) {
    if (RA0 == 1 ) { RB7 = 1; } else { RB7 = 0; };  // OUT1 
    if (RA1 == 1 ) { RB6 = 1; } else { RB6 = 0; };  // OUT2
   
   if (RE0 == 1 ) { RB1 = 1; } else { RB1 = 0; }; 
    if (RE1 == 1 ) { RB0 = 1; } else { RB0 = 0; };   
if( RC1 == 1 ) { RD1 = 1; } else { RD1 = 0; }; 
    if (RC2 == 1 ) { RD0 = 1; } else { RD0 = 0; }; 
}

} // main


(https://i.ibb.co/KFjDkXQ/netgonder.jpg) (https://ibb.co/KFjDkXQ)
Başlık: Ynt: D portu giriş çıkışlar saçma sapan davranıyor
Gönderen: mustafacan - 22 Ekim 2021, 10:46:23
Pull-up yada pull-down direçlerini takıp deneyebilirsin.
Başlık: Ynt: D portu giriş çıkışlar saçma sapan davranıyor
Gönderen: enigma - 22 Ekim 2021, 15:10:44
Bunu sadece proteusda deniyorum.. ccs c yaptıgımda sorun olmuyor... peki mplab uzerinden nasıl yapabilirim pul up değerini  pic16f877a mcc destek vermiyor
Başlık: Ynt: D portu giriş çıkışlar saçma sapan davranıyor
Gönderen: mehmet - 22 Ekim 2021, 15:36:31
TRISE = 0b00000111;
Zira TRISE 4.bit PSP modunu açıyor.
Başlık: Ynt: D portu giriş çıkışlar saçma sapan davranıyor
Gönderen: enigma - 24 Ekim 2021, 16:04:20
evet memet bey sorunun  kaynağı e portuna verdiğin trise değeri binary
TRISE = 0b111;  yaptım sorun çözüldü.. hex yazdığımda sorun devam ediyor...ama hala anlamadım neden böyle psb modu dediğiniz şey inanın ne olduğunu bilmiyorum. ayrıca bu e portunun veya a portundan tamamı dijital çalışıyor.. bunlardan bir bit örneğin E PORTUNUN SON BITINI (2) ANALOG YAPMAM MUMKUNMU.... yani 0,1, dijital 2 port analog.. bunu nasıl secebilirim... 
Başlık: Ynt: D portu giriş çıkışlar saçma sapan davranıyor
Gönderen: mehmet - 24 Ekim 2021, 22:25:44
Register çalışmanız iyi olur.
Her mcunun kataloğunda kullanımları
bulunmakta.