Salve a tutti, ho un problema con un programma scritto in C per un PIC16F84A. Il programma è semplicissimo, serve solo per fare una prova con il pic, ma nn funziona... Ecco il listato:
#include
main(void) { TRISA = 0xFF; //portA come entrate TRISB = 0; //portB come uscite while(1) { if ((PORTA & 0x04) == 0) //se è premuto il tasto su RA3 { PORTB = 0x01; //accende il led } else { PORTB = 0x00; //spegne il led } } }
Dovrebbe accendere led su RB0 quando premo il pulsante su RA3.... In realtà quando premo il pulsante il led si accende, ma poi rimane acceso anche quando lo rilascio... Non so dove sbattere la testa, sono stato più di un'ora a provare... Vi posto anche lo schema:
[FIDOCAD] MC 80 40 0 0 650 LI 105 60 125 60 MC 125 50 1 0 080 LI 125 50 105 50 LI 125 35 125 50 MC 145 30 0 0 045 LI 125 25 145 25 LI 145 25 145 30 SA 125 50 MC 145 60 0 0 010 LI 125 60 145 60 SA 125 60 MC 45 65 0 0 045 LI 45 65 45 60 LI 45 60 80 60 MC 65 20 3 0 010 MC 65 25 1 0 080 LI 65 20 65 25 LI 65 35 65 45 LI 65 45 80 45 MC 50 45 1 0 860 LI 50 45 65 45 MC 25 50 0 0 045 LI 25 50 25 45 LI 25 45 35 45 SA 65 45 MC 125 25 1 0 170 MC 65 75 1 0 220 LI 65 75 65 65 LI 65 65 80 65 MC 65 100 0 0 045 LI 65 90 65 100 TY 130 50 5 3 0 0 0 * 5,8 k (2,2 + 3,6) TY 105 25 5 3 0 0 0 * 100 pF TY 45 25 5 3 0 0 0 * 100 k TY 90 70 5 3 90 0 0 * PIC16F84ASpero che qualcuno possa aiutarmi. Vi ringrazio in anticipo Ciao Brunix