Nokia 3110 LCD Display Code

Anobium

Senior Member
See http://www.youtube.com/watch?v=62-hmyfX2Yk for a review of the functionality.

Here is the code to support this functionality. I have also attached the code as an attachment.

Regards,

Anobium



; Picaxe Forum member - Anobium
;
; http://www.picaxeforum.co.uk/showthread.php?t=10014
; initial version svn 1.02
;
; Set the number of GoSubs to 256
;
#picaxe 18x
' Display pin 1 Vcc+ 3.2v

symbol SCLK = 0 'Display pin 2 to PICAXE out 0 (junction 6)
symbol SDA = 1 'Display pin 3 to PICAXE out 5 (junction 7)
symbol DC = 2 'Display pin 4 to PICAXE out 2 (junction 8)
symbol CS = 3 'Display pin 5 to PICAXE out 3 (junction 9)
' Display pin 6 gnd
' Display pin 7 Cap to Gnd 4.7uf electrolic

symbol RES = 4 'Display pin 8 to PICAXE out 6 (junction 10)
SYMBOL value = b0
SYMBOL width = b1
SYMBOL pointer = b2
SYMBOL X = b3
SYMBOL Y = b4
SYMBOL blinkstatus = b7
SYMBOL eeprom_addr = b5
SYMBOL GraphicData = b6
SYMBOL Loop1 = b10
SYMBOL loop3 = b12
SYMBOL SDA_PIN = outpin1 'outpin1 ************


Main:
SETFREQ m8

GOSUB InitLCD


; This is the only section that is required to be changed
; X = n is the x position on screen
; Y = n is the y position on screen
; Change the following line to match the length of our display string, FOR pointer = 0 TO N
; N equals the length of the string
; LookUp pointer,("Textstring"),value
; Textstring is the string to be dislayed
;
;
; *****************************************************************
; Display @ 0,0 Line 1
X=0
Y=0
GOSUB GotoXY
FOR pointer = 0 TO 14
LookUp pointer,("INIT COMPLETED"),value
GOSUB ValueToLCD
NEXT

; Line 2, no change to X, display on line 2
Y=1
GOSUB GotoXY
FOR pointer = 0 TO 14
LookUp pointer,("AWAITING SWITCH"),value
GOSUB ValueToLCD
NEXT

; Clear line 1
Y=0
GOSUB GotoXY
FOR pointer = 0 TO 20
LookUp pointer,(" "),value
GOSUB ValueToLCD
NEXT

; Some delay code
pause 5000

; Clear line
Y=1
GOSUB GotoXY
FOR pointer = 0 TO 22
LookUp pointer,(" "),value
GOSUB ValueToLCD
NEXT


huntingline:
; Display message
Y=0
X=0
GOSUB GotoXY
FOR pointer = 0 TO 14
LookUp pointer,("HUNTING LINE "),value
GOSUB ValueToLCD
NEXT

Y=1
X=0
GOSUB GotoXY
FOR pointer = 0 TO 19
LookUp pointer,("(((((((((())))))))))"),value
GOSUB ValueToLCD
NEXT


;Main body


; Removed code


; end of main body

blinky:
for pointer = 0 to 10
gosub blink
pause 1000
sertxd (#pointer, 13, 10)
next
gosub BlinkStar
goto huntingline



fin:
SETFREQ m4
STOP
END



Blink:
GOSUB GoToHome
low SDA
high DC
low CS
X=79
Y=5
GOSUB GotoXY
inc b7

low SCLK
if b7 = 1 then
value = 0
else
value = 255
b7 = 0
end if
GOSUB DataToLCD
GOSUB DataToLCD
GOSUB DataToLCD
GOSUB DataToLCD
GOSUB DataToLCD

high SCLK
Return

BlinkStar:

X=79
Y=5
GOSUB GotoXY
FOR pointer = 0 TO 1
LookUp pointer,("*"),value
GOSUB ValueToLCD
NEXT
Return

; version 1.01
;=====================================================================
; SUBROUTINES - See attachment
;---------------------------------------------------------------------
 

Attachments

Last edited by a moderator:
Top