Question about the PIC16F84A

Discussion in 'Programmer's Corner' started by marcenis, Jan 5, 2013.

  1. marcenis

    Thread Starter New Member

    Jan 5, 2013
    1
    0
    scusate sono nuovo e ho un quesito per il pic 16f84a se qualcuno mi può aiutare vi posto il mio file e vi spiego il problema

    //*************************************************
    //
    //
    //
    // modulo: main.c
    //
    // data: 12/09/12
    // descrizione: accensione led in settori
    // picmicro: PIC16F84A
    //
    //
    //*************************************************

    #define XTAL_FREQ 4MHZ // questo è utilizzato dalle routine di ritardo contenute in Delay.C
    #include <pic.h> // contiene i nomi mnemonici di registri e porte
    #include "delay.c" // routine per ritardi
    #define asp 20 //definisce che asp è uguale a 20
    // funzione principale, eseguita all'avvio del picmicro
    void main(void)
    {

    TRISA = 0b11111111; // setta le prime 4 porte A del PIC come entrate
    TRISB = 0; // setta le porte B del PIC come uscite
    PORTB = 0b00000000;

    while(1) //ripete il ciclo all'infinito
    { //graffa di apertura di while
    switch (PORTA) //lettura PORTA
    { //graffa di apertura di switch

    case 3:
    PORTB = 0b00000100; DelayMs(asp); //se PORTA è 2 (0010) accende la prima e seconda lampadina
    break;
    //interrompe il programma switch e torna a while

    } //graffa di chiusura di switch
    PORTB=0; //spegne tutti i led //
    } //graffa di chiusura di while
    //graffa di chiusura main (void)





    } // Fine main


    mi funziona solo il case 1 e case2

    se metto case 3 mi appare questo listato con mplab
    PICSTART Program\Verify Report 05-Jan-2013, 17:27:29 Device Type: PIC16F84A Address Range 0-3ff Program Memory Errors Address Good Bad 0000: 2BC3 0000 0001: 3FFF 0000 0002: 3FFF 0000 0003: 3FFF 0000 0004: 3FFF 0000 0005: 3FFF 0000 0006: 3FFF 0000 0007: 3FFF 0000 0008: 3FFF 0000 0009: 3FFF 0000 000A: 3FFF 0000 000B: 3FFF 0000 000C: 3FFF 0000 000D: 3FFF 0000 000E: 3FFF 0000 000F: 3FFF 0000 0010: 3FFF 0000 0011: 3FFF 0000 0012: 3FFF 0000 0013: 3FFF 0000 0014: 3FFF 0000 0015: 3FFF 0000 0016: 3FFF 0000 0017: 3FFF 0000 0018: 3FFF 0000 0019: 3FFF 0000 001A: 3FFF 0000 001B: 3FFF 0000 001C: 3FFF 0000 001D: 3FFF 0000 001E: 3FFF 0000 001F: 3FFF 0000 Any additional errors are not displayed. Configuration Memory Errors Field : Oscillator Expected: XT oscillator Received: LP oscillator Field : Code Protect Expected: Disabled Received: Enabled

    qualcuno mi sa dire il perchè
    il circuito su cui lo testo l'ho fatto cn un amico esperto
    abbiamo testato con il tester e premendo il pulsante mi da i 5 volt su tutti quindi funzionano tutti bene i tasti
    se mi sapete dire come sostituire il case con l'istruzione if then else
    grazie
     
  2. bertus

    Administrator

    Apr 5, 2008
    15,648
    2,347
    Hello,

    I found your post on the end of an existing thread.
    We call that hijacking, wich is not allowed over here.
    I moved it to its own thread.
    As this is an english forum, only questions in english will be allowed.

    Please translate the question and post it.

    Bertus
     
Loading...