PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC & Q(uick)Basic



Norbert80
22.04.2005, 21:22
HI,PicExperten
Ist es möglich mit Q(uick)Basic einen PIC zu programmieren ?
wen ja,wie siet so ein pProgramm aus ?
MfG
Norbert80

Goblin
22.04.2005, 23:20
Ich nehme an du meinst: "Ich schreib mein Prog in QB und brenn es auf den Pic"

Das geht definitiv nicht. Erstmal funktioniert Qbasic ganz anders. Qbasic ist ein Interpreter (http://de.wikipedia.org/wiki/Interpreter). D.h. der Quelltext kann direkt ausgeführt werden, ohne compiliert zu werden (bei QB wenn man F5 drückt). Naja, für nen PIC-Programm brauchst du nen Compiler (http://de.wikipedia.org/wiki/Compiler). Der Übersetzt deinen Basic-Code in einen Assembler-Code (http://de.wikipedia.org/wiki/Assemblersprache). Dieser ist von Prozessor zu Prozessor verschieden. Also was auf nem Pentium-Prozessor läuft, läuft nicht auf nem Pic, weil die Prozessoren total verschiedene Architekturen (http://de.wikipedia.org/wiki/Prozessor-Architektur) haben. Der Assembler-Code bedient sich also der spezifischen Architektur des Prozessors und führt die Aktionen, die du programmiert hast aus. Der Assembler-Code wird dann von deinem Compiler weiter'verwurschtelt' und nochmal kompiliert. Es entsteht ein Hex-Code. Der sieht dann in etwa so aus:

:020000040000FA
:1000000057200030A00000308A00200808200D286A
:1000100082070134063405340334A100063084001D
:100020000730342007302105F600F830000576044B
:100030008000FC30F800E030F7003920F801013092
:10004000A00703182E28F8012008F7000030FA0056
:100050000330F9004420F500F51C0328F930F800BE
:10006000C030F70039200128FF3A84178005841337
:100070000800F830F5006400F50B3B283F28F70A2C
:100080000319F80F39280800F501790877020319D8
:1000900075147A0803184F287A0A03192C34780249
:1000A000031C2C34751C1A34031D1A343134850199
:0E00B00086018701831686309F0083120800A8
:02400E00723FFF
:00000001FF


Und DAS wird dann von deinem Brennprogramm auf den Pic gebrannt. Du siehst also, Qbasic und Pic-Basic-Compiler sind 2 verschiedene Paar Schuhe (http://de.wikipedia.org/wiki/Schuhe) ;)
Qbasic 4.5 kann zwar auch Maschinenprogramme erstellen (*.exe , ausführbar), aber damit könnte ein Pic nix anfangen. Ein Pic-Basic-Compiler ist speziell auf die Architektur des Pics abgestimmt und auch nur für Pics zu verwenden. In Qbasic gibts ne Menge Befehle (z.b. die für Bildschirmausgabe, PRINT, SCREEN, PAINT, PSET, LINE usw. ), mit denen ein Pic überhaupt nix anfangen könnte. Dafür gibts in den Pic-Basics Befehle, die nur auf einem Pic Sinn ergeben, wie z.b. HIGH PORTB.1 (Den 2. Pin von Port A auf High (http://de.wikipedia.org/wiki/Logische_Schaltung) setzen)
Aber ne gute Nachricht für dich: Es gibt viele Basic-Compiler für Pics, die dem Qbasic sehr ähnlich sind. Hier ein paar Links zu Herstellerseiten, bei denen du eingeschränkte Demos runterladen kannst:

http://www.il-online.de/il_indx1.htm
(IL-Basic: mit der Demo lassen sich nur der 16C84 und der 16F84 uneingeschränkt programmieren. Das Programm ist auf Deutsch)

http://www.melabs.com/products/pbp.htm
(PIC-BASIC-PRO: mit der Demo lassen sich bis zu 30 Zeilen Code für fast alle Pics compilieren. Das Programm ist in Englisch. Das Handbuch ist sehr umfangreich)

http://www.pic-basic.de/
(PIC Basic II: mit der Demo lassen sich Codes beliebiger Länge für einige Pics compilieren, allerdings ist der Befehlssatz auf die Befehle beschränkt, die in den Beispielprogrammen enthalten sind. Die Sprache ist Deutsch)

http://www.mikroelektronika.co.yu/english/product/compilers/mikrobasic/index.htm
(MICROBasic: Die Beschränkung beträgt AFAIK (http://de.wikipedia.org/wiki/Afaik) dass man nur 2Kb Hexcode damit erzeugen kann (vertu dich nicht, 2Kb sind für nen kleineren Pic wie den 16F84 schon viel). Sprache ist Englisch)


So, alle Klarheiten beseitigt? Wenn nicht, frag! :)

Norbert80
23.04.2005, 06:21
Hi,Goblin !!!
Danke für die Ausführliche Information =D>
noch eine Frage:wie ist mit programmieren von Eeprom(z.B 24c16) ,kann man mit QBasic programmieren ?
MfG
Norbert

Goblin
23.04.2005, 08:04
Der 24c16 ist doch nur nen Speicher... Den kannst du mit dem Pic, den du (nicht mit Qbasic) programmiert hast ansprechen und Daten auf ihm speichern.. Zu Programmieren in dem Sinne gibts da nix
Ich bin mir nicht sicher, inwieweit du über Pics bscheid weißt, aber schau doch mal auf http://www.sprut.de. Da steht so ziemlich alles über Pics