Hallo, ich muss für einen Pic16f84A folgendes Programm schreiben leider habe ich davon 0 ahnung. Mein Progamm soll folgenderweise Funktionieren. Durch ein High Signal an dem Pin "RB1" soll das Programm des Pic starten, sobald das High signal weg ist soll das Programm abbrechen. Sobald das Programm aktiv ist soll der Ausgang "RB2" High sein. Ich habe an PIN "RA1" ein 2 HZ Signal. Jedesmal wenn ich ein High an "RA1" habe soll ein Interner Zähler um 1 hoch zählen. Sobald der Zählerstand den wert 7200 (nach 1 Stunde) erreicht hat, soll der Ausgang "RB2" Low werden und der Ausgang "RB3" High werden. Sobald der Zählerstand den wert 14400 (nach 2 Stunde) erreicht hat, soll der Ausgang "RB3" Low werden und der Ausgang "RB4" High werden. Sobald der Zählerstand den wert 21600 (nach 3 Stunde) erreicht hat, soll der Ausgang "RB4" Low werden und der Ausgang "RB5" High werden. Sobald der Zählerstand den wert 28800 (nach 4 Stunde) erreicht hat, soll der Ausgang "RB5" Low werden und der Ausgang "RB6" High werden. Der Ausgang "RB6" Soll dann auch dauerhaft High bleiben solange bis das Programm durch ein Low an "RB1" resettet wird. ich hoffe ihr könnt mir helfen, ich hab echt null plan wie ich das lösen sollte. mfg jörg..
Hi Willst du das in C oder in ASM programmieren? Ansich sollte es kein Problem sein. Weder ASM noch C. Wo liegt denn das Problem? Ich würds vl mal so in der Art probieren if(RB1==1) { RB2=1; if(RA==1 & flag==0) { zaehlwert++; flag=1; } if(RA==0) flag=0; if(zaehlwert<7200) { RB2=0; RB3=1; } if(zaehlwert=14400) { RB2=1; RB3=0; } if(zaehlwert=21600) { RB2=0; RB3=1; } if(RB1==0) { return; oder break; /*je nach dem ob du das ganze als Funktion machst oder direkt im main*/ } } So... Kannst du dir das ungefähr vorstellen? Das ganze hab ich mal nur so aus dem Kopf probiert... also ich hab die funktionsfähigkeit nicht überprüft.. aber vl hilfts ja.
> ich muss für einen Pic16f84A folgendes Programm schreiben leider habe > ich davon 0 ahnung. Wie kann das sein?
>>also ich muss es in ASM schreiben. >>danke schonmal es fehlt noch: "macht mal hinne"
ich denke, es wird bei jedem mal situationen geben, in denen man sich nicht so leicht helfen kann da man etwas noch nie gemacht hat. da freut man sich doch gerne wenn jemand anderes einen hilft. ich hab halt einfach noch nie ein programmm für einen pic geschrieben.
Okay, dann rück mal raus mit der Sprache. - Warum musst du das programm schreiben? (Schule?) - Warum hast du keine Ahnung? - Was hast du bisher versucht? Erst wenn du hier schreibst, was du für einen Ansatz hast, bzw. wo genau deine Schwierigkeiten stecken, wird die geholfen werden. Wenn du tatsächlich (von irgendjemanden gewollt) keine Ahnung haben solltest, gehört vielleicht das Beschaffen von Ahnung zur Aufgabe. Das du für den (veralteten) 16F84A programmieren sollst, legt nun mal den Verdacht auf "Hausaufgaben" nahe.
das programm ist für mein projekt in der arbeit. da ich auf www.sprut.de nur programme gefunden haben die sich auf den takt beziehen der durch ein quarz an OSC1 und OSC2 genereriert wird, weis ich nicht wie ich das handhaben soll wenn ich das signal auf einen eingang bekomme z.b. RA1 und ich soll das signal welches am RA1 ist für den timer verwenden verstehe zwar auch nicht genau warum da es mir einfach scheint ein quarz an osc1 und osc2 zu hängen und das signal von dort so oft zu teilen... nun hab ich die platine aba schon so gemacht da mir das mein ausbilder vorgeschlagen hat. Wie gesagt hab ich noch nie einen Pic programmiert.
Sehe ich auch so. Es ist Blödsinn, extern 2Hz einzuspeisen, statt gleich den Takt des angeschlossenen Quarzes zu nehmen. Aber da mußt Du Deinen Ausbilder fragen, was und überhaupt ob er sich dabei was gedacht hat. Scheint so, als hätte er einen ähnlichen Kenntnisstand wie Du. "Wie gesagt hab ich noch nie einen Pic programmiert." Ich auch nicht. Bezüglich Programmierhilfe, würdest Du hier mehr Erfolg haben, wenn Du nen AVR genommen hättest. Besonders, da es für den AVR einen guten kostenlosen C-Compiler gibt, findet man auch sehr viele gute C-Beispiele. Vielleicht gibts ja bei Sprut auch einige PIC-Foren-Links. Peter
statt zu helfen wird hier nur blöd geredet hier geht es zu wie im kindergarten !!!!!!!!!!!!!!!!!!!!!!!
Nur so als Randnotiz: Es gibt auch für die PICs einen guten, kostenlosen, freien (GPL) C-Compiler, "sdcc" (sdcc.sf.net) Kann mit 14- und 16bit PICs. Nur obs nen fertigen windows-build gibt, oder ob man erst cygwin auspacken muss, weiss ich jetzt nicht... /Ernst
jo, ich merk das hier in dem forum nur "intelligent" geredet wird doch hier sind anscheinend nur leute die keine ahnung haben.
@Eclipse: Die meisten hier würden dein Problem lösen können, wollen aber nicht. Haus/Übungsaufgaben haben schliesslich den Zweck, dass DU was dabei lernst, nicht das WIR als Fingerübung ein paar Codezeilen runtertippen. Wenn du keinen Assembler lernen magst, schreib das doch einfach in C, jag es durch einen Compiler und gib den genrierten ASM-Code ab. Und wenn es wirklich ein Notfall ist (morgen 8:00 Abgabe, sonst Arbeitslos), dann findet sich hier sicher auch jemand der dir hilft. /Ernst
Es ist immer wieder erfrischend, wenn hier die Leute, die nach Hilfe fragen und keiner postet eine fertige Lösung, dann festellen dass keiner eine Ahnung hat - aber sie selbst offenbar genug um das beurteilen zu können. Wenn jemand Defizite hat und diese hier offenlegt findet sich fast immer eine Hilfe. Ein Lehrgang für "Null-Ahnung-Leute" ist aber einfach zu umfangreich für ein Forum. Eine Aussicht auf Hilfe ist immer gegeben, ein Anspruch dagegen bestimmt nicht.
habe mittlerweile schon in einem anderen forum einen antwort bekommen, nur kurz es sind keine hausaufgaben, wer lesen kann is klar im vorteil. um beurteilen zu können das hier keiner ahnung hat muss man nicht besonders intelligent sein, das sieht man ja an den antworten, die keineswegs das thema treffen. mfg PS: forum in Chat4free umbenennen
@ Eclipse - e1pccg.de bravo, gib ihnen was sie brauchen diesen möchtegern programmierern sie haben es nicht anders verdient.
Und als "Bonus", sozusagen als Belohnung für unfreundliches Verhalten, gibts hier noch ein ZIP-File mit Beispiel-Code, der evtl sogar ungefähr das machen könnte, was verlangt war. /Ernst
Hi Ich möchte dir das Forum von Fernando Heitor ans herz legen. dort sind zwar nicht so viele Leute, aber dafür auch nicht so viele unwissenden Leute. Ausserdem kennen sich die Leute hier wenn eher mit AVRs aus. Nun der langen rede kurzer sinn. Schau mal auf www.fernando-heitor.de. Ich fange gerade selbst erst mit ASM an, daher kann ich dir leider nicht genau ein Programm zimmern. Aber was ich dir Empfehlen kann ist, dass du dir so eine Art pseudocode erstellst. Also wo du festhältst, was das Programm machen muss. Dabei überlege gleich ob du nicht noch irgendwelche Hilfsvariablen brauchst und welche Zustände anstehen können und wie sie einfluss haben.. Also so wie bei meinem Code vorher. Achja... der PIC16F84A ist zwar nicht gerade der jüngste.. aber sehr weit verbreitet... und auch eigentlich gar nicht schlecht. Ah.. und fange einmal mit der Initialisierung an.. also alle Ports richtig setzen.. also ob eingang oder Ausgang und deren funktion (ADC Comperator usw) so einstellen, dass du sie als normale IOs verwenden kannst. Hast du dir auch schon das Datenblatt angesehen? Kannst du etwas ASM oder musst du erst komplett neu Einsteigen? Schau dir diese Seite genau durch http://www.sprut.de/electronic/pic/assemble/befehle.html .Die ist sehr sehr Hilfreich. Da werden alle Befehle sehr gut beschrieben. so viel fürs erste. Ich hoffe wir sehen uns im anderen Forum. mfg schoasch
Ach ja, noch ein Tip: Wem ASM/C/Basic zu kompliziert ist, der sollte sich mal KTechLab anschauen (http://ktechlab.org/) Da kann man einfach ein Program-Ablauf-Diagram zeichnen, und der erstellt automagisch ASM code daraus, den man sogar noch simulieren kann (Incl. externer Beschaltung, sind ein paar nette Screenshots auf der Seite) /Ernst
"... doch hier sind anscheinend nur leute die keine ahnung haben." Jo, dat stimmt. Hier sind wirklich ne Menge Leute, die von PIC keine Ahnung haben (wollen) und schon jahrelang perfekt Flash-MCs programmieren. Auch wenn hier nicht direkt AVR drüber steht, haben sich zufällig viele AVR-ler zusammengefunden. Bei AVRfreaks oder 8052.com ist das eindeutiger, da wirste als PIC-er gnadenlos abgekanzelt. Deshalb ja mein Tip, es in einem PIC-Forum zu versuchen. Peter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.