Gefunden für assembler segment - Zum Elektronik Forum |
| 1 - Bascom und "Boolean" -- Bascom und "Boolean" | |||
| |||
| 2 - LED-Uhr mit Thermo- und Hygrometer selber bauen -- LED-Uhr mit Thermo- und Hygrometer selber bauen | |||
| Hier hat sprut ein einfaches Thermometer mit 7-Segment-Anzeige gebaut:
http://www.sprut.de/electronic/pic/projekte/thermo/thermo.htm Umsetzung: PIC in Assembler programmiert. Quellcode liegt bei. Über einen Bus (hier: I2C) eine Temperatur abzufragen ist auch kein Problem: http://www.sprut.de/electronic/pic/programm/thermo75/thermo75.htm Über den I2C-Bus selbst steht bei sprut auch viel lehrreiches. Gruß, Bartho ... | |||
3 - Einfacher 4-stelliger Zähler gesucht. -- Einfacher 4-stelliger Zähler gesucht. | |||
Ich habe heute viel Zeit verbracht, um im Netz nach einer passenden Schaltung zu suchen. Leider wurde ich nicht wirklich fündig. Im Gegenteil, ich bin verwirrter als vorher.
Bei einem bekannten Elektronikversender gibt es zwar Zählermodule die *eigentlich* perfekt passen, leider haben die nur max. 12Hz, das reicht nicht... Hier im Forum habe ich 1 oder 2 Anregungen gefunden, die ich mangels Kenntnissen aber leider nicht abwandeln kann. Ich kann zwar löten, kenne Bauelemente und ICs, aber Schaltungsentwurf oder Anpassung ist ein Buch mit 7 Siegeln für mich. Dazu kommt die Vielfalt an Lösungen: diskret aufgebaut, mit micro controller, und und und. Schon allein die Auswahl an verschiedenen MC erschlägt mich. Obwohl ich denke das wäre die richtige Lösung, im Gegensatz zu HW ist SW kein Thema, egal ob C/C++ oder Assembler.
Zur Aufgabe: Für unser Spinnrad, bzw. die Haspel möchte Frau einen Zähler, der ganz einfach die Umdrehungen zählt (um dann später z.B. Lauflänge usw. auszurechnen). Nichts einfacher als das, dachte ich, und begab mich auf die Suche nach einem Schaltplan/Bausatz. Aber offensichtlich ist das so primitiv, es gibt dafür keinen Bausatz (habe ich zumindest nicht gefu... | |||
| 4 - 25 Rgb Leds per PWM regeln? -- 25 Rgb Leds per PWM regeln? | |||
| Klar gibt es die.
Rechne doch mal aus, ob man es realistisch mit einem AVR hinbekommt. Alleine mit dessen Hardware-PWM-Generatoren jedenfalls nicht, da muss man schon eine eigene Software schreiben (in Assembler!). Deine PWM muss ja nicht sehr hochauflösend sein. So ließen sich schon viele PWM-Kanäle mit einem AVR mit vielen IO-Ports realisieren. Das Ganze dann als Slave ansteuern und gut ist. Es als Matrix anzusteuern ergibt aber mehr Sinn. Bei ein paar LEDn mag das noch mit einzelner Ansteuerung klappen, bei großer Anzahl läuft es eigentlich immer auf eine Matrix hinaus. Angenommen, du hast z.B. 10 Zeilen, die der Reihe nach durchgetastet werden. Eine LED hätte dann maximal einen Dutycycle von 10%. Wenn du diese LED aber nur 50% dieser Zeit einschaltest, und den Rest abschaltest, bekommst du einen noch niedrigeren Dutycycle, hier 5%. Und diese Abläufe lassen sich mit einem 'AVR noch hinbekommen, ist allerdings natürlich auch abhängig von der Zeilenfrequenz und der Auflösung der einzelnen AN-Zeiten. Ich bin z.B. grade dabei, mir einen eigenen Wecker zu bauen, weil ich mit den Standarddingern nicht klarkomme. Dort habe ich auch ein LED-Display, welches mit 1/6 Dutycycle maximal läuft und jede Segment-AN-Zeit nochmals in 32 Schritte (-> 5... | |||
| 5 - LED-Matrix 8x64 ansteuern -- LED-Matrix 8x64 ansteuern | |||
| Ich habe sowas schon mit 5*7 Pixeln/Segment aufgebaut.
Die Daten ansich haben oft im µC-Flash Platz, es sei denn, dieser ist zu klein. Geht man vom 8-Bit-ASCII aus, sind das 256*8Byte, die maximal benötigt werden, wobei nicht alle Zeichen überhaupt darstellbar sind. Das Design der Zeichen habe ich selbst übernommen, hab aber die Tabelle (Assembler) nicht mehr. Ich gehe davon aus, die willst von ASCII-Wert zum Zeichenmuster kommen. Angenommen, du speicherst je 8 Byte pro Zeichen (passt: max. 8*8Bit), dann sind alle ganzen Vielfache von 8 der Anfang der ersten Zeile des entsprechenden Zeichens. Ist also selbst mit µC-Krücken gut machbar, die Errechnung des Offsets ist recht unproblematisch mit ein paar Schiebeoperationen. ... | |||
| 6 - Spannungs-Anstieg ganz langsam? -- Spannungs-Anstieg ganz langsam? | |||
Zitat : Oh, noch einer, der den Scamp kennt Na, da bin ich aber froh dass ich nicht der Einzige bin, der in diesem Forum den Altersdurchschnitt versaut
Ich hab's mit dem SC/MP nach LED und Mäuseklavier allerdings nur bis zum bescheidenen Komfort von Hex-Tastatur und 7-Segment Anzeigen gebracht. Immerhin war das Teil so genial dass man die mühsam reingefummelten Programme bei Bedarf auch einzelschrittweise durchtackern konnte. Hardware-Debugging sozusagen. Und zigtausende Bit-Operationen pro Sekunde erschien doch erstmal rasend schnell. Zitat : so dass man auf dem Scope Conway's Life auf einem 32x32 Feld spielen konnte | |||
| 7 - Kühlschrank mit Gefrierfachnatorische Logik nach Eprom/Flash? -- Kühlschrank mit Gefrierfachnatorische Logik nach Eprom/Flash? | |||
| Hallo,
bin mir nicht sicher, ob ich die Aufgabenstellung richtig verstanden habe, aber perl hat da schon recht. Viele Assembler haben einen C-kompatiblen Präprozessor an Board (bzw. einen ähnlich mächtigen Präprozessor), der vor dem Assemblieren auch komplizierte Logikaussagen und arithmetische Sachen auswertet und ausrechnet. So ist es möglich, Komplemente, Bitmasken und auch mehrere Logische Funktionen aufzuschreiben, die dann erst durch den Präcompiler in die Konstaneten ausgerechnet werden. Das gilt auch für Daten, die später im E²PRM landen sollen. Ich habe beispielsweise mal Siebensegmente an eine Kette von Schieberegistern angeschlossen und Bitmuster ausgetaktet. Diese lagen im Quelltext als solche Ausdrücke vor, es gab keine konkreten Zahlen. Da ich von jedem Siebensegment eine Definition eines jeden Segments hatte, konnte ich im E²POM-Bereich Tabellen anlegen, die universell waren, d.h. habe ich was an der Definition vom Segment a geändert, änderten sich automatisch auch die Datensätze im ROM. --- Aber vielleicht habe ich dich falsch verstanden.
... | |||
| 8 - Contdown mit anzeige -- Contdown mit anzeige | |||
| Hallo Bastelheini,
1. man nimmt einen BCD->Siebensegmentdekoder (verbraucht im nicht-Multiplexbetrieb 4 IO-Pins) oder 2. Man belegt tatsächlich 7 IO-Pins, und steuert das Segment ohne Dekoder an. Den muss man den selbst schreiben. Das ist aber nicht so kompliziert. In Basic könnte man das mit einem kleinen Unterprogramm machen: Sub Schreibe_Segment(Wert As Byte) Dim tmp as Byte Select Case Wert Case 0: tmp = &B01111110 Case 1: ... Case 9: ... End Select PORTx = tmp 'Werte ausgeben End Sub Sowas ist gut und schnell zu machen, kostet aber meiner Meinung nach zuviel Speicher. (bedeutet: ich würds in Assembler schreiben .)
Man kann Siebensegmente auch multiplexen, dass bedeutet, man steuert sie nicht gleichzeitig an, sondern blitzschnell nacheinander. Für unsere trägen Augen sieht das fließend aus, zumal man auch Latche nehmen kann, so dass kein Flimmern entsteht. [ Diese Nachricht wurde geändert von: DonComi am 5 Okt 2006 18:50 ]... | |||
| 9 - Atmel Evaluations-Bausatz; Prozessor-Qual... -- Atmel Evaluations-Bausatz; Prozessor-Qual... | |||
hmmmm....das wär ja schon was, danke nochmal!
Hab' mich für den ATmega8535-16 entschieden. JTAG-Schnittstelle nüzt mir noch nichts, da mir noch unbekannt. (bei meiner letzten Ausbildung hatten wir mit C515 experimentiert, das ganze in ASSEMBLER/ KEIL C51; + ein spezielles experimentier-Board mit Schaltern, Tastern, LED-Zeilen und 7-Segment Anzeigen, auch waren 2 Potis mit an Board.) Noch was: gibt es fix&fertige extension-boards für die 34pol Schnittstelle?..eben für dieses Board? ... | |||
| 10 - Table im AVR-EEPROM -- Table im AVR-EEPROM | |||
| Du kannst auch dem Assembler diese Aufgabe stellen.
Dazu wurden die Directiven erfunden. In der ASM-Hilfe steht es: Zitat : The ESEG directive defines the start of an EEPROM Segment. An Assembler file can consist of several EEPROM Segments, which are concatenated into one EEPROM Segment when assembled. An EEPROM Segment will normally only consist of DB and DW directives (and labels). The EEPROM Segments have their own location counter which is a byte counter. The ORG directive can be used to place the variables at specific locations in the EEPROM. The directive does not take any parameters. ... | |||
| 11 - Assembler 7-Segment -- Assembler 7-Segment | |||
|
Hallo, Habe vor kurzem angefangen den µC 8285 mit Assembler zu programmieren. Da ich noch nicht so viel Erfahrung habe und an der 7-Segment-Anzeige etwas ausgeben möchte weiss ich nicht wie das funktioniert. Ich habe schon eineiges ausprobiert, funktioniert allerdings nicht. Ich habe den Port P3.7 versucht mit einer equation anzusprechen: . . Ausgabe equ 00000000 . . mov P3.7, Ausgabe . . . Das Programm verträgt das P3.7 allerdings nicht, warum? Wie mache ich das richtig? Danke für Hilfe... | |||
| 12 - Wiedermal der HD44780 im 4-Bit Modus! -- Wiedermal der HD44780 im 4-Bit Modus! | |||
| Hi @ all!
Brauche dringend Hilfe mit der HD44780 zweizeilig/4Bit LCD-software (assembler)! ![]()
soweit bis jetzt: NAME LCD ;//---------------------------------------------------------------------// ;Freigabe public warten,Zeichen public LCD_init public LCD_dat ;//---------------------------------------------------------------------// ;Speicherzuweisung: LCD_data segment code Variablen segment data ;//---------------------------------------------------------------------// ;Variablendefinition RSEG Variablen warten: ds 1 Zeichen: ds 1 ;//---------------------------------------------------------------------// RSEG LCD_data LCD_dat: mov a,Zeichen swap a anl a,00001111b orl a,00010000b mov P1,a clr a call LCD_enable mov a,Zeichen anl a,00001111b orl a,00010000b mov P1,a call LCD_enable clr a mov warten,#1 call delay ret LCD_command: mov a,Zeichen swap a anl a,00001111b mov P1,a clr a call LCD_enabl... |
|
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 0 Beiträge verfasst 6 Besucher in den letzten 60 Sekunden alle 10.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |
| In 520 Sekunden wird ein Backup gestartet. Bitte beenden Sie alle Eingaben. Das Forum wird dann für 10 Minuten abgeschaltet ! |