Monthly Archives: January 2013

MSP430 HD44780 seriell ansteuern

Im folgenden Beispiel-Programm wird ein LCD mit HD44780-Controller seriell angesteuert (Quick’n’Dirty). Realisiert wird die Ansteuerung per Schieberegister und der USI-Schnitstelle des MSPs (siehe “Daten per USI (SPI) an Schieberegister senden”). Ziel war es, mit so wenigen Ports wie möglich, ein HD44780-LCD (4bit-Interface) anzusteuern. Insgesamt benötigte Ports: 3.

Continue reading

MSP430 USI Initialisierung

Ein kleines Test-Programm in dem die USI-Schnittstelle vom MSP430 initialisiert und genutzt wird. Ein Zähler wird in einer Schleife durchgehend inkrementiert und der aktuelle Zähler-Wert an das Schieberegister gesendet (und per LEDs angezeigt (Binär Format, 8bit -> 0 bis 255)). Somit lassen sich Daten mit sehr wenig Aufwand seriell verschicken.

Continue reading

MSP430 CountDown / CountUp, Tastergesteuert

Über ein MOS4511 (7-Segment Treiber) wird eine 7-Segment-Anzeige angesteuert. In diesem Beispiel-Programm wird ein Count-Down/Count-Up programmiert, der aktuelle Wert wird über die Segmentanzeige angezeigt. Welcher Modus laufen soll (Count-Down/Count-Up) wird über ein Taster gesteuert. Ein weiteres Testprogramm für ein größeres Projekt.

Continue reading

MSP430 Lauflicht mit Schieberegistern (2x MOS4094 + 16 LEDs)

In diesem Beispiel-Programm wird ein Lauflicht mit zwei Schieberegistern (MOS4094, kaskadiert) programmiert. Die 16 LEDs sind in einem Rechteck/Quadrat/Kreis angeordnet. Die Schieberegister bekommen ihre Daten seriell, somit werden nur 3-4 Ports am MSP430 benötigt um 16 LEDs anzusteuern. Das Programm soll erstmal nur ein kleiner Test für ein größeres Projekt sein.

Continue reading

MSP430 Blinklicht (ohne Timer)

Das Programm lässt eine LED alle 500ms blinken (500ms aus, 500ms an) -> Blinklicht. Ein Beispiel-Programm in Assembler, programmiert ohne Timer, sondern mit einer Verzögerungsfunktion (mit einer gewissen Genauigkeit). Das Unterprogramm kann als “Software-Timer” benutzt werden. Falls es auf keine hohe zeitliche Genauigkeit ankommen soll, können solche Delay-Funktionen/Unterprogramme sehr gut benutzt werden.

Continue reading

MSP430 Kopierfunktion (Flash in RAM)

In diesem Beispiel-Programm wird eine einfache Kopierfunktion in C und ASM geschrieben. Die Funktion/Unterprogramm soll Daten aus dem Flash in den RAM kopieren bis ein bestimmtes Zeichen bzw. ein bestimmter Wert gefunden wurde (in diesem Beispiel wird ein String kopiert bis das Stringende-Zeichen gefunden wurde). Sind die Daten für den reservierten Buffer zu groß, wird eine 0 zurückgegeben, bei einem erfolgreichen Kopiervorgang eine 1.

Continue reading