MAX7219 - Übersicht

Übersicht MAX7219 Der Baustein MAX7219 von der Firma MAXIM ist ein Treiberbaustein für 7-Segment-LED-Anzeigen. Alle nötigen Steueraufgaben sind bereits integriert. Die Daten für die Anzeige müssen nur noch vom Microcontroller bereitgestellt werden. Dies erfolgt über 3 Datenleitungen. Als Anzeigen kommen 7-Segment-LED's mit gemeinsamer Kathode zum Einsatz. Auch eine Kombination aus LED-Anzeigen und einzelnen LED's ist möglich. Die einzelnen LED's können z..B. eine Balkenanzeige darstellen.

PICmicro und MAX7219

Für den PICmicro von Microchip habe ich eine kleine Sammlung von nützlichen Routinen erstellt. Diese können sehr einfach an die verschiedenen PIC-Typen angepasst werden. Diese Sammlung beinhaltet 2 Dateien:
MAX7219.INC = Definition der verschiedenen Konstanten für den MAX7219-Baustein
MAX7219.ASM = Verschiedene Routinen zum Ansteuern des MAX7219-Bausteins
Zusätzlich sind einige Anwendungsbeispiele vorhanden. Diese Programmsammlung wurde mit der Entwicklungsumgebung MPLAB von Microchip erstellt.

Download

PIC_MAX7219 1.2 (313 KByte) 02.Juni 2007

Anpassung an einen PIC und die MAX7219-Initialisierung

Je nach PIC-Typ müssen in der MAX7219.INC-Datei einige Änderungen durchgeführt werden.

;
; Portbelegung
;
MAX7219_DIN_Tris         = TRISB
MAX7219_DIN_Port         = PORTB
MAX7219_DIN              = 0

MAX7219_LOAD_Tris        = TRISB
MAX7219_LOAD_Port        = PORTB
MAX7219_LOAD             = 1

MAX7219_CLK_Tris         = TRISB
MAX7219_CLK_Port         = PORTB
MAX7219_CLK              = 2
;
; MAX7219 Init-Werte
;
MAX7219_Init_DecodeMode  = MAX7219_DecodeMode_CodeB_Digit7
MAX7219_Init_Intensity   = MAX7219_Intensity_09
MAX7219_Init_ScanLimit   = MAX7219_ScanLimit_01234567
MAX7219_Init_Shutdown    = MAX7219_Shutdown_NormalOperation
MAX7219_Init_DisplayTest = MAX7219_DisplayTest_NormalMode
;
; Variablen
;
cblock 0x30
  MAX7219_Register, MAX7219_Value, MAX7219_SendRegister, MAX7219_Temp
endc
      

Beschreibung der Routinen in der MAX7219.ASM

Routine Beschreibung
MAX7219_Init Initialisierung der PIC-Ports und des MAX7219
MAX7219_Send Der Inhalt der Variablen MAX7219_Register und MAX7219_Value werden zum MAX7219 gesendet
MAX7219_SetDecodeMode Der Inhalt vom W-Register wird zum MAX7219-DecodeMode-Register gesendet
MAX7219_SetIntensity Der Inhalt vom W-Register wird zum MAX7219-Intensity-Register gesendet
MAX7219_SetScanLimit Der Inhalt vom W-Register wird zum MAX7219-ScanLimit-Register gesendet
MAX7219_Display_ON Der MAX7219 wird in den Normal-Modus geschaltet
MAX7219_Display_OFF Der MAX7219 wird in den ShutDown-Modus geschaltet
MAX7219_SetShutdown Der Inhalt vom W-Register wird zum MAX7219-ShutDown-Register gesendet
MAX7219_SetDisplayTest Der Inhalt vom W-Register wird zum MAX7219-DisplayTest-Register gesendet
MAX7219_Clear Der Anzeigebereich im MAX7219 wird mit 0 aufgefüllt
MAX7219_Fill Der Anzeigebereich im MAX7219 wird mit W-Register aufgefüllt
MAX7219_GetHexLEDCode Der Inhalt vom W-Register wird in den MAX7219-LEDCode übersetzt
MAX7219_SendHexByte Der Inhalt vom W-Register wird in MAX7219_Register und MAX7219_Register-1 in Hex angezeigt
MAX7219_SendHexHNibble Der H-Teil vom W-Register wird in MAX7219_Register in Hex angezeigt
MAX7219_SendHexLNibble Der L-Teil vom W-Register wird in MAX7219_Register in Hex angezeigt
MAX7219_SendByte Der Inhalt vom W-Register wird in MAX7219_Register und MAX7219_Register-1 angezeigt
MAX7219_SendHNibble Der H-Teil vom W-Register wird in MAX7219_Register angezeigt
MAX7219_SendLNibble Der L-Teil vom W-Register wird in MAX7219_Register angezeigt

Demo 1

Demoschaltung 1 LED7: Zeigt nacheinander alle 16 Werte von CodeB. Zusätzlich blinkt der Dezimalpunkt.
LED6..LED2: Zeigen eine Animation.
LED1..LED0: 2-stelliger Zähler. Der Zählerstand wird in Hex angezeigt.

Demo 2

Demoschaltung 2 LED7: Zeigt nacheinander alle 16 Werte von CodeB. Zusätzlich blinkt der Dezimalpunkt.
LED6..LED3: Zeigen eine Animation.
LED2..LED1: 2-stellige Hex-Anzeige des Potiwertes.
Balken-LED's: Zeigen den Potiwert an.


© 2005 by Norbert Hagemann Letzte Aktualisierung: 02.Juni 2007