Forum: Mikrocontroller und Digitale Elektronik erster Atmega ->


von andreas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich verwende Bascom zur Programmierung.

Zum Brennen verwende ich den Extreme burner avr.
Als Programmieradpater hab ich den Ubasp.

Programmiert wird ein Atmega8a-pu.

Als erstes hatte ich beim extreme burner ein Test durchgeführt, nachdem 
ich die Einstellungen auf atmega8 gestellt hatte.

Der Test verlief auch erfolgreich.

Dann hatte ich den Atmega mit erase gelöscht.
Das verlief auch ohne Probleme.

Dann hatte ich mein Bascom Programm bzw. die Hex File mit extreme burner 
geöffnet u. dann auf den Atmega geschrieben.

Dort gab es auch keine Fehler..

Wenn ich nun aber den Atmega an meine Spannungsquelle anschließe, 
leuchten meine beiden LEDS nicht auf.


Wisst ihr eventuell an was es liegen könnte?

von Karl H. (kbuchegg)


Lesenswert?

andreas schrieb:

> Wenn ich nun aber den Atmega an meine Spannungsquelle anschließe,
> leuchten meine beiden LEDS nicht auf.

Wenn das dein erstes Programm ist, dann ist es viel zu kompliziert. 
Anstatt jetzt dieses Programm zu analysieren, brenn erst mal etwas 
viiiiieeeeelllll einfacheres drauf.
1
$regfile = "M8def.dat"                                      'es handelt sich um einen ATmega8
2
3
Config Portc.1 = Output
4
Config Portc.2 = Output
5
6
Do
7
   Portc.1 = 0
8
   Portc.2 = 1
9
Loop
10
End


Eine der beiden LED müsste auf jeden Fall brennen, wenn beide gleich 
angeschlossen sind.

Man macht für erste Tests NIE ein kompliziertes Programm, sondern immer 
das einfachst mögliche. Auch dann bleibt noch genug Spielraum für 
Fehler.

von Dominik S. (dasd)


Lesenswert?

Fang doch erstmal klein an und bekomm eine einzelne LED zum leuchten, 
dann baust du das Programm weiter aus.
Fang nicht gleich mit 2 Timern an :)

von Joe (Gast)


Lesenswert?

"Hello World" ist hier gefragt.

Wenn der Programmer richtig läuft, dann mach weiter.


Joe

von Joe (Gast)


Lesenswert?

Mit dem Adapter USBASP kann man von BASCOM aus direkt programmieren.
Das sollte klappen.

Joe

von andreas (Gast)


Lesenswert?

Hi, danke Euch.


Also ich hab gerade bei dem extreme burner gesehen, das ich die 
Einstellungen vergessen hatte für den externen Takt.

Es ist ein Quarz Typ HC-49/U 16 MHZ....ist mit XTAL1 u. XTAL2 
verbunden...dann halt noch die zwei 32 nF Kondis die nach gnd gehen.



Dort gibt es folgende Einstellungen:

1) external clock
2) external rc oscillator
3) external crystal/keramik resonator


Dürfte doch 3 sein oder?

Dort hab ich folgende Einstellungen

a) 0.4 - 0.9 MHZ
b) 0.9 - 3 MHZ
c) 3  -  8 MHZ
d) 1 MHZ and above (select full r/r swing in clock option)


Dürfte hier doch d) sein oder?

von Karl H. (kbuchegg)


Lesenswert?

Probier das Einfachstbeispiel erst mal aus, ohne dass du den Quarz 
umstellst. Dafür ist er erst mal nicht notwendig und du hast wenigstens 
ein erstes Erfolgserlebnis, ehe du dich aussperrst.

von andreas (Gast)


Lesenswert?

Ok...werd ich machen

von Joe (Gast)


Lesenswert?

andreas schrieb:
> zwei 32 nF Kondis

sind 27pF !!!

Aber lass zuerst den internen Taktgeber eingeschaltet.

von Thomas D. (thomasderbastler)


Lesenswert?

Sowas fehlt auch noch :

$hwstack = 40
$swstack = 32
$framesize = 60

von andreas (Gast)


Lesenswert?

Ah ok...bin jetzt schon weiter....

Mit Bascom geht es echt besser.


Ich hab erstmal den kleinen Code von oben in den Atmega gebrannt.
write buffer to chip

Damit ich sicher war, das er auch wirklich in den Atmega geschrieben 
wurde, hab ich read code from chip into buffer gemacht.


Jepp..der Code ist im Atmega, aber die Leds leuchten noch nett....ich 
geh mal davon aus, das ich die Polarität der Leds vertauscht habe...


Plus ist doch dort, wo das lange Bein ist und Minus beim kleinen oder?

von andreas (Gast)


Lesenswert?

'$regfile = "M8def.dat"
$regfile = "M8adef.dat"
Config Portc.1 = Output
Config Portc.2 = Output

Do
   Portc.1 = 0
   Portc.2 = 1
Loop
End

von Karl H. (kbuchegg)


Lesenswert?

andreas schrieb:

>
> Plus ist doch dort, wo das lange Bein ist und Minus beim kleinen oder?

Da ich da schon verschiedene Varianten erlebt habe:
Probiers halt aus. 220Ohm Vorwiderstand an die LED klemmen und dann das 
ganze Gebilde an +5V-GND halten. Gibt nur 2 Möglichkeiten. In einer der 
beiden leuchtet sie. Dann weißt du es ganz genau.

von Karl H. (kbuchegg)


Lesenswert?

andreas schrieb:

> Jepp..der Code ist im Atmega, aber die Leds leuchten noch nett....ich
> geh mal davon aus, das ich die Polarität der Leds vertauscht habe...

Lässt sich auch ganz einfach mit einem Voltmeter festellen. Bei einem 
der Pins musst du 5V messen, beim anderen 0.

Und wenn du im Programm die Ausgaben umdrehst, dann muss sich deine 
Voltmeter-Anzeige auch entsprechend umdrehen.

von andreas (Gast)


Lesenswert?

Danke Euch nochmal....ich muß mir des morgen in Ruhe u. bei Tageslicht 
angucken....geb Euch dann natürlich bescheid.

Der Code ist zumindestens schon mal im Atmega

von andreas (Gast)


Lesenswert?

Ich hoffe, das ich nicht den falschen Port genommen hab.

Hier des Datenblatt: http://www.atmel.com/Images/8159s.pdf

Pin 24 u. Pin 25 sind es "PDIP Form"

von Karl H. (kbuchegg)


Lesenswert?

Passt schon.
Das sind Port C, 1 und 2

Aber da das die ADC Pins sind: Du hast doch hoffentlich auch AVcc mit 
der Versorgungsspannung versorgt?

von andreas (Gast)


Lesenswert?

klar....VCC u. AVCC sind mit +5 v verbunden...100 nF gegen Masse ist 
auch dabei

von Karl H. (kbuchegg)


Lesenswert?

Und:
Hast du das hier bedacht?
Beitrag "Re: erster Atmega ->"

Ich weiß nicht, ob die in BASCOM wichtig sind, oder ob es dafür 
vernünftige Defaults gibt. Mach sie rein, dann kann das zumindest erst 
mal kein Fehler sein.

von andreas (Gast)


Lesenswert?

Re...nochmal vielen Dank an Euch.

@Moderator...jepp des hab ich auch schon im Code mit übernommen.

Ich werde morgen die Pins am Port auf eine andere Platine leiten, wo ich 
dann die Widerstände u. Leds draufsetzen werde.

Des gefuddele auf der kleinen Platine macht echt keinen Spaß.

Des Programm wird ja zumindest schon einmal in den Atmega geschrieben.

Ist doch schon einmal ein Teilerfolg.

Cu andreas

von Charly B. (charly)


Lesenswert?

hab dem programm mal a bissel Leben 'eingehaucht'

$regfile = "M8def.dat"      'es handelt sich um einen ATmega8

Config Portc.1 = Output
Config Portc.2 = Output

Do
   Portc.1 = 0
   Portc.2 = 1
   waitms 500
   Portc.2 = 0
   Portc.1 = 1
   waitms 500

Loop
End

da iss es nitt so monoton (monolicht)

vlG
Charly

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.