Kleines Problem bei BASCOM Programm

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: 06 11 2024  09:34:13      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


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


Autor
Kleines Problem bei BASCOM Programm

    







BID = 763659

Offroad GTI

Urgestein



Beiträge: 12731
Wohnort: Cottbus
 

  


Hallo,

seit kurzem beschäftige ich mich mal wieder mit Mikrocontrollern - und gleich tauchen Probleme auf.
Nachfolgendes Programm soll eigentlich nur bei einem Tastendruck eine LED schalten. Das klappt aber nicht so ganz.
Das Problem ist, dass das mal funktioniert und mal nicht.
Will heißen: Taster wird betätigt und wieder losgelassen und die LED bleibt an - aber eben nicht immer, mal geht sie auch aus (so wie´s sein soll).
Das Programm ist anscheinend so einfach, dass es schon wieder kompliziert ist...

Falls das hilft: Ich verwende ein fertiges Test-Board mit einem ATMEGA88. Der Eingang des µC wird mittels PullDown Widerstand auf 0V gelegt.



Code :

$regfile = "m88def.dat"

$crystal = 8000000

Config Portb.6 = Output
Config Portb.7 = Output
Config Portb.1 = Input
Config Portb.2 = Input

Led1 Alias Pinb.6
Led2 Alias Pinb.7
Sw1 Alias Pinb.1
Sw2 Alias Pinb.2

Do
If Sw1 = 1 Then Led1 = 1
If Sw1 = 0 Then Led1 = 0

If Sw2 = 1 Then Led2 = 1
If Sw2 = 0 Then Led2 = 0
Loop


Hat jemand eine Idee, was ich falsch mache, bzw. anders machen sollte?

MfG Mathias

BID = 763674

wulf

Schreibmaschine



Beiträge: 2246
Wohnort: Bozen

 

  

Hallo,
Edit: Blödsinn mit Tasten prellen entfernt, zu spät bemerkt, dass das ja kein Taster ist mit "Toggle" Funktion.

Blöde Frage: Wie groß sind denn deine PullDown Widerstände?
Wenn die groß genug sind, könnten die, kombiniert mit den integrierten PullUp Widerständen, irgendwelche Spannungen erzeugen.


LG
Simon

Edit2:
Hab grad das Datenblatt offen.
Ohne mich jetzt auch nur im geringsten bei Bascom auszukennen:
Wie kann es sein, dass du PB6 und PB7 als Tastereingang (= TOSC1 und TOSC2 für den Quarz) verwendest und oben "crystal" definierst?


[ Diese Nachricht wurde geändert von: wulf am  3 Mai 2011 12:35 ]

BID = 763685

Offroad GTI

Urgestein



Beiträge: 12731
Wohnort: Cottbus


Zitat :
Wie groß sind denn deine PullDown Widerstände?
Jeweils 10k (Die internen PullUp Widerstände sind doch aber gar nicht eingeschaltet )


Zitat :
Wie kann es sein, dass du PB6 und PB7 als Tastereingang (= TOSC1 und TOSC2 für den Quarz) verwendest und oben "crystal" definierst?
Damit (TOSC1 und TOSC2) kann ich leider nichts anfangen.

MfG Mathias

BID = 763689

sepp@kaernten

Schriftsteller



Beiträge: 709
Wohnort: Austria

Hallo!

Lies dir die Seite mal durch: LINK!

..unter µC-Ecke\Lehrgänge\Bascom Hardware\Grundlagen\Hardware-Interrupts..

..oder hier: LINK!


_________________
..was man nicht begreift, verlernt man nicht..:(



[ Diese Nachricht wurde geändert von: sepp@kaernten am  3 Mai 2011 15:14 ]

BID = 763692

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Na, das hier ist falsch:

Led1 Alias Pinb.6

Led2 Alias Pinb.7


Das müsste jeweils PortN lauten.

Zumindest, wenn man der Logik der Registerbezeichnungen folgt: PortXN ist ein Ausgang, PinXN ist der korrespondierende Eingang.

Wenn kein externer Quarz an XTAL1 und XTAL2 angeschlossen ist, dann geht das so in Ordnung. AFAIK läuft dieser AVR mit 8MHz internem Systemtakt, wenn man nicht umkonfiguriert.


Der Watchdog kommt auch nicht in Frage für diesen Fehler.

Edit:
@wulf:

Zitat :
Wie kann es sein, dass du PB6 und PB7 als Tastereingang (= TOSC1 und TOSC2 für den Quarz) verwendest und oben "crystal" definierst?


Aber das tut er doch gar nicht.
An PB6 und PB7 hängen die LEDn, an PB1 und PB2 die beiden Taster.
Crystal wird, denke ich mal, für jegliche Art von Takt benutzt, und soll nur den Systemtakt festlegen, auch wenn es hier der interne RC-Oszillator ist .



_________________


[ Diese Nachricht wurde geändert von: DonComi am  3 Mai 2011 15:30 ]

BID = 763740

Offroad GTI

Urgestein



Beiträge: 12731
Wohnort: Cottbus


Zitat :
Das müsste jeweils PortN lauten.
So ist es. Und jetzt funktioniert es auch endlich so wie es soll.


Zitat :
PortXN ist ein Ausgang, PinXN ist der korrespondierende Eingang.
Und ich hab nich immer gefragt, wozu dort einmal PIN und ein anderes mal PORT steht.

Vielen Dank an Euch

BID = 763752

wulf

Schreibmaschine



Beiträge: 2246
Wohnort: Bozen

@DonComi:
Hoppla, ging wohl daneben.

_________________
Simon
IW3BWH

BID = 766112

Offroad GTI

Urgestein



Beiträge: 12731
Wohnort: Cottbus

Ich muss nochmal von dem Thema anfangen....

Der unten stehende Schaltplan soll mit einem µC realisiert werden. Das Problem ist nun aber, dass bei "Debounce" immer nur ein Unterprogramm aufgerufen werden kann - Oder habe ich das falsch verstanden? - die Signale der Taster aber mehrfach benötigt werden.

Könnte man das evtl. mit Merkern lösen? Also dass man sagt(nur mal schnell symbolisch) "Debounce S1,1,sub1" und dann "sub1: S1 = Merker_S1" und diese Merker dann ohne ein Unterprogramm weiter verwendet.

Ein Problem wäre dann auch noch die Rückkopplung der beiden RS-FF. Beim zyklischen Programmdurchlauf ist ja der Ausgangswert des zweiten FF noch gar nicht berechnet, der Wert wird aber für das erste FF benötigt. Müsste man die Ausgänge dann schon am Anfang des Programms auf 0 setzen?

MfG Mathias


Zurück zur Seite 0 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 23 Beiträge im Durchschnitt pro Tag       heute wurden bisher 3 Beiträge verfasst
© x sparkkelsputz        Besucher : 182290242   Heute : 1066    Gestern : 4667    Online : 430        6.11.2024    9:34
1 Besucher in den letzten 60 Sekunden        alle 60.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0787181854248