Pagina 1 di 1

Problema input di un PIC16F877A

MessaggioInviato: 3 giu 2013, 10:31
da piccoli
salve a tutti
sto progettando un sensore di livello con dei sensori che fungono da interruttori chiusi quando il livello sale
http://www.futurashop.it/allegato/8220- ... Vt=&d=5,00

il problema e che quando mando un input nel PIC dai sensori non mi fa nessuna operazione, invece quando gli mando un segnale da un normale alimentatore funziona perfettamente.
sulla breadboard non avevo avuto questi problemi, invece ora sul circuito stampato non va.

vi lascio il progetto e il programma se mi riuscite a dire il motivo del problema vi sarei molto grato


il programma è stato compilato in microbasic
Codice: Seleziona tutto
  program SENSORE_DI_LIVELLO

dim LCD_D6 as sbit at RB4_bit
    LCD_D7 as sbit at RB5_bit
    LCD_RS as sbit at RB0_bit
    LCD_EN as sbit at RB1_bit
    LCD_D4 as sbit at RB2_bit
    LCD_D5 as sbit at RB3_bit

    LCD_RS_Direction as sbit at TRISB0_bit
    LCD_D7_Direction as sbit at TRISB5_bit
    LCD_D4_Direction as sbit at TRISB2_bit
    LCD_D5_Direction as sbit at TRISB3_bit
    LCD_D6_Direction as sbit at TRISB4_bit
    LCD_EN_Direction as sbit at TRISB1_bit

main:

ADCON1=$87
TRISa=1
TRISB=0
trisc=1
PORTd=0
PORTB=0
portc=0

Lcd_Init()
Lcd_Cmd(_LCD_CURSOR_OFF)
Lcd_Cmd(_LCD_CLEAR)
lcd_out(1,1,"Recipiente1")
lcd_out(2,1,"Recipiente2")
lcd_out(1,14,"/2")
lcd_out(2,14,"/2")

while(1)
if porta=0 then

lcd_out(1,13,"0")
else if porta=2 then

lcd_out(1,13,"1")
else if porta=6 then
      lcd_out(1,13,"2")

end if
end if
end if

if portc=0 then

lcd_out(2,13,"0")
else if portc=2 then

lcd_out(2,13,"1")
else if portc=6 then
      lcd_out(2,13,"2")

end if
end if
end if

if porta=6 then
if portc<6 then
portb.7=1
else
portb.7=0
end if
else
portb.7=0
end if

delay_ms(100)
wend
end.

Re: Problema input di un PIC16F877A

MessaggioInviato: 3 giu 2013, 10:38
da ecasa
Ciao, credo che siano collegati male i pulsanti; Quando non sono premuti non hai un vero livello logico sui pin, mentre quando vengono premuti vengono collegati al pin 32(massa?).
Dovresti collegare gli switch con una resistenza di pull-up o pull-down.

Re: Problema input di un PIC16F877A

MessaggioInviato: 3 giu 2013, 11:43
da piccoli
il pin 32 è la seconda alimentazione del PIC, comunque mi stai dicendo di collegare prima o dopo dei pulsanti una resistenza in parallelo

Re: Problema input di un PIC16F877A

MessaggioInviato: 3 giu 2013, 11:51
da ecasa
Io fare piu una cosa del genere:

Cosí facendo hai sempre collegato ai pin del micro un valore di riferimento "solido".

Re: Problema input di un PIC16F877A

MessaggioInviato: 3 giu 2013, 12:09
da piccoli
ok appena posso lo provo

Re: Problema input di un PIC16F877A

MessaggioInviato: 20 giu 2013, 19:26
da piccoli
gli ingressi funzionano ma ora non mi funziona il display :cry:, non mi visualizza il testo, mi escono solo dei rettangoli sulla riga superiore

Re: Problema input di un PIC16F877A

MessaggioInviato: 5 lug 2013, 16:00
da Paolino
Hai montato il circuito su breadboard?

Re: Problema input di un PIC16F877A

MessaggioInviato: 5 lug 2013, 19:45
da piccoli
prima si , ora mi rileva gli ingressi, cosi da breadboard sono passato al PCB

Re: Problema input di un PIC16F877A

MessaggioInviato: 5 lug 2013, 20:45
da Paolino
E con il display hai ancora problemi? Hai verificato le conessioni?

Ciao.

Paolo.

Re: Problema input di un PIC16F877A

MessaggioInviato: 6 lug 2013, 14:01
da piccoli
funziona perfettamente :)