You are on page 1of 12

12864

1 12864

12864 C51 LCD12864

LCD

0 1 LCD

6000 DOS ASCII 128

128

'A' 1

2
2.
QC12864B

QC12864B

8192 16X16 128 8X16 64X256

RAMGDRAM

VDD 3.3V~+5V()128 64

600

LCD STN

MCU 8 LED

3.QC12864B

MPU 4

4 MPU

MPU 5
5 MPU

11111ABC

A H LCD MCUL MCU

LCD

B H L

C 0

()8 4 DDDD0000

()8 4 0000DDDD (

T=25 VDD=5.0V)

4.QC12864B LCD
1 12864LCD

LEVER
1 VSS 0
2 VDD +5.0V
3 V0 -
4 D/I(RS) H/L
D/I=H DB7DB0

D/I=L DB7DB0

5 R/W H/L
R/W=HE=H DB7DB0

R/W=LE=HL IR DR
6 E H/L
R/W=LE DB7DB0
R/W=HE=HDDRAM DB7DB0

7 DB0-DB7 H/L
8 CS1 H/L H:()
9 CS2 H/L H:()
10 RET H/L ,
11 VOUT -10V LCD
12 LED+ - LED
13 LED- - LED

12864 C

[plain] view plain copy

1. /********************** C51 ************************


2. * BST-V51 + Keil U4 + STC89S52
3. * 12864
4. *
5. * 11.0592MHZ
6. *
7. * Sure
8. ******************************************************************/
9. #include <reg51.h>
10. #include <intrins.h>
11. #define uchar unsigned char
12. #define uint unsigned int
13. /*12864 */
14. #define LCD_data P0 //
15. sbit LCD_RS = P1^0; //
16. sbit LCD_RW = P1^1; ///
17. sbit LCD_EN = P2^5; //
18. sbit LCD_PSB = P1^2; ///
19. unsigned char code zhu[]= //
[plain] view plain copy

1. { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x3E,0x03
,0xE0,
2. 0xFF,0xFF,0xFF,0x00,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xF0,0xFF,0x8F,0
xF8,
3. 0xFF,0xFF,0xFF,0x00,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0x81,0xFF,0xDF,0
xFC,
4. 0xFF,0xFF,0xFF,0x3C,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFC,0x03,0xFF,0xFF,0
xFE,
5. 0xFF,0xF9,0xFF,0x18,0xFE,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x03,0xFF,0xFF,0
xFE,
6. 0xFF,0xFC,0xFF,0x18,0xFE,0x3C,0x74,0x0F,0xFF,0xFF,0xFF,0x00,0x07,0x9C,0x70,0
x0F,
7. 0xFF,0xFE,0x7F,0x18,0xFE,0x02,0x2A,0x0F,0xFF,0xFF,0xF8,0x00,0x07,0xBE,0x71,0
x8F,
8. 0xC0,0x3F,0x3F,0x18,0xFE,0x3E,0x2A,0x0F,0xFF,0xFF,0xC0,0x00,0x07,0xF7,0x73,0
xCF,
9. 0xFF,0xFE,0x7F,0x18,0xFE,0x42,0x2A,0x0F,0xFF,0xFE,0x00,0x00,0x07,0xE3,0x76,0
x6F,
10. 0xFF,0xC1,0xFF,0x3C,0xFE,0x42,0x2A,0x0F,0xFF,0xFC,0x00,0x00,0x07,0xF7,0x06,0
x6F,
11. 0xFF,0xBE,0xFF,0x00,0xFE,0x3D,0x6B,0x0F,0xFF,0xE0,0x00,0x00,0x03,0xBE,0x73,0
xCE,
12. 0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x01,0xF3,0x9C,0xF9,0
x8E,
13. 0xFF,0xBF,0x99,0x89,0xC1,0xFF,0xFE,0x00,0x0F,0xE0,0x00,0x03,0xFF,0x81,0xFC,0
x0E, 0xF1,0xC1,0xD1,0xE6,0xBE,0xFE,0x00,0x00,0x0B,0xC0,0x04,0x7F,0xFD,0xF9
,0xFC,0xFC, 0xFF,0xFE,0xDD,0xEF,0x80,0xFC,0x00,0x03,0x63,0x00,0x03,0xFF,0
xFC,0xFD,0xFD,0xF8, 0xFF,0xFE,0xDD,0xEF,0xBF,0xE0,0x00,0x00,0xF3,0x00,0x
03,0xFF,0xFC,0x7C,0xF9,0xF8, 0xFF,0xBE,0xD9,0xEF,0xBE,0xE0,0x00,0x00,0xF3,
0x00,0x1F,0xFF,0xFC,0x7C,0x71,0xF0, 0xFF,0xC1,0xE4,0x83,0xC1,0x80,0x00,0x
01,0x7F,0x00,0x3F,0xFF,0xFC,0x1D,0x05,0xE0, 0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0
x00,0x03,0x7E,0x00,0xFF,0xFF,0xFC,0x0D,0xFD,0x80, 0xFF,0xFF,0xFF,0xFF,0xE
0,0x00,0x00,0x03,0x7E,0x00,0x7F,0xFF,0xE4,0x07,0xFF,0x00, 0xFF,0xFF,0x7F
,0xF0,0x00,0x00,0x00,0x07,0xF8,0x00,0xFF,0xFF,0xE5,0xF9,0xFC,0x00, 0xFF,0x
E3,0xAF,0xC0,0x00,0x00,0x07,0xBF,0xF8,0x00,0xFF,0xFF,0xE7,0xFE,0x70,0x00,
14. 0xFF,0xE3,0x9F,0x80,0x00,0x00,0x0E,0x1F,0xF0,0x01,0xFF,0xFF,0xCF,0xFF,0x00,0
x00, 0xFF,0xC3,0x8F,0x80,0x00,0x00,0x3E,0x4F,0xF0,0x00,0xFF,0xFC,0x0F,0xF
F,0x00,0x00, 0xFF,0xC3,0x8F,0x00,0x00,0x10,0xFE,0x0F,0xE0,0x01,0xFF,0xE0,0
x0F,0xFF,0x00,0x00, 0xFF,0x03,0x13,0x80,0x00,0x03,0xFC,0x8F,0xE0,0x01,0xFF,0
xFF,0xC7,0xFE,0x00,0x00,
15. 0xFF,0x04,0x12,0x80,0x00,0x00,0x7C,0x0F,0x80,0x03,0xFF,0xFF,0xC5,0xF8,0x00,0
x00, 0xFE,0x0C,0x17,0xC0,0x00,0x00,0x00,0x3E,0x00,0x07,0xFF,0xFF,0xC0,0xF0,
0x0E,0x00, 0xFE,0x1E,0x67,0x7E,0x30,0x00,0x00,0x08,0x00,0x07,0xFF,0xFF,0xC
0,0xF8,0x1F,0x00, 0xFC,0x1C,0x42,0x7F,0x00,0x06,0x00,0x00,0x40,0x0F,0xFF,
0xFF,0xC1,0xF8,0x3F,0x80, 0xFE,0x08,0x48,0x7F,0x40,0x01,0x78,0x10,0xC0,0x0F
,0xFF,0xFF,0xC1,0xF8,0x7F,0xC0, 0xFE,0x08,0x08,0x7F,0x40,0x01,0x78,0x10,0xC
0,0x0F,0xFF,0xFF,0xC1,0xF8,0xFF,0xE0, 0xFE,0x00,0x00,0x7E,0x60,0x00,0x00,0x1
0,0x80,0x3D,0xBF,0xFF,0xC1,0xF9,0xFF,0xF0,
16. 0xFF,0x00,0x00,0x1C,0xC0,0x00,0x04,0x00,0x00,0x39,0x3F,0xFF,0xC1,0xF9,0xFB,0
xF0, 0xFF,0x00,0x00,0x71,0x00,0x00,0x3C,0x00,0x00,0x39,0x3F,0xFA,0x41,0xF9,0
xFF,0xF0, 0xFF,0x80,0x00,0x60,0x30,0x01,0xC0,0x00,0x00,0x01,0x1B,0x02,0x41,0
xF8,0xFF,0xE0, 0xFF,0xC8,0x00,0x00,0x31,0x1F,0x00,0x00,0x40,0x00,0x00,0x02,0
x41,0xF8,0x7F,0xC0, 0xFF,0xC4,0xFE,0x00,0x03,0x00,0x07,0xC7,0xC2,0x00,0x00,0
x04,0x01,0xF8,0x3F,0x80, 0xFF,0xFF,0xF0,0x00,0x0F,0xE0,0x3F,0x9C,0x0F,0x80,0
x00,0x04,0x01,0xF8,0x1F,0x00, 0xFF,0xFF,0xF8,0x10,0x0F,0xC0,0x7E,0x3F,0xE7,
0xFF,0x00,0x00,0x01,0xF8,0x0E,0x00,
17. 0xFF,0xFF,0xF8,0x1E,0x0F,0xE0,0x70,0x3F,0xE0,0x3F,0x00,0x00,0x01,0xF8,0x00,0
x00, 0xFF,0xFF,0xFC,0x1E,0x1D,0xE0,0x77,0x00,0xE0,0x00,0x00,0x00,0x01,0xF8,
0x00,0x00, 0xFF,0xFF,0xFC,0x03,0x99,0xE0,0xE7,0x36,0xE0,0x00,0x00,0x00,0x03
,0xFC,0x00,0x00, 0xFF,0xFF,0xFC,0x00,0x3F,0xF0,0xC3,0x36,0xF0,0x00,0x00,0
x1C,0x73,0xFC,0x00,0x00, 0xFF,0xFF,0xFC,0x18,0x7B,0x79,0xC3,0x32,0xF0,0x00
,0x0F,0xFF,0xA3,0xFC,0x0E,0x00, 0xFF,0xFF,0xFC,0x1E,0x63,0x3D,0xFF,0x77,0xF
0,0x00,0xDF,0xFF,0xA3,0xFC,0x1F,0x00, 0xFF,0xFF,0xFC,0x1D,0x9F,0xE1,0xFF,0x
F0,0x06,0x8D,0xDF,0xFF,0xB3,0xFC,0x7F,0xC0, 0xFF,0xFF,0xFE,0x07,0x5F,0xE0
,0x03,0x30,0x7F,0x89,0xDF,0xFF,0xF3,0xFC,0xFF,0xE0, 0xFF,0xFF,0xFE,0x00,0x03
,0x00,0x03,0x33,0x7F,0x89,0xDF,0xFF,0xF3,0xFF,0xFF,0xF8,
18. 0xFF,0xFF,0xFE,0x00,0x2B,0x60,0x03,0x33,0x3F,0x09,0xDF,0xFF,0x93,0xFF,0xFF,0
xFC,
19. 0xFF,0xFF,0xFF,0x1E,0x3B,0x70,0x0F,0x3B,0xFF,0x09,0xFF,0xFF,0xD3,0xFF,0xF1,0
xFC,
20. 0xFF,0xFF,0xFF,0x1E,0x7B,0x30,0x3F,0x3C,0x37,0x89,0x80,0x0F,0xD3,0xFF,0xE0,0
xFC, 0xFF,0xFF,0xFF,0xB6,0x57,0x39,0xFB,0x03,0xB3,0x89,0x00,0x00,0x03,0xF
F,0xE0,0xFC, 0xFF,0xFF,0xFF,0xA7,0x9F,0x3D,0xE3,0x07,0xB3,0x89,0x00,0x00,
0x03,0xFF,0xE0,0xF8, 0xFF,0xFF,0xFF,0xE7,0x87,0x3D,0xC7,0x7D,0xB0,0x89,0x00
,0x00,0x03,0xFF,0xE0,0xF8,
21. 0xFF,0xFF,0xFF,0xE7,0x87,0x01,0x87,0x7C,0x30,0x08,0x1F,0x00,0x03,0xFD,0xFF,0
xF8,
22. 0xFF,0xFF,0xFF,0xF7,0x87,0xC1,0x07,0x60,0xF0,0x10,0x3F,0xFF,0xDB,0xFF,0xFF,0
xF0,
23. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x63,0xF4,0x30,0x3F,0xFF,0xDF,0xFF,0xFF,0
xF0, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x04,0x70,0x3F,0xFF,0xD7,0xFE,0
xFF,0xE0, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x01,0xF0,0x3F,0xFF,0xD7
,0xFE,0xFF,0xE0,
24. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x40,0x1F,0xF0,0x00,0x3F,0xE7,0xFE,0x00,0
x00, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF1,0x00,0x00,0xE7,0xF
E,0x00,0x00, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00
,0x07,0xFE,0x00,0x00,
25. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x07,0xFE,0x00,0
x00
26. };

