1 ===================================
2 cfag12864b LCD Driver Documentation
3 ===================================
6 :Author & Maintainer: Miguel Ojeda Sandonis
16 4. USERSPACE PROGRAMMING
21 This driver supports a cfag12864b LCD.
27 :Manufacturer: Crystalfontz
28 :Device Name: Crystalfontz 12864b LCD Series
29 :Device Code: cfag12864b
30 :Webpage: http://www.crystalfontz.com
31 :Device Webpage: http://www.crystalfontz.com/products/12864b/
32 :Type: LCD (Liquid Crystal Display)
38 :Pages: 8 each controller
39 :Addresses: 64 each page
40 :Data size: 1 byte each address
41 :Memory size: 2 * 8 * 64 * 1 = 1024 bytes = 1 Kbyte
47 The cfag12864b LCD Series don't have official wiring.
49 The common wiring is done to the parallel port as shown::
51 Parallel Port cfag12864b
55 Strobe ( 1)------------------------------(17) Enable
56 Data 0 ( 2)------------------------------( 4) Data 0
57 Data 1 ( 3)------------------------------( 5) Data 1
58 Data 2 ( 4)------------------------------( 6) Data 2
59 Data 3 ( 5)------------------------------( 7) Data 3
60 Data 4 ( 6)------------------------------( 8) Data 4
61 Data 5 ( 7)------------------------------( 9) Data 5
62 Data 6 ( 8)------------------------------(10) Data 6
63 Data 7 ( 9)------------------------------(11) Data 7
65 (11) [GND]---( 2) Ground
66 (12) [+5v]---(14) Reset
67 (13) [GND]---(15) Read / Write
68 Line (14)------------------------------(13) Controller Select 1
70 Init (16)------------------------------(12) Controller Select 2
71 Select (17)------------------------------(16) Data / Instruction
72 Ground (18)---[GND] [+5v]---(19) LED +
74 Ground (20)---[GND] E A Values:
75 Ground (21)---[GND] [GND]---[P1]---(18) Vee - R = Resistor = 22 ohm
76 Ground (22)---[GND] | - P1 = Preset = 10 Kohm
77 Ground (23)---[GND] ---- S ------( 3) V0 - P2 = Preset = 1 Kohm
78 Ground (24)---[GND] | |
79 Ground (25)---[GND] [GND]---[P2]---[R]---(20) LED -
82 4. Userspace Programming
83 ------------------------
85 The cfag12864bfb describes a framebuffer device (/dev/fbX).
87 It has a size of 1024 bytes = 1 Kbyte.
88 Each bit represents one pixel. If the bit is high, the pixel will
89 turn on. If the pixel is low, the pixel will turn off.
91 You can use the framebuffer as a file: fopen, fwrite, fclose...
92 Although the LCD won't get updated until the next refresh time arrives.
94 Also, you can mmap the framebuffer: open & mmap, munmap & close...
95 which is the best option for most uses.
97 Check samples/auxdisplay/cfag12864b-example.c
98 for a real working userspace complete program with usage examples.