Mux mode software example – Texas Instruments MSP430x4xx User Manual
Page 345
LCD Controller Operation
18-14
LCD Controller
3-Mux Mode Software Example
;
The 3mux rate can support nine segments for each
;
digit. The nine segments of a digit are located in
;
1 1/2 display memory bytes.
;
a
EQU
0040h
b
EQU
0400h
c
EQU
0200h
d
EQU
0010h
e
EQU
0001h
f
EQU
0002h
g
EQU
0020h
h
EQU
0100h
Y
EQU
0004h
;
The LSDigit of register Rx should be displayed.
;
The Table represents the ’on’−segments according to the
;
LSDigit of register of Rx.
;
The register Ry is used for temporary memory
;
ODDDIG RLA
Rx
; LCD in 3mux has 9 segments per
; digit; word table required for
; displayed characters.
MOV
Table(Rx),Ry ; Load segment information to
; temporary mem.
; (Ry) = 0000 0bch 0agd 0yfe
MOV.B
Ry,&LCDn
; write ’a, g, d, y, f, e’ of
; Digit n (LowByte)
SWPB
Ry
; (Ry) = 0agd 0yfe 0000 0bch
BIC.B
#07h,&LCDn+1 ; write ’b, c, h’ of Digit n
; (HighByte)
BIS.B
Ry,&LCD
n+1
.....
EVNDIG RLA
Rx
; LCD in 3mux has 9 segments per
; digit; word table required for
; displayed characters.
MOV
Table(Rx),Ry ; Load segment information to
; temporary mem.
; (Ry) =
0000 0bch 0agd 0yfe
RLA
Ry
; (Ry) =
0000 bch0 agd0 yfe0
RLA
Ry
; (Ry) =
000b ch0a gd0y fe00
RLA
Ry
; (Ry) =
00bc h0ag d0yf e000
RLA
Ry
; (Ry) =
0bch 0agd 0yfe 0000
BIC.B
#070h,&LCD
n+1
BIS.B
Ry,&LCD
n+1
; write ’y, f, e’ of Digit n+1
; (LowByte)
SWPB
Ry
; (Ry) =
0yfe 0000 0bch 0agd
MOV.B
Ry,&LCD
n+2
; write ’b, c, h, a, g, d’ of
; Digit n+1 (HighByte)
...........
Table DW
a+b+c+d+e+f
; displays ”0”
DW
b+c
; displays ”1”
...........
...........
DW
a+e+f+g
; displays ”F”