[plain] view plain copy

1. #define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};


2. void delay0(uchar x); //x*0.14MS
3. void dataconv();
4. void lcd_pos(uchar X,uchar Y); //
5. void delay(int ms)
6. { while(ms--)
7. {
8. uchar i;
9. for(i=0;i<250;i++)
10. { _nop_();_nop_();_nop_();_nop_(); }
11. }
12. }
13. /*******************************************************************/
14. /* */
15. /* LCD */
16. /*lcd_busy 1 lcd-busy 0 , */
17. /* */
18. /*******************************************************************/
19. bit lcd_busy()
20. { bit result;
21. LCD_RS = 0;
22. LCD_RW = 1;
23. LCD_EN = 1;
24. delayNOP();
25. result = (bit)(P0&0x80);
26. LCD_EN = 0;
27. return(result);
28. }
29. /*******************************************************************/
30. /* LCD */
31. /*RS=LRW=LE=D0-D7= */
32. /*******************************************************************/
33. void lcd_wcmd(uchar cmd)
34. {
35. while(lcd_busy());
36. LCD_RS = 0;
37. LCD_RW = 0;
38. LCD_EN = 0;
39. _nop_(); _nop_();
40. P0 = cmd;
41. delayNOP();
42. LCD_EN = 1;
43. delayNOP();
44. LCD_EN = 0;
45. }
46. /*******************************************************************/
47. /* */
48. /* LCD */
49. /*RS=HRW=LE=D0-D7= */
50. /* */
51. /*******************************************************************/
52. void lcd_wdat(uchar dat)
53. {
54. while(lcd_busy());
55. LCD_RS = 1;
56. LCD_RW = 0;
57. LCD_EN = 0;
58. P0 = dat;
59. delayNOP();
60. LCD_EN = 1;
61. delayNOP();
62. LCD_EN = 0;
63. }
64. /*******************************************************************/
65. /* */
66. /* LCD */
67. /* */
68. /*******************************************************************/
69. void lcd_init()
70. {
71. LCD_PSB = 1; //
72. lcd_wcmd(0x34); //
73. delay(5);
74. lcd_wcmd(0x30); //
75. delay(5);
76. lcd_wcmd(0x0C); //
77. delay(5);
78. lcd_wcmd(0x01); // LCD
79. delay(5);
80. }
81. /*******************************************
82. :Draw_PM
83. :
84. :
85. :
86. ********************************************/
87. void Draw_PM(const uchar *ptr)
88. {
89. uchar i,j,k;
90. lcd_wcmd(0x34); //
91. i = 0x80;
92. for(j = 0;j < 32;j++)
93. {
94. lcd_wcmd(i++);
95. lcd_wcmd(0x80);
96. for(k = 0;k < 16;k++)
97. { lcd_wdat(*ptr++);}
98. }
99. i = 0x80;
100. for(j = 0;j < 32;j++)
101. { lcd_wcmd(i++);
102. lcd_wcmd(0x88);
103. for(k = 0;k < 16;k++)
104. { lcd_wdat(*ptr++); }
105. }
106. lcd_wcmd(0x36); //
107. lcd_wcmd(0x30); //
108. }
109.
110. main()
111. { lcd_init(); // LCD
112. Draw_PM(zhu); //
113. while(1);
114. }

You might also like