Category Archives: MSP430

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

MSP430 Assembler-Befehle

Hier gibt es eine Übersicht aller Assembler-Befehle für den MSP430. Insgesmt bietet der MSP430 27 Hauptbefehle und 24 emulierte Befehle. Die emulierten Befehle sollen für eine bessere Code-Übersicht sorgen bzw. das Programmieren leichter und schneller machen.

Die Befehle werden in 3 Gruppen geordnet:

  • Dual-operand
  • Single-operand
  • Jump

Der MSP430 ist ein 16bit-Prozessor, bietet also die Möglichkeit zwischen Byte (8bit) und Word (16bit) Befehlen zu unterscheiden. Dazu wird hinter dem ASM-Befehl “.w” oder “.b” geschrieben.  Wird keine Ergänzung hinter einem ASM-Befehl geschrieben, wird standardmäßig von einem “Word”-Befehel ausgegangen (Vorsicht ist hier geboten! Solche Fehler findet man (je nachdem wie lang der Code ist, sehr schwer).

Status-Bits:

  • V = Overflow-Flag
  • N = Negative-Flag
  • Z = Zero-Flag
  • C = Carry

Continue reading

Kurzübersicht: Code Composer Studio v4 (CCSv4)

In diesem Artikel soll die IDE “Code Composer Studio” von Texas Instruments vorgestellt werden. WIe schon geschrieben, handelt es sich um eine integrierte Entwicklungsumgebung. CCS wurde speziell für die Prozessor-Familie von Texas Instruments entwickelt und basiert auf Eclipse. Die IDE beinhaltet verschiedene Tools zum entwicklen, einen Debugger, Compiler und vieles mehr.

Für das Launchpad gibt es eine “spezielle” Version, diese nennt sich “CCS-FREE” oder auch “CCSv4 MSP430/C28x code size limited image” und ist für den MSP430 auf 16kB beschränkt (C28x: 32kB). Die Version kann ohne Probleme für die MSP430-Reihe genutzt werden und kann umsonst runtergeladen werden. (Einen Download-Link findet sich unter “Artikel->MSP430”)

Ich werde hier die wichtigsten Funktionen der IDE vorstellen.

Continue reading