PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IC Programmierung



Foncy
11.08.2005, 12:57
Hallo Bastler.

Kann mir jemand sagen, wo ich Informationen zur IC-/Microcontroller- Programmierung finde? Ich suche in erster Linie einführende Informationen, wie z.B. welche Programmiersprachen gibt es, welche Chips können programmiert werden und mit welcher Hardware.

Kann man auch bereits beschriebene ICs neu beschreiben? Angenommen, ich habe ein Glückwunchkarten-Melodie-IC des Typs UM 66 und mir gefällt die darauf gespeicherte Melodie nicht. Gibt es Wege, diese auszutauschen? Wenn ja, welche Soft-/Hardware benötige ich dafür?

Ich weiß, daß ich mir erstmal eine gewisse Grundkenntnis aneignen muß, möchte mir aber vorher einen Überblick zu dem Thema verschaffen.

Ich freue mich über jede Antwort :)

Marco78
11.08.2005, 17:47
Bei den UM66 wirst du keinen Erfolg haben. Denen ist eingetrichter was sie dudel'n sollen und dadran ist nix zu rütteln. Außer die Spannung etwas ändern ;)
Hast du eine Bezugsadresse für die UM66? Bei Conrad scheint es die nicht mehr zu geben. Da hab ich die mal vor Jahren gekauft und nun sind alle weg oder verbaut.

Zu deinem eigentlichen Problem. Was hast du denn vor? Für kleinere Anwendungen (wobei da auch kleinere schon etwas größer sein können) eignen sich Microchip'S PIC's und Atmel's AVR's sehr gut. Welche besser sind ist mehr oder weniger eine Glaubensfrage. Ich persönlich glaube sehr stark an die AVRs.
Zu beiden Typen findest du ein seperates Unterforum hier. Wenn du dich durch die Fragen liesst die dort gestellt werden wird schon einiges beantwortet. Programmieren kann man die mit relativ wenig Hardware. Und das Programm kann man mit C++, Basic oder für Hardcore-Programmieren in Assembler schreiben. Was PIC's bieten weiss ich nicht und ist mir auch eigentlich egal :D
Eine Seite außerhalb des Forums wäre z.B. http://www.rowalt.de/mc/ Diese Seite ist für Einsteiger sehr gut geeignet finde ich.

Solltest du weitere Fragen haben kannst du sie ja hier stellen. Aber ich denke es bringt die schonmal etwas weiter zu wissen, das es PICs und AVRs gibt. Google wird dir dazu einiges sagen können. Wenn du aber einem PC nahekommen willst musst du auf andere Hardware zurückgreifen. Was es da Leistungsfähiges gibt und wie man es programmiert kann ich dir aber nicht sagen.

Foncy
11.08.2005, 18:04
Hallo Marco.

Erstmal danke für Deine Antwort.

Ich suche nach einer preisgünstigen Möglichkeit, Glückwunschkarten, Stofftieren etc. eigen Sätze oder Melodien einzubauen. Wenn ich so'n Sound-Generatormodul von Conrad nehme, mit dem man eigene Sounds speichern kann, wird das Ganze zu teuer. Gibt's denn keine billigen ICs ohne eingebauten Micro, denen man per Programmer-Hardware Sounds 'draufbrennen' kann? Es reichen ja schon einige Sekunden Tonausgabe.

Marco78
11.08.2005, 19:13
Glückwunschkarten ist ja immer etwas fummelig selbst zu bauen. Selbst SMD kann da etwas größer werden als ein eingegossener eigenst für solche Zwecke hergestellter IC.
Aber in Stofftieren usw ist ja genug Platz. Das würde mit einem Atmel geh'n. Es gibt Varianten die schon ab 2,7V arbeiten können. Töne erzeugen geht mit denen schon von Haus aus. Wie gut die klingen weiss ich aber nicht. Polyphon sind sie nicht ;)
Ich hab auch mal eine deutschsprachige Seite gefunden auf der jemand mit einem AVR eine Türklingel gebaut hat die Big Ben spielt und ich glaube er hatte auch noch andere Lieder im Programm. Doch leider find ich sie grad nicht wieder. Aber damit wäre schonmal bewiesen, das es geht. Aber für sowas brauchst du dann meistens noch einen externen EEPROM um die 'Noten' unterzubringen.
Du kannst dich ja mal etwas im Atmel Unterforum hier umschauen und mit der Suche einiges in Erfahrung bringen. Und überlegen welche Programmiersprache dir liegt und welche du letztendlich anwenden willst.

