Armins AVR-Buch - Mein_erstes_BASCOM_Programm

Zuletzt geändert am 09.12.2023, 17:23:37

Mein_erstes_BASCOM_Programm


(armin77, 21.01.2013, 10:11:59)

Wie geht man nun vor, wenn man sein erstes Programm schreiben will?
Was muß man alles einstellen?

Zeige das hier am Beispiel eines Programmes, daß eine LED an Portb.1
zum Blinken bringt.

Als erstes müssen wir natürlich eine LED mit Vorwiderstand an den Portb.1 anschließen
und den ATMEGA 8 mit Spannung versorgen:



Bild blinken.JPG



Dann öffnen wir Bascom.

Wir klicken auf "Neues Programm"



Bild Bascom1.jpg



Danach gehen wir auf Datei-> "Speichern unter" und geben dem Programm einen aussagekräftigen Namen:



Bild bascom2.jpg



Jetzt zu den Einstellungen.
Wir müssen Bascom sagen welchen AVR wir benutzen, mit welcher Taktfrequenz er läuft und die Baudrate der UART.. etc.
Ein ATMEGA 8 wird mit eingeschaltem 1MHZ RC Oszillator geliefert.
Die Taktfrequenz müssen wir Bascom in diesem Fenster mitteilen.
Genauso wie die Baudrate der Uart, wenn wir in späteren Programmen die serielle Schnittstelle UART benutzen.



Bild bascom4.jpg


Bild bascom3.jpg



Mit "ADD To Code" können wir die Einstellungen direkt ins Programm übernehmen.





Im Fenster "Programmer" können wir mit dem Kästchen "Program after compile" einstellen, daß er
direkt nach dem compilieren den AVR programmiert.
Benutzt man das Pollin Board mit Pony Prog muß man dieses Häkchen entfernen.
Hier müssen wir auch angeben welchen Programmer, wir benutzen.
Beim Diamex Programmer müssen wir angeben wo sich die STK500.exe sich befindet.
Sie wird mit dem AVR Studio installiert.
Natürlich müssen wir die richtige COM Schnittstelle auswählen an der der Programmer angeschlossen ist.

Bild bascom5.jpg



Diese Einstellung geht für den Diamex Programmer auch. Man erspart sich die Installation des AVR Studio.

Bild Diamex203.jpg



Wir schreiben jetzt unser erstes Programm.

Den Programmkopf haben wir schon eingefügt.


$regfile = "m8def.dat" 'ATMega8
$crystal = 10000000 'Taktfrequenz 1Mhz
$hwstack = 40 'Stackwerte
$swstack = 16
$framesize = 32


Danach deklarieren wir mit dem Befehl Config Port den Portb.1 als Ausgang.

Config Portb.1 = Output


Das Hauptprogramm wird von einer DO LOOP Schleife umfaßt und immer wieder ausgeführt.
Dort schalten wir den Portb.1 ein. Dann wartet das Programm eine Sekunde und schaltet den
Portb.1 wieder aus. Danach wartet das Programm wieder eine Sekunde und fängt wieder bei
DO an.

DO
Portb.1 = 1 'Portb.1 einschalten
Wait 1 'eine Sekunde warten
Portb.1 = 0 'Portb.1 ausschalten
Wait 1 'eine Sekunde warten
LOOP 'wieder zu Do springen


Zum Schluß noch der End Befehl damit Bascom weiß das hier das Programm zu Ende ist.


Bild bascom6.jpg


Wir schließen unseren Programmer an, wenn nicht schon geschehen und drücken auf den "schwarzen IC" compile Program.
Das Programm wird compiliert.
Da wir das Häkchen in den Einstellungen gesetzt hatten wird der AVR auch direkt programmiert.
Ansonsten müßten wir zusätzlich auf den "grünen Sockel" Program Chip drücken
Mit Check syntax kann das Programm auf Syntax-Fehler getestet werden.

Viel Spaß beim Ausprobieren