Gefunden für bascom schieberegister 5bit - Zum Elektronik Forum |
| 1 - Modellbahn Weichenantrieb mit PC schalten -- Modellbahn Weichenantrieb mit PC schalten | |||
| |||
| 2 - Bascom und "Boolean" -- Bascom und "Boolean" | |||
| Habe mir das Codebeispiel nochmal genauer angeguckt.
Also: In "Reg" wird das eigentliche Bitmuster, das man mal an den vier Ausgängen des Schieberegisters haben will, abgespeichert. Dabei braucht man nur das untere Nibble, das obere Nibble ist egal (ein Nibble ist ein halbes Byte, also vier Bit groß). Also muss man in "Reg" sowas reinschrieben wie b'xxxx1101' (x=egal). Das sehe ich im Programmcode nirgends. "Save" ist eine Arbeitskopie von "Reg" und wird verändert, während damit gearbeitet wird. Damit man sich nicht das Original kaputtverändert, macht man halt vorher eine Kopie. "Outbit" stellt den Wert bereit, der am Dateneingang des Schieberegisters anliegen soll. "Cnt" ist klar. Wie bekommt man nun die vier unteren Bits von "Reg" in das Schieberegister reingeschoben? Zuallererst wird das Register zurückgesetzt. Dann muss man das niedrigste Bit (1) an den Schieberegisterdateneingang legen und ein Taktsignal ans Schieberegister schicken, damit es den Wert auch einliest. Danach folgt das zweite Bit (1), dann das dritte (0), und dann das vierte (1). Nachdem diese vier Bits nun alle an Ort und stelle liegen, wird 300ms gewartet. Danach wird das Schi... | |||
3 - Möchte was basteln: Einen PC "Mehrpersonen Buzzer" per Hand Taster -- Möchte was basteln: Einen PC "Mehrpersonen Buzzer" per Hand Taster | |||
| Hast du denn eine COM-Schnittstelle am Notebook? (9-poliger D-SUB, männlich)
Allerdings kannst du BASIC (ich vermute irgendein QBASIC) dafür vergessen, wenn es mit USB laufen soll. Derlei Schnittstellen wären vorzuziehen, da man sie recht einfach im Programm benutzten kann. Visual BASIC ist gar nicht so schwer, wenn man eh schon BASIC kann. Das ist einfach eine Erweiterung, die objektorientiert ist. Ich habe mal die Version 6.0 gehabt (da war ich glaube ich 11 oder so ).
Gut, also, wenn es mit USB laufen soll schlage ich einen einfachen USB->RS232-Wandler vor, wie man sie mittlerweile für einige Kröten bekommt. Das erspart dir den Selbstbau dieses Adapters (kann man mit dem FT232 von FTDI machen). Mir fallen jetzt spontan zwei Möglichkeiten ein: 1. du hängst einen Haufen Schieberegister an die Schnittstelle, die von der Software am Rechner ausgetaktet werden. Dazu sind allerdings Low-Level-Zugriffe nötig, die mit dem Adapter entweder nicht herkömmlich funktionieren, und/oder das Betriebssystem derlei Zugriffe gar nicht zulässt, sondern über einen Treiber mit der Schnittstelle kommuniziert. Neben den genannten Nachteilen ist es furzlangsam. 2. du setzt dich mit Mikrokontroll... | |||
| 4 - Ausführungszeit von Befehlen in BASCOM -- Ausführungszeit von Befehlen in BASCOM | |||
| Hallo zusammen. Um mein Problem zu beschreiben, zunächst was ich hier habe.
Mein ATMEGA8 steuert eine Reihe von Schieberegistern (CMOS 4094) an. Er ist mit 7,3728MHz getaktet. Das Schieben der Bits nehme ich von Hand vor, d.h. nicht mit SPI o.ä. sondern durch selbstständiges schalten der Ports. Das ganze ist als Ring aufgebaut, d.h. wenn ich Daten in die Schieberegister hineinschiebe, lese ich gleichzeitig an deren Ende die Daten wieder in den AVR ein. Alles funktioniert auch wie es soll und bei einem CMOS komme ich auf ~11000 Zyklen pro Sekunde. Komisch ist nun folgendes. Habe ich 2 CMOS dran, sind es nur noch ~ 5300 Zyklen und bei 3 noch ~4000 Zyklen. Das ist eindeutig zu wenig und ich wollte nun gerne bestimmen wo mir hier Zeit verloren geht. Ich programmiere in BASCOM und meine Frage ist: "Wie kann ich die Ausführungszeiten von Befehlen, bzw. Programmzeilen, messen. ODER: Bei was in BASCOM geht viel zeit verloren (Arrays, Funktionen etc.)?" Die angebotenen Timer (z.B. SysSec) beziehen sich nur auf Sekunden - was etwas zu langsam ist. hier noch der entsprechende Codeausschnitt: | |||
| 5 - 5x7 Matrix am ATMEGA8 mit 74HC595 -- 5x7 Matrix am ATMEGA8 mit 74HC595 | |||
Hallo Allerseits
Ich hab mich schonmal durch die Forensuche gewühlt. Aber mit mässigen Erfolg.
Ich habe hier einen Atmega8, Schieberegister und 3 5x7 Dotmatrixanzeigen. Diese habe ich vor mit Bascom zu programmieren. Die Schaltung steht bereits. Ich hab Sie mal angehängt. Ebenso ein kleines Prog was mir ein A auf der Anzeige darstellt. Das Problem ist das das ganze sehr stark flakert. Ausserdem ist mir nicht ganz klar wie man das ganze zum Scrollen bringt. Vieleicht ist jemand so nett und schaut sich das ganze mal an. Vielen Dank und schöne Woche der Tipfix ... | |||
| 6 - Abfrage von 24 Endschaltern -- Abfrage von 24 Endschaltern | |||
Zitat : Jornbyte hat am 3 Jan 2008 00:11 geschrieben : Zitat : Das Programm lässt sich vermutlich auch in Bascom schreiben, dann ist die Display-Ansteuerung kein Problem. Wenn es eine Art "case"-Anweisung gibt wirds noch einfacher. Das würde ich in diesem Fall auch raten, C oder ASM führen da sehr schnell zu Wutanfällen . kann ich so nicht bestätigen. Du weißt, dass ich selten empfehle, Basic (Bascom Basic) zu verwenden. Ich persönlich würde hier C nutzen, aber dem Fragesteller habe ich damit nicht geholfen (wobei, mit dem Hinweis auf Basic auch nicht... | |||
| 7 - Lm 7001 ansteuern -- Lm 7001 ansteuern | |||
Zitat : Wie kann ich den nun Binär und normale Zahlen zusammen in Bascom an den LM übertragen? Was immer du unter normalen Zahlen verstehst, warum willst du das tun ? Der Chip braucht zur Programmierung ein bestimmtes Bitmuster. Wie das auszusehen hat, steht im Datenblatt. Wenn du nicht weisst, was bei deinem Steuerchip rauskommt, und auch kein geeignetes Messzeug dafür hast, dann nimme ein paar Schieberegister, löte eine handvoll LEDs dran und schau dir an, was du dem Chip schickst. Notfalls kannst du die Bits sogar von Hand einzeln reintakten. Den Anschluss CE wirst du auch bedienen müssen, denn erst die fallende Flanke dieses Signals wird die Daten aus dem Schieberegister an die PLL übergeben. Im Prinzip funktioniert das wie bei der CD4094. ... | |||
| 8 - Fernbedienungsempfänger mit 51 Ausgängen -- Fernbedienungsempfänger mit 51 Ausgängen | |||
| Exakt, 100% so würde ich es auch machen.
Da du vermutlich keine Lust hast, einen eigenen Dekoder zu schreiben, würd ich mal Bascom vorschlagen. Ich persönlich halte davon nix, aber da ist ein integrierter Dekoder drin. Der ist zwar rel. bekloppt gemacht und sehr ressourcenfressend, aber er funktioniert. Als Ausgabe einfache Schieberegister, z.B. (CD)4094 bzw. besser die schnelleren Typen HC(T)CD4094. Letzeren Typen bitte nicht bei Conr*d kaufen , wenn möglich, der kostet da 1,03€! Ich hatte vorgestern das "Vergnügen". Da können die Daten dann etliche 10µs später schon an den Ausgängen synchron ausgegeben werden, wenn du einen Takt von 16MHz bspw. hast. Gebraucht werden insg. 4 Pins: 1xRC5-Eingang, 1xDatenleitung, 1xTaktleitung und 1x die Daten-in-die-Ausgangsregister-schreiben-Leitung fürs Schieberegister. ... |
|
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 18 Beiträge im Durchschnitt pro Tag heute wurden bisher 1 Beiträge verfasst 18 Besucher in den letzten 60 Sekunden alle 3.33 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |