Hi,
gut das es nur im Schaltplan ist, es sei dir verziehen
Also als Schutz für den PIC solltest Du die Eingänge entkoppeln, d.h. einen Schutzwiderstand verbauen damit falls ein Eingang versehentlich als Ausgang definiert wird kein hoher Strom fließen kann, der den PIC zerstört.
Nun zum Code:Code:Ich versuch mich mal künstlerisch. RA0 ----- 1k ----- Taster ----- GND. Zwischen 1k und Taster noch eine Pullup (z.B. 4,7k) an Vdd (+).
machst Du schon indem Du clrf PORTB in der Zeile drüber ausführts. Nur mal so nebenbei.Code:movlw 0x00 ;PORTB, setze alle Bits 0 movwf PORTB
Funktioniert das:
Ich habs jetzt nicht simuliert aba könnte es sein das Du einen Stack Überlauf produzierst, da Du hier main mit call aufrufst, d.h. er springt zu main (Rücksprungeadresse wird gespeichert), im main springt er zu wait (+ 1 weitere Adresse) irgendwann kommt er bei loop 3 das glecihe wiederholt sich bis der Stack überläuft (max. 8 Adresse), dann macht der PIC schmarrn.Code:loop3 BTFSS PORTA,0 call main call wait goto loop3 return
Am besten mal im MPLAB testen!
mfg
Benny







Zitieren

Lesezeichen