Problem Tasterabfrage

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 27 11 2024  23:08:44      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Problem Tasterabfrage

    







BID = 935249

GerDominator

Stammposter



Beiträge: 233
 

  


Habe ein simples Problem dass mir mittlerweile sämtliche Haare ausfallen lässt..

Ich programmiere einen PIC16F690 in Assembler. Habe mir auch einen Debugheader zugelegt.

Folgender Codeausschnitt:



Code :


#define SS PORTC, 7
#define SP PORTB, 7

BANK_0
clrf PORTA ;Set all ports to 0
clrf PORTB
clrf PORTC

;PORTA
BANK_1
bsf TRISA, 2 ;Set RA2 (P_SP) as analog input

;PORTB
BANK_1
movlw b'11110000'
movwf TRISB

;PORTC
BANK_1
movlw b'11111111' ;Set RCX to Input
movwf TRISC

;digital - analog
BANK_2 ;ANSEL(H) Digital or Analog
movlw b'10100100' ;Analog Pins: RA2/AN2 (P_SP)
movwf ANSEL ; RC1/AN5 (P_SS)
movlw b'00001000' ; RC3/AN7 (SE)
movwf ANSELH ; RB5/AN11 (VIOUT)

;Pull-Ups
;BANK_1
;bcf OPTION_REG,7
;Löschen von RABPU habe rausgekommentiert da ich an dieser
;Stelle verwirrt war
BANK_2
clrf WPUB

modecheck ;Modi-Auswahl
BANK_0
btfss SS ;Start-Stop-Mode
goto modecheck_SP
goto Startstopmode
modecheck_SP
btfss SP ;Speed Mode
goto modecheck_AM
goto Speedmode
modecheck_AM ;Automatic Mode
btfss AM
goto modecheck_MM
goto Automaticmode
modecheck_MM ;Manual Mode
btfss MM
goto modecheck
goto Manualmode



Nun zum Problem, mein Programm hüpft nun immer in den Speedmode obwohl gar kein Highpegel an RB7 anliegt! Ich kann mir das absolut nicht erklären! Ihr vielleicht?

Zum RABPU. Um alle Pullups zu deaktivieren soll man das Bit ja löschen. Da es negiert ist, wollte ich nun fragen ob ich um alle Pullups auszuschalten nun
bcf OPTION_REG,7
oder
bsf OPTION_REG,7
schreiben muss.

Danke im Voraus! Sorry wenn ich evtl. zu viel Code gepostet habe.

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 935250

Offroad GTI

Urgestein



Beiträge: 12742
Wohnort: Cottbus

 

  


Zitat :
mein Programm hüpft nun immer in den Speedmode obwohl gar kein Highpegel an RB7 anliegt! Ich kann mir das absolut nicht erklären! Ihr vielleicht?
Bei unbeschaltetem Eingang kann alles mögliche passieren.

Wenn du unbegingt nach HIGH schalten willst, füge einen Pulldown-Widerstand ein. Bei der "regulären" Schaltung nach LOW solltest du die internen Pullup-Widerstände verwenden, die hat der Hersteller da ja nicht umsonst reinzelebriert




_________________
Theoretisch gibt es zwischen Theorie und Praxis keinen Unterschied. Praktisch gibt es ihn aber.

BID = 935252

der mit den kurzen Armen

Urgestein



Beiträge: 17434

Aber auch da solltest du dafür sorgen das der Taster per Software entprellt wird!
Wie schon gesagt hat sich der Hersteller schon was dabei gedacht da Pullup R einzubauen! Offene Eingänge mögen digitale Schaltungen gar nicht!

_________________
Tippfehler sind vom Umtausch ausgeschlossen.
Arbeiten an Verteilern gehören in fachkundige Hände!
Sei Dir immer bewusst, dass von Deiner Arbeit das Leben und die Gesundheit anderer abhängen!

BID = 935314

GerDominator

Stammposter



Beiträge: 233

Danke für die schnellen Antworten. Ich hatte vor bei allen Pinabfragen Pullups zu verwenden, nachdem die Hardware allerdings geätzt und gelötet war ist mir aufgefallen dass die Pins am PORTC keine Pullups haben, bzw. manche von diesen. Leider ein bisschen blöd gelaufen.
Ich werde die Schaltung umlöten, nur die internen Pullups verwenden und dann neu berichten.

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

[ Diese Nachricht wurde geändert von: GerDominator am 21 Aug 2014 10:16 ]

BID = 935323

GerDominator

Stammposter



Beiträge: 233

Im Debug Mode funktioniert mein Programm. In der Realität allerdings nicht. Ich möchte den Kopf in den Sand stecken

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 935326

der mit den kurzen Armen

Urgestein



Beiträge: 17434

Du kannst aber auch zusätzlich einen Pullup extern zum Eingang schalten ca 47 kOHM. Wichtig ist nur das der Eingang ein sauberes H sieht und das der Eingang durch die Taste auf L gezogen wird.

_________________
Tippfehler sind vom Umtausch ausgeschlossen.
Arbeiten an Verteilern gehören in fachkundige Hände!
Sei Dir immer bewusst, dass von Deiner Arbeit das Leben und die Gesundheit anderer abhängen!

BID = 935332

GerDominator

Stammposter



Beiträge: 233

Es funktioniert doch! Ich habe mich durch einen anderen Fehler irritieren lassen. Es wurde in den Startstopmode gegangen allerdings die dort eingestellte PWM nicht ausgeführt. Ich habe mit dem Oszi die PWM beobachtet und daraus geschlossen, dass der PIC nicht in den Mode gegangen ist. Habe eine Test-LED angeschlossen, und siehe da, der PIC macht doch was er soll
Von nun an werde ich immer eine Test-LED in meine Schaltung integrieren und diese in den einzelnen Programmteilen dann aktivieren oder deaktivieren.

Nochmals danke!!

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 12 Beiträge verfasst
© x sparkkelsputz        Besucher : 182415376   Heute : 7362    Gestern : 7797    Online : 377        27.11.2024    23:08
2 Besucher in den letzten 60 Sekunden        alle 30.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0244479179382