Nokia 3310

Nokia 3310 Display

Das Nokia 3310 Display bietet Graphikausgabe bzw. Textausgabe mit 5 Zeilen a 14 Zeichen.

Ich verwende für die Ansteuerung des Displays das Miniterminal nach : http://www.mikrocontroller.net/topic/12150#new Da ich eine Pegelwandlung und 3,3V sowieso benötigte. Ein lästiges Löten an den Anschlüssen entfällt

3310pinb

Der Vorteil ist, das über RS 232 Schnittstelle eine Ausgabe vom Microcontroller erfolgt. Alphabet-Zeichentabelle ist im Terminal enthalten, so das im Microcontroller nur noch der Positionszeiger und ein ähnlicher „Print“ Befehl programmiert wird. Die Graphikausgabe erfolgt ähnlich. Es wurden mehrere Varianten aufgebaut. Dazu wurde das Orginalboard für den Low Drop Regler TS2940 (Segor) umgezeichnet.

3310.1
3310.2

Die Befestigung des Boardes duch Klebestreifen erscheint mir nicht sicher genug. Deshalb entschloss ich mich ein Board mit Pegelwandler zu entwickeln, auf dem das Display festgeschraubt wird. Es wird die Orginalplatine zur Ansteuerung verwendet. Das Befestigungsboard wurde universell dimensioniert. So kann dieses Board mit Pegelwandler durch Widerstände auch an eine SPI-Schnittstelle angeschlossen werden.Die Kombination von SMD- und herkömmlichen Bauteilen lassen keine Wünsche offen. Die Reihenwiderstände in SMD können durch 0 Ohm ersetzt werden. Ein Widerstandsnetzwerk vervollständigt die Spannungsteiler. Die Kondensatoren sind ebenfalls auf der Bestückungsseite. 3,3V kann direkt angeschlossen werden bzw. durch ein Regler erzeugt werden.Diese Variante benötigt dadurch keine doppelseitige Platine. LED’s beleuchten das Display. Die LED-Vorwiderstände sind nach Bedarf auszuwählen.

PICT0063

Um ein abgesetztes Display zu erhalten wurde ein Board, einschließlich Terminal auf der Rückseite,entworfen. Es werden jetzt nur noch  4 Leitungen zum Terminal benötigt. Es sind nun längere Übertragungswege wie mit der SPI-Ansteuerung möglich. Es ist eine RS232 Pegelwandlung bestückbar bzw.RS232 TTL Ansteuerung (Bild)

Die Programmierung des SMD-PIC’s erfolgt auf dem Board mit ein Velleman-Picprogrammer-Nachbau, bevor das Display und der Spannungsregler montiert wird

Pic_ISP

Boardansicht mit kompletter Bestückung. Die Boardgrösse wurde auf ein Mass von 75mm x 75mm verkleinert.

Miniterm_LED1

Die Hintergrundbeleuchtung wurde nach dem Vorbild des gleichnamigen Telefons mit gelbe LED’s ausgestattet. Die Beleuchtung hat nur unterstützende Wirkung (bei guten Lichtverhältnissen kaum sichtbar, im Dunkeln kein Blenden des Displays).

..

Miniterm_LED_Front

Anmerkung: Das Terminal gestattet den Anschluß einer Tastaturmatrix um Befehle über die Datenleitung zurück zu senden. Dies war bisher bei meinen Projekten nicht notwendig

Für Atmel Microcontroller wurde für die Datenübergabe ein Testprogramm in Bascom entworfen.

'###############################################################################
'XXXXXXXXXXXXXXX      NOKIA-3310-AUSGABE ©         XXXXXXXXXXXXXXXX
'###############################################################################

'Dies ist ein Testprogramm,für die Ausgabe auf dem
'Nokia 3310-Minitermial über RS232 Schnittstelle
'mit Positionszeiger
'mit erstellen der Prüfsumme
'nach: Steffen Taubmann
'stta@gmx.de

'Die $Include Zeichenausgabe_3310.bas
'im selben Verzeichnis kopieren

'Von Wigbert Picht
'Elektro-Picht@gmx.de
'Vers.10.08.07
'Update 01.10.07


'!!!Diese Software ist nur für den privaten Gebrauch bestimmt!!!
' !!!Kommerzielle Anwendungen bedürfen meiner Zustimmung!!!

'

'###############################################################################
'   Declaration
'###############################################################################

$regfile = "m8def.dat"                   'mein Controller
$crystal = 9216000                     'mein Crystal
$baud = 9600
Config Com1 = Dummy , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 8 , Clockpol = 0    'nicht veränderbar

Dim Text As String * 14                   '14 Zeichen max in einer Zeile
Declare Sub Position(byval X As Byte , Byval Y As Byte)   'Positionszeiger
Declare Sub Nprint                     'Ausgabe
Dim Poti As Word                      'Decl. für Testwert
'###############################################################################

Printbin &H02 ; &H43 ; &H41 ;                'Display löschen
Waitms 10                          'Zeit zur Init.

'###############################################################################

'Hier nach Bedarf die Graphik ausgeben lassen

'###############################################################################
'     Hauptprogramm
'###############################################################################

Do

' mein Programm

Text = "Hallo DL1ATW"                    'Testtext
'Poti = 555                         'Testwert
'Text = Str (Poti)                     'Testwert in String umwandeln

Waitms 30                          'nach Bedarf weil in der Testschleife nichts passiert

Position 1 , 4                       'X Sind Die Zeichen(0 -13), Y Entsprechend Die Zeilen(0 -5)
Call Nprint
                              'Stringausgabe durch Sub
Loop


'###############################################################################
' Include
'###############################################################################
$include Zeichenausgabe_3310.bas

Änderung des Terminals auf TTL-Pegel

Der MAX232 invertiert die Pegel. Daher funktioniert die direkte Verbindung nicht, wenn die Transistoren bestückt sind.Die Empfangsleitung kannst du direkt anschließen wenn t1 nicht bestückt ist und du für R10 10k verwendest. Die 10k begrenzen den Strom und die internen Schutzdioden den Pegel auf 3,3V. ist zwar nicht 100%-ig sauber funktioniert aber zuverlässig. Die Sendeleitung gibt die Daten mit 3,3V-Pegel raus, wenn R11=0R. Das Empfangsgerät muss dann aber die 3,3V auch als High erkennen.

 Ich hatte bis jetzt nie Probleme mit der Ansteuerung mit Atmel-Microcontroller

Board und Bascomdatei im Downloadbereich

[Nokia 3310]