Gefunden für atmega8 schieberegister bascom - Zum Elektronik Forum |
| 1 - Modellbahn Weichenantrieb mit PC schalten -- Modellbahn Weichenantrieb mit PC schalten | |||
| |||
| 2 - 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... | |||
3 - 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: | |||
| 4 - 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 ... |
|
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 7 Beiträge im Durchschnitt pro Tag heute wurden bisher 13 Beiträge verfasst 1 Besucher in den letzten 60 Sekunden alle 60.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |