Σελίδα 1 από 4 1 2 3 ... ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 1 έως 10 από 32

Θέμα: Mini Voltmeter με τον PIC18F1320

  1. #1
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Lightbulb Mini Voltmeter με τον PIC18F1320

    Μια πολύ γρήγορη και μικρή κατασκευή βολτόμετρου με ένδειξη 3 ψηφίων LED display και τον PIC18F1320,

    http://ww1.microchip.com/downloads/e...Doc/39605F.pdf

    μετρά τάσεις DC 0-30V. Κατασκευασμένο σε διάτρητη πλακέτα σε ένα απόγευμα
    για χάρη ενός φίλου που ήθελε μια πρόχειρη ένδειξη τάσης τροφοδοσίας μιας συσκευής. Τίποτα
    περίπλοκο, ακολουθεί τις βασικές αρχές σχεδιασμού τέτοιων εφαρμογών: ένας ρυθμιζόμενος
    διαιρέτης τάσης με προστασία υπέρτασης άνω των 5V για μια αναλογική είσοδο του μ/Ε, 3 πολυπλεγμένα
    LED displays κοινής ανόδου, ένα πολύ απλό τροφοδοτικό 5V, λίγες γραμμές κώδικα HI-TECH PICC18 και έτοιμο.

    Σκοπός δεν είναι η καθεαυτού παρουσίαση σαν κατασκευή, αλλά η χρήση του σαν αναφορά για κάποιους φίλους
    που μπαίνουν στον υπέροχο κόσμο των ψηφιακών ηλεκτρονικών. Απλή κατασκευή χωρίς εξωτικά υλικά
    και με αρκετές χρήσεις. Επίσης, δέχεται και πολλούς πειραματισμούς σε ό,τι αφορά το εύρος τάσης εισόδου,
    την πολυπλεξία των ενδείξεων και βέβαια τη λογική του προγράμματος.

    Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  18F1320 VOLTMETER.png Εμφανίσεις:  333 Μέγεθος:  50,6 KB

    Ακολουθούν φωτογραφίες της μικρής αυτής κατασκευής (οι οποίες λόγω βραδυκαυστότητας του περιβόητου
    99,9% κάλυψης δικτύου φίλης μας κινητής τηλεφωνίας (!), θα αργήσουν να ανέβουν...)

    Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  2014-10-17 22.19.44.jpg Εμφανίσεις:  299 Μέγεθος:  148,1 KBΠατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  2014-10-17 22.20.46.jpg Εμφανίσεις:  279 Μέγεθος:  146,1 KBΠατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  2014-10-17 22.21.06.jpg Εμφανίσεις:  285 Μέγεθος:  147,0 KB

    Η κατασκευή αποτελείται απο 2 τμήματα, ένα του κυκλώματος ελέγχου και μέτρησης και ένα του κυκλώματος
    ένδειξης. Μεταξύ τους ενώνονται με ένα header σε ορθή γωνία. Όταν τοποθετηθεί στο κουτάκι του, θα μπούν και
    οι ανάλογες φωτογραφίες.

    Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  2014-10-17 22.25.11.jpg Εμφανίσεις:  287 Μέγεθος:  138,3 KB

    Ο κώδικας είναι γραμμένος σε περιβάλλον HI-TECH PICC18 compiler, ενσωματωμένου στο MPLAB και είναι
    πάρα πολύ απλός. Οι χαρακτήρες 0-9 διαβάζονται απο μια ταμπέλα και εμφανίζονται με τη σειρά (κυκλικά 1-2-3)
    ξεχωριστά σε κάθε ψηφίο σε γρήγορο καρρέ με τη βοήθεια μιας διακοπής του TMR0, ώστε το μάτι λόγω
    μεταισθήματος να διαβάζει έναν τριψήφιο αριθμό κανονικά. Έτσι επιτυγχάνεται η πολυπλεξία της ένδειξης.

    Το κύκλωμα χρονίζεται απο έναν κρύσταλλο 8MHz αλλά με μια μικρή αλλαγή στα configuration registers
    μπορεί να δουλέψει με τον εσωτερικό ταλαντωτή για περισσότερη οικονομία στα υλικά.

    Η μετατροπή της δεκαεξαδικής τιμής του ADRES καταχωρητή "κομματιάζεται" σε τρείς βοηθητικούς καταχωρητές
    δεκάδων, μονάδων και δεκάτων (μετά την υποδιαστολή) και διαβιβάζεται στην ένδειξη με την προαναφερθείσα
    σειρά (MSB--->LSB). H υποδιαστολή ανάβει μόνιμα μιας και το οργανάκι έχει (θεωρητική ένδειξη) απο 0-99.9

    Η κύρια ρουτίνα προγράμματος:
    Κώδικας:
    1. MAIN.C
    
    //******************************************************************
    //                        main.C
    //                     17 OCTOBER 2014
    //
    // Author: Manos Mar
    //
    // Started: 10 OCTOBER 2014
    //*****************************************************************/*
    
    
    #include    <pic18.h>                                   //ΗΤ-PICC include file
    #include    <stdio.h>                               //ΗΤ-PICC include file
    #include    <string.h>                              //ΗΤ-PICC include file
    #include    <stddef.h>                              //ΗΤ-PICC include file
    #include    <htc.h>                                 //ΗΤ-PICC include file
    #include    "defs.h"                                //Local include file
    #include    "delay.h"                               //HT-PICC modified local file
    #include    "adc.h"                             //HT-PICC modified local file
    
    
    #define _XTAL_FREQ 8000000  
    
    
    const char SegCode[11] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xFF};
        //                       0    1    2    3    4    5    6    7    8    9
    const char Column[3]   = {0x06,0x0A,0x0C};
    static char Segment[3] = {0x06,0x0A,0x0C};
    static char ColCount=0x00;
    int hundrends = 0;
    int tenths = 0;
    int units = 0;
    int decUnits = 0;
    float result;
    unsigned int i;
    
    
    __CONFIG(1, XT ); 
    __CONFIG(2, BOREN & WDTDIS & PWRTEN); //BORDIS=brown out reset disabled, WDTDIS=watch dog timer disabled 
    __CONFIG(3, MCLREN);
    __CONFIG(4, DEBUGEN & LVPDIS & STVRDIS); //DEBUGEN=debug enabled, LVPDIS=low voltage programmin disabled 
    __CONFIG(5, UNPROTECT); //unprotected 
    __CONFIG(6, WRTEN); //flash write enabled 
    
    
    //******************************************************************
    void main(void)                                     //Έναρξη κύριας ρουτίνας προγράμματος
    {   
        Init();
        Adc_Init();
        Init_TMR0();
        
       while(1)
       {
           result=0;
            for (i=0;i<100;i++)
            {
                result=result+Adc_Read();
                DelayMs(1);
            }
            result= ((result/1023)*11.4*10)/100;
            disassembly(result);        
            PORTB=0b11111111;
            PORTA=0b01111110;
            DelayMs(200);
       }
    }   
    //*******************************************************************
    //Initialize Registers
    //*******************************************************************
    void Init()
    {
        OSCTUNE=0x1F;
        OSCCON=0x72;    
        TRISA=0b00000001;       
        TRISB=0b00000000;
    }
    //*******************************************************************
    //Timer1
    //*******************************************************************
    void Init_TMR0()
    {   
        T0PS0=0; //Prescaler is divide by 16
        T0PS1=1;
        T0PS2=1;    
        PSA=0;      //Timer Clock Source is from Prescaler
        T0CS=0;     //Prescaler gets clock from FCPU (5MHz)
        T08BIT=1;   //8 BIT MODE
        TMR0IE=1;   //Enable TIMER0 Interrupt
        PEIE=1;     //Enable Peripheral Interrupt
        GIE=1;      //Enable INTs globally
        TMR0ON=1;      //Now start the timer!
    }
    //*******************************************************************
    //
    //*******************************************************************   
    void interrupt ISR()
    {   
        if(TMR0IE && TMR0IF)
        {
            Display();
            TMR0IF=0;
            TMR0H=0;
            TMR0L=250;
        }
    }
    //*******************************************************************
    void Display()
    {
        PORTB=0B11111111;
        if (ColCount>=3) 
        ColCount=0;    
        PORTA = Column[ColCount];
        DelayUs(900);
        PORTB=0B11111111;
        DelayUs(600);
        PORTB = 0b11111111;   // off segment a-f
        Segment[0]=SegCode[tenths];
        Segment[1]=SegCode[units];
        Segment[2]=SegCode[decUnits];
        PORTB = Segment[ColCount];
        DelayUs(600);
        PORTB = 0b01111111;
        ColCount++;             
    }
    //*******************************************************************
    void disassembly(float var)
    {
      int res;
      
      tenths = 40*var/1023;
      res=var;
      res = 40*res%1023;
      units = 10*res/1023;
      res = 10*res%1023;
      decUnits=10*res/1023;
    }  
    //*******************************************************************
    Οι ρουτίνες αρχικοποίησης και μέτρησης του ADC:
    Κώδικας:
    2. ADC.C
    
    //******************************************************************
    //                        ADC.C
    //                     17 OCTOBER 2014
    //
    // Author: Manos Mar
    //
    // Started: 10 OCTOBER 2014
    //******************************************************************
    
    
    #include    <pic18.h>
    #include    "adc.h"
    
    
    
    
    void Adc_Init()
    {
        ADCON0=0b00000000;
        ADCON1=0b01111110;
        ADCON2=0b10100001;
        ADON=1;  //switch on the adc module
        GODONE=1;  //Start conversion
    }
    
    
    unsigned int Adc_Read()
    {    
        GODONE=1;
        while(GODONE)
        {
            return ADRES;
        }
    }
    Συνημμένα Αρχεία Συνημμένα Αρχεία

    14 Not allowed! Not allowed!

  2. 9 μέλη ευχαρίστησαν τον manolena για αυτό το χρήσιμο μήνυμα:

    aktis (20-10-14), DiViDi (28-10-14), dog80 (18-10-14), FH16 (18-10-14), G.G. (18-10-14), lepouras (19-10-14), moutoulos (18-10-14), p.gabr (18-10-14), SeAfasia (18-10-14)

  3. #2
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    H ρουτίνα των καθυστερήσεων:
    Κώδικας:
    3. DELAY.C
    //===================================================================
    //                        DELAY.C
    //                     17 OCTOBER 2014
    //
    // Author: Manos Mar
    //
    // Started: 10 OCTOBER 2014
    //===================================================================
    // *	Delay functions
    // *	See delay.h for details
    // *
    // *	Make sure this code is compiled with full optimization!!!
    //===================================================================
    
    
    #include	"delay.h"
    //===================================================================
    void DelayMs(unsigned int cnt)
    {
    #if	XTAL_FREQ <= 2MHZ
    	do {
    		DelayUs(996);
    	} while(--cnt);
    #endif
    
    
    #if XTAL_FREQ >16MHZ
    	unsigned char	i;
    	do {
    		i = 100;
    		do {
    			DelayUs(10);
    		} while(--i);
    	} while(--cnt);
    #else
     #if    XTAL_FREQ > 2MHZ
     	unsigned char	i;
     	do {
     		i = 3;
     		do {
     			DelayUs(220);//250
     		} while(--i);
     	} while(--cnt);
     #endif
    #endif
    }
    ...και τα header files τους:
    Κώδικας:
    4. ADC.H
    //******************************************************************
    //                        ADC.H
    //                     17 OCTOBER 2014
    //
    // Author: Manos Mar
    //
    // Started: 10 OCTOBER 2014
    //******************************************************************
    
    
    extern void Adc_Init();
    extern unsigned int Adc_Read();
    
    5. DEFS.H
    
    //******************************************************************
    //                        DEFS.H
    //                     17 OCTOBER 2014
    //
    // Author: Manos Mar
    //
    // Started: 10 OCTOBER 2014
    //******************************************************************
    #include    <pic18.h>
    #include     <htc.h>
    #define PortBit(port,bit)    ((unsigned)&(port)*8+(bit))
    
    
    extern void adc_read_volts();
    extern void Init();
    extern void Init_TMR0();
    extern void Display();
    extern void disassembly(float var);
    
    6. DELAY.H
    //******************************************************************
    //                        DELAY.H
    //                     17 OCTOBER 2014
    //
    // Author: Manos Mar
    //
    // Started: 10 OCTOBER 2014
    //******************************************************************
     *    Delay functions for HI-TECH C on the PIC
     *
     *    Functions available:
     *        DelayUs(x)    Delay specified number of microseconds
     *        DelayMs(x)    Delay specified number of milliseconds
     *
     *    Note that there are range limits: x must not exceed 255 - for xtal
     *    frequencies > 12MHz the range for DelayUs is even smaller.
     *    To use DelayUs it is only necessary to include this file; to use
     *    DelayMs you must include delay.c in your project.
     *
    /******************************************************************/
    
    
    /*    Set the crystal frequency in the CPP predefined symbols list in
        HPDPIC, or on the PICC commmand line, e.g.
        picc -DXTAL_FREQ=4MHZ
    
    
        or
        picc -DXTAL_FREQ=100KHZ
    
    
        Note that this is the crystal frequency, the CPU clock is
        divided by 4.
    
    
     *    MAKE SURE this code is compiled with full optimization!!!
    /******************************************************************/
    
    
    #ifndef DELAY_ROUTINE       //-- Check if already loaded!!!
    
    
     #define DELAY_ROUTINE      //-- MAKE SURE CANNOT RELOAD
     #ifndef    XTAL_FREQ
    //  #error NO XTAL_FREQ DEFINED - Is Required for DelayUs!
      #define    XTAL_FREQ    8MHZ        /* Crystal frequency in MHz */
     #endif
    
    
     #define    MHZ    *1000            /* number of kHz in a MHz */
     #define    KHZ    *1            /* number of kHz in a kHz */
    
    
     #if    XTAL_FREQ >= 12MHZ
      #if XTAL_FREQ >= 20MHZ
       void DelayUs(unsigned char x)
       {
        unsigned char count,_dcnt;
        for(count=0;count<x;count++)
        {
         _dcnt= ((XTAL_FREQ)/(8MHZ));     //-- 1us worth of delay
         while(--_dcnt !=0);
        }
       }
      #else
       #define    DelayUs(x)    { unsigned char _dcnt; \
                  _dcnt = (x)*((XTAL_FREQ)/(12MHZ)); \
                  while(--_dcnt != 0) \
                      continue; }
      #endif
     #else
    
    
      #define    DelayUs(x)    { unsigned char _dcnt; \
                  _dcnt = (x)/(12MHZ/(XTAL_FREQ))|1; \
                  while(--_dcnt != 0) \
                      continue; }
     #endif
    
    
     extern void DelayMs(unsigned int);
    #endif
    Όπως πάντα, δεν υπάρχει καθόλου σχολιασμός (!) και γιαυτό, κάθε ερώτηση για το πρόγραμμα ευπρόσδεκτη!
    Τα τοποθετείτε όλα μαζί σε έναν φάκελο και φτιάχνετε ένα project με αυτά τα αρχεία σαν source και included.
    Κατόπιν, τα χτίζετε και προγραμματίζετε μέσω ICSP τον μ/Ε.
    Το project σε PICC18 και μορφή .zip, περιλαμβάνει και το Voltmeter.hex για απ' ευθείας προγραμματισμό:
    Συνημμένα Αρχεία Συνημμένα Αρχεία

    3 Not allowed! Not allowed!

  4. Ένα μέλος ευχαρίστησε τον manolena για αυτό το χρήσιμο μήνυμα:

    SeAfasia (18-10-14)

  5. #3
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Κεντημένο στο χέρι (!) με σταυροβελονιά... με λεπτό σύρμα Kynar για wire wrapping:
    Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  2014-10-17 22.22.00.jpg Εμφανίσεις:  297 Μέγεθος:  146,0 KBΠίσω όψη κύριας πλακέτας
    Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  2014-10-17 22.22.22.jpg Εμφανίσεις:  237 Μέγεθος:  148,6 KBΠίσω όψη πλακέτας ενδείξεων
    Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  2014-10-17 22.26.27.jpg Εμφανίσεις:  260 Μέγεθος:  139,0 KBΚαι μια μέτρηση ενός φορτιστή για κινητό τηλέφωνο (αυτόν βρήκα μπροστά μου εδώ που είμαι...)

    Παρατηρήσεις:

    Θα ήταν καλό, αντί του απλού τρίμερ που έχω βάλει στην ρύθμιση offset εισόδου να μπεί ένα πολύστροφο για μεγαλύτερη
    διακριτότητα μεταξύ των μετρήσεων και της ρύθμισης. Επίσης, αν ο 7805 ζεσταίνεται περισσότερο απο το ανεκτό, μπορεί να
    ρυθμιστεί απο τον κώδικα το duty cycle του παλμού που ανάβει τα segments των ενδείξεων ώστε αυτά να ανάβουν για
    λιγότερο χρόνο και να είναι σβηστά για περισσότερο. Αυτό βέβαια επηρεάζει την απόδοση του LED (ξεθωριάζει), αλλά αυτό
    μπορεί να διορθωθεί με την τοποθέτηση μιας κόκκινης μεμβράνης ή plexiglass στην πρόσοψη.

    Τα displays είναι κοινής ανόδου και οδηγούνται απο BC557 PNP transistors. Χρώματος κόκκινου, αλλά εννοείται οτι μπορεί
    να μπεί όποιο χρώμα θέλετε. Κάθε segment προστατεύεται απο αντίσταση περιορισμού ρεύματος 220Ω. Εγώ για πρακτικούς
    λόγους έβαλα 2 τετραπλά resistor networks 4X220R, αλλά μια απλή αντίσταση 1/4W για το καθένα είναι αρκετή.

    1 Not allowed! Not allowed!

  6. #4
    Μέλος
    Όνομα
    Nίκος
    Εγγραφή
    Apr 2012
    Περιοχή
    Αγ.Δημήτριος
    Μηνύματα
    786

    Προεπιλογή

    ωραίος !!
    πρέπει να πεδεύτηκες με τόσο καλωδιομάνι !
    κάτι άλλο όμως
    καλύτερα αφού ήταν για τον φίλο σου δεν έπερνε ένα έτοιμο από ebay ?
    γιατί να κόστισε πιο λίγο από του ebay δεν νομίζω
    βέβαια πάντα είναι και η χαρά της δημιουργίας !!!

    0 Not allowed! Not allowed!

  7. Ένα μέλος ευχαρίστησε τον ninolas για αυτό το χρήσιμο μήνυμα:

    manolena (18-10-14)

  8. #5
    Μέλος Το avatar του χρήστη SeAfasia
    Όνομα
    SV3IRG Dinos
    Εγγραφή
    Sep 2012
    Περιοχή
    Άργος.
    Μηνύματα
    3.363

    Προεπιλογή

    το καλωδιομάνι δεν είναι τπτ μπροστά στο κώδικα που θα τα κάνει να λειτουργούν ενιαία!
    Manolena οι ANSEL και ANSELH που είναι στο κώδικα;
    Παράθεση Αρχικό μήνυμα από ninolas Εμφάνιση μηνυμάτων
    ωραίος !!
    πρέπει να πεδεύτηκες με τόσο καλωδιομάνι !
    κάτι άλλο όμως
    καλύτερα αφού ήταν για τον φίλο σου δεν έπερνε ένα έτοιμο από ebay ?
    γιατί να κόστισε πιο λίγο από του ebay δεν νομίζω
    βέβαια πάντα είναι και η χαρά της δημιουργίας !!!

    0 Not allowed! Not allowed!

  9. #6
    Μέλος Το avatar του χρήστη NOE
    Όνομα
    Δημήτρης
    Εγγραφή
    Jan 2005
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    581

    Προεπιλογή

    χαίρετε, καλή η παρουσίαση σου, και καλή η κατασκευή όσον αφορά το εκπαιδευτικό της χαρακτήρα, τέτοια άρθρα χρειάζονται στο φορουμ.

    Έχω μία ένσταση και μία απορία. Η ένσταση είναι ότι χαραμίζεται όταν ένας pic18fxxxx χρησιμοποιείται για μια τόσο απλή δουλειά, για εκπαιδευτικούς βέβαια σκοπούς είναι μια χαρά. Η απορία μου τώρα είναι στη χρήση της διόδου D1 στο MCLR, η R4 με τον C1 προσφέρουν μία καθυστέρηση κατά την εκκίνηση αλλά η χρησιμότητα των D1 και R5 ποια είναι ?

    0 Not allowed! Not allowed!

  10. Ένα μέλος ευχαρίστησε τον NOE για αυτό το χρήσιμο μήνυμα:

    manolena (18-10-14)

  11. #7
    Μέλος Το avatar του χρήστη SeAfasia
    Όνομα
    SV3IRG Dinos
    Εγγραφή
    Sep 2012
    Περιοχή
    Άργος.
    Μηνύματα
    3.363

    Προεπιλογή

    η δίοδος προστατεύει το pic απο πιθανή αιτία υπέρτασης που θα προερθει απο τα 7segment display εφόσον έρχεται ρεύμα vcc.
    Ο C1 λειτουργεί σαν bypass αν το λεω σωστά και η R15 προστατεύει το mclr pin απο "υψηλο" current...
    Παράθεση Αρχικό μήνυμα από NOE Εμφάνιση μηνυμάτων
    χαίρετε, καλή η παρουσίαση σου, και καλή η κατασκευή όσον αφορά το εκπαιδευτικό της χαρακτήρα, τέτοια άρθρα χρειάζονται στο φορουμ.

    Έχω μία ένσταση και μία απορία. Η ένσταση είναι ότι χαραμίζεται όταν ένας pic18fxxxx χρησιμοποιείται για μια τόσο απλή δουλειά, για εκπαιδευτικούς βέβαια σκοπούς είναι μια χαρά. Η απορία μου τώρα είναι στη χρήση της διόδου D1 στο MCLR, η R4 με τον C1 προσφέρουν μία καθυστέρηση κατά την εκκίνηση αλλά η χρησιμότητα των D1 και R5 ποια είναι ?

    0 Not allowed! Not allowed!

  12. #8
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Σύμφωνα με το datasheet της Microchip, σελ. 35, αναφέρεται ότι πρέπει να τοποθετηθεί μια μικρή αντίσταση σε σειρά
    με το MCLR ώστε να περιοριστεί το ρεύμα απο τον πυκνωτή C1 προς το MCLR input σε περίπτωση ηλεκτροστατικής
    εκκένωσης (ESD) ή ηλεκτρικού στρές (ΕΟS).

    H D1 βοηθά ώστε να εκφορτιστεί άμεσα ο C1 με την απώλεια τάσης τροφοδοσίας. Γενικά, όλο αυτό το κύκλωμα προσδίδει
    μια μικρή καθυστέρηση στο power on reset. Κανονικά, αρκεί μόνο μια αντίσταση δεμένη στο + της τροφοδοσίας. Αυτό
    κάνω πάντα κι εγώ χωρίς προβλήματα. Απλά, ήθελα να δείξω κάποια λεπτομέρεια που μπορεί σε ορισμένες περιπτώσεις
    να προκαλέσει προβλήματα στο κύκλωμα.

    Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  MCLR circuit.png Εμφανίσεις:  137 Μέγεθος:  65,4 KB

    1 Not allowed! Not allowed!

  13. #9
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από SeAfasia Εμφάνιση μηνυμάτων
    το καλωδιομάνι δεν είναι τπτ μπροστά στο κώδικα που θα τα κάνει να λειτουργούν ενιαία!
    Manolena οι ANSEL και ANSELH που είναι στο κώδικα;
    O PIC18F1320 δεν έχει ANSELH-ANSEL για την επιλογή αναλογικής ή ψηφιακής λειτουργίας μιας I/O.
    Αντίθετα, αν διαβάσεις το datasheet της Microchip σελ. 156 θα δείς οτι διαθέτει τον ADCON1 που καθορίζει
    αν τα αναλογικά κανάλια ΑΝ0-ΑΝ6 θα λειτουργούν σαν ψηφιακές Ι/Ο ή σαν αναλογικές είσοδοι.

    1 Not allowed! Not allowed!

  14. #10
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από ninolas Εμφάνιση μηνυμάτων
    ...
    καλύτερα αφού ήταν για τον φίλο σου δεν έπερνε ένα έτοιμο από ebay ?
    γιατί να κόστισε πιο λίγο από του ebay δεν νομίζω
    βέβαια πάντα είναι και η χαρά της δημιουργίας !!!
    Αυτό ακριβώς είναι. Η χαρά της δημιουργίας.

    0 Not allowed! Not allowed!

Σελίδα 1 από 4 1 2 3 ... ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Χρονόμετρο σε μικροελενκτή PIC18F1320
    By bxenos in forum Μικροελεγκτές
    Απαντήσεις: 13
    Τελευταίο Μήνυμα: 02-09-13, 01:26
  2. Voltmeter-Current meter σε LCD (PIC)
    By makatas in forum Μικροελεγκτές
    Απαντήσεις: 10
    Τελευταίο Μήνυμα: 18-05-12, 13:56
  3. PC - Voltmeter
    By koze85 in forum Κυκλώματα για Η/Υ
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 09-10-08, 18:40
  4. pic18f1320 programmer?
    By jakektm in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 07-06-08, 01:38

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας