PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATmega8, ISP



ShadowPhoenix
19.03.2004, 14:06
Hallo!
Ich habe mir einen ATmega8PC gekauft und ein Programmierboard nach
http://www.mikrocontroller.net/tutorial/equipment.htm
aufgebaut.
Den dort verlinkten ISP Adapter habe ich auch schon aufgebaut!
Nur wie soll ich nur den µC Programmieren?
Also welcher Compiler ist wohl der beste?

Man sollte mit dem Compiler sowohl leicht Programmieren können (Basic wäre mir lieber, Assembler von mir aus)
und man sollte das Programm auch gleich direkt per LPT-Port übertragen können!
Welches Programm kann das wohl am besten? (Wenn möglich, gratis )

Danke im Vorraus!
Mit freundlichen Grüßen,
ShadowPhoenix

19.03.2004, 14:48
Schau Dir mal Basom an. Er ist einfach zu bedienen und erzeugt modernen schnellen Code https://www.roboternetz.de/phpBB2/viewtopic.php?t=884

ShadowPhoenix
19.03.2004, 15:22
Toll, danke ;-)
Nur wie kann man zB die einzelnen Ports ansprechen?
(Mit Basic)
Das weiß ich leider nicht, bei der C-Control gab ich einfach ein:

define p1 port[1]
p1 = 255

Und schon war Port1 auf einem High-Pegel !

Mit freundlichen Grüßen,
ShadowPhoenix

recycle
19.03.2004, 17:17
Nur wie kann man zB die einzelnen Ports ansprechen?


als Ausgang:

Config Portb = Output
PortB.0 = 1
PortB.1 = 0

als Eingang:
Config Portd = Input
PinD.3 = 1
PinD.4 = 0

.....

19.03.2004, 22:02
Oder:

Config Portb = Output
PortB=255

ShadowPhoenix
20.03.2004, 23:54
Es funktioniert bei mir nur die Methode mit PortB = 255.
Nur wie kann ich nun die einzelnen "B"-Ports ansprechen?
Welche Werte muss ich da nehmen, um ZB PortB.4 auf high zu setzen?
Die "PortB.4"-Schreibweise funzt bei mir nicht!
Einfach 255 durch die Anzahl der B-Ports dividieren?
Mfg,
ShadowPhoenix

recycle
21.03.2004, 04:55
Welche Werte muss ich da nehmen, um ZB PortB.4 auf high zu setzen?
Die "PortB.4"-Schreibweise funzt bei mir nicht!
Einfach 255 durch die Anzahl der B-Ports dividieren?



Also bei klappt es mit ATMega16 und Bascom einwandfrei mit:

PortB.4 = 1
und
PortB.4 = 0

255 durch die Anzahl der Ports teilen bringt irgenswie gar niichts, was soll den dabei rumkommen?
Wenn schon musst du einen Dezimal nach Binär Umwandlung machen.
Das geht z.B. mit dem Windows-Rechner in der "wissenschaftlichen Ansicht" ganz gut. .

Wenn du z.B. die Ports B 0 - 7 auf 01010101 setzen willst, klickst du im Rechner auf "Bin" gibts "01010101" ein, klickst auf "Dez" ein und erhälst 125.
==> PortB = 125

Du kannst Bascom aber bestimmt auch direkt den Binärwert geben, müsste dann vermutlich
Portb = &B01010101
heissen, da bin ich mir aber nicht 100% sicher.

Manf
21.03.2004, 08:45
01010101Bin = 125Dez ? :-k = 85Dez?

Frank
21.03.2004, 09:00
Am einfachsten doch die Schreibweise
PortB.4 = 1
und
PortB.4 = 0

nutzen, da verrechnet man sich nicht so schnell ;-)

Wenn es nicht geht, dann hast du sicher noch irgendwo Fehler gemacht. Poste dann doch einfach mal deinen Programmcode - dann schaun wir mal

ShadowPhoenix
21.03.2004, 10:58
Jetzt gehts bei mir (bASCOM) auch wieder.
Mit:

Config PortB = Output
PortB.0 = 1 (led aus)
PortB.0 = 0 (led an)

Denn ich habe das Plus von der Led am Pin hängen (verkehrt)

Mit freundlichen Grüßen,
ShadowPhoenix