Es sei aber noch gesagt, das ich dir PIC's nicht ausreden will!

PS: Wo bekommst du die UM66 den her?

Marco78
11.08.2005, 19:16
Wer suchet, der findet ;)

AVR-Musik

http://s-huehn.de/elektronik/bbgong/bbgong.htm

und damit ich nicht als PIC-Hasser darstehe nochmal was ähnlichs was Google zufällig mitgefunden hat:

http://www.mikrocontroller.net/forum/read-4-24512.html

Goblin
11.08.2005, 19:26
ähm sicher dass man nix polyphones hinbekommt? (jetzt nicht dass das jemand machen möchte, nur so). ich meine ein ton besteht ja aus einzelnen verschieden langen impulsen. jetzt könnte man doch auf mehreren pins diese impulse rausgeben, z.b. an pin 1 impuls raus und während auf pin 1 gerad nen low ist auf pin2 den andern impuls raushauen. ich kann das jetzt schwer beschreiben. wie bei ner servoansteuerung halt. so müsste es gehen. ist nur programmiertechnisch wahrscheinlich sehr aufwändig.

Marco78
11.08.2005, 19:46
Berechtigte Frage!

Als ich sagte das die Töne nicht polyphon sind meinte ich damit wenn das Programm 'normal' abläuft.

Es mag sein das sich mehrere Töne auf einmal abspielen lassen. Das Problem ist ja, das ein µC genau wie der PC nicht multitaskfähig ist. Es kann pro Taktpuls nur eine Funktion ausführen (Ausnahme unter vorbehald: Intel HT). Und so wie ich die Hilfe von BASCOM zum Befehl SOUND interpretiere wird kein Timer benötigt. Also kann der Befehl nicht unabhänig vom restlichen Programm ablaufen.
Als Beispiel. WAITMS 500. Der Befehl zwingt den Prozessor 500mS nichts zu machen. In dieser Zeit kann kein Taster abgefragt werden oder ein Ausgang geschaltet werden. Das einzige was in dieser halben Sekunde ausgeführt werden kann ist ein Interrupt. Ansonsten wird ne halbe Sekunde sturr nichts gemacht.
Es kann also sein, das der Befehl Sound auch erstmal den Ton in der angegebenen Länge abspielt und dann im Programm weiter macht. Aber theoretisch wäre zwischen den umschalten des Ports (mehr ist die Ausgabe eines Tons ja nicht) Zeit einen zweiten oder dritten Ton zu erzeugen. Da das Gehör bei 20kHz aufhört (nur ein angenommener Wert! Ist von Mensch zu Mensch unterschiedlich und soll jetzt nicht Anlss einer Diskussion werden!) und ein AVR mit 16MHz getaktet werden kann sollten in der Theorie mehrere Töne gleichzeitig möglich sein. Schon alleine weil man die 20kHz für Musik noch nicht einmal im Ansatz ausnutzt. 8kHz reichen da völlig. (Liegt auch im Auge/Ohr des Betrachters!)

Es kommt auf einen Versuch an wie der Befehl Sound in BASCOM arbeitet. Aber es sollte auch möglich sein, 2 Töne gleichzeitig mit den Timer erzeugen zu können. Bedarf nur etwas mehr Programmieraufwand. Und ich behaupte mal 3 oder 4 Noten au einmal gehen auch wenn man sich richtig viel Mühe beim programmieren macht und den Ablauf zuvor mal durchrechnet.
Somit könnte man die Melodie ausgeben und dazu noch die Begleitakkorde spielen. Das wäre doch mal was :D

(Da bekomm ich irgendwie Lust das ganze selbst mal zu probieren ;) )