lcd.lst
来自「单片机的实用程序代码」· LST 代码 · 共 417 行 · 第 1/2 页
LST
417 行
C51 COMPILER V7.50 LCD 09/13/2011 19:37:14 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\LCD.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\LCD.lst) OBJECT(LCD.ob
-j)
line level source
1 /*
2 ================================================================================
3 Copytight : Yihetech Co,.Ltd, All rightd reserved. 版权归属亿和电子工作室
4 Store : http://shop57165217.taobao.com/
5
6 File Name : lcd.c
7 Description : LCD module operations
8 Date : 2009-7-19 21:17:45
9 Version : V1.0
10 Author : LiYong(李勇), yihe_liyong@126.com
11 Target device : C8051F340
12 Compiler : KeilC51 V8.16
13 Note : 转载时务必保留此信息,否则无权以任何形式传播本文件
14 ================================================================================
15 */
16 #define _LCD_C_
17 #include "LCD.H"
18
19
20 #define LCDCOM 0
21 #define LCDDAT 1
22
23 sbit LED_RD = P2^5;
24 sbit LED_CS = P2^7;
25 sbit LED_WR = P2^4;
26 sbit LED_A0 = P2^3;
27 sbit BLACKLIGHT = P2^0;
28 sbit RESET = P2^6;
29
30
31 void _delay_ms(unsigned char del)
32 {
33 1 unsigned int i,j;
34 1 for(i=0; i<del; i++)
35 1 for(j=0; j<182; j++)
36 1 ;
37 1 }
38 /*
39 ================================================================================
40 * Name : LCD_Init( )
41 * Description : Initialize the LCD module
42 * Input : None
43 * Output : None
44 * Note : None
45 ================================================================================
46 */
47 void LCDWR( INT8U cmd_dt, INT8U value )
48 {
49 1 LED_RD = 1;
50 1 LED_CS = 1;
51 1 LED_WR = 1;
52 1 if(cmd_dt)
53 1 {
54 2 LED_A0 = 1;
C51 COMPILER V7.50 LCD 09/13/2011 19:37:14 PAGE 2
55 2 }
56 1 else
57 1 {
58 2 LED_A0 = 0;
59 2 }
60 1 P0 = value;
61 1 LED_CS = 0;
62 1 LED_WR = 0;
63 1 LED_WR = 1;
64 1 LED_CS = 1;
65 1 }
66 /*
67 ================================================================================
68 * Name : LCD_Init( )
69 * Description : Initialize the LCD module
70 * Input : None
71 * Output : None
72 * Note : None
73 ================================================================================
74 */
75 void LCD_Init( void )
76 {
77 1 RESET=1;
78 1 _delay_ms(10); //Delay 1ms
79 1 RESET=0;
80 1 _delay_ms(10); //Delay 1ms
81 1 RESET=1;
82 1 _delay_ms(10); //Delay 120ms
83 1
84 1 LCDWR( LCDCOM, 0x01);//software reset
85 1 _delay_ms(50); //delay 150ms
86 1 LCDWR( LCDCOM, 0x11);//software reset
87 1
88 1 LCDWR( LCDCOM,0xB1); // Auto load set
89 1 LCDWR ( LCDDAT,0x02);//auto load disable//0x9f
90 1 LCDWR ( LCDDAT,0x35);
91 1 LCDWR ( LCDDAT,0x36);
92 1 LCDWR( LCDCOM,0xB2); //EE read/write mode
93 1 LCDWR ( LCDDAT,0x02); //set read mode
94 1 LCDWR ( LCDDAT,0x35);
95 1 LCDWR ( LCDDAT,0x36);
96 1 LCDWR( LCDCOM,0xB3); //EE read/write mode
97 1 LCDWR ( LCDDAT,0x02); //set read mode
98 1 LCDWR ( LCDDAT,0x35);
99 1 LCDWR ( LCDDAT,0x36);
100 1 LCDWR( LCDCOM,0xB4); //EE read/write mode
101 1 LCDWR ( LCDDAT,0x07); //set read mode
102 1
103 1
104 1 LCDWR( LCDCOM,0xb6);
105 1 LCDWR ( LCDDAT,0xb4);
106 1 LCDWR ( LCDDAT,0xf0);
107 1
108 1 LCDWR( LCDCOM,0xc0);
109 1 LCDWR ( LCDDAT,0xa2);
110 1 LCDWR ( LCDDAT,0x02);
111 1 LCDWR ( LCDDAT,0x84);
112 1 LCDWR( LCDCOM,0xc1);
113 1 LCDWR ( LCDDAT,0x05);
114 1 //LCDWR( LCDCOM,0xc2);
115 1 //LCDWR ( LCDDAT,0x0a);
116 1 //LCDWR ( LCDDAT,0x00);
C51 COMPILER V7.50 LCD 09/13/2011 19:37:14 PAGE 3
117 1 //LCDWR( LCDCOM,0xc3);
118 1 //LCDWR ( LCDDAT,0x8a);
119 1 //LCDWR ( LCDDAT,0x2a);
120 1 //LCDWR( LCDCOM,0xc4);
121 1 //LCDWR ( LCDDAT,0x8a);
122 1 //LCDWR ( LCDDAT,0xee);
123 1 //LCDWR( LCDCOM,0xd9);
124 1 //LCDWR ( LCDDAT,0x40);
125 1
126 1 LCDWR( LCDCOM,0xc5);
127 1 LCDWR ( LCDDAT,0x02);
128 1 LCDWR( LCDCOM,0xc7);
129 1 LCDWR ( LCDDAT,0x00);
130 1
131 1 LCDWR( LCDCOM,0x36);
132 1 LCDWR ( LCDDAT,0xc8);
133 1
134 1 //////////
135 1
136 1
137 1 LCDWR( LCDCOM,0xe0); //write contrast for mobile
138 1 LCDWR ( LCDDAT,0x12);
139 1 LCDWR ( LCDDAT,0x1c);
140 1 LCDWR ( LCDDAT,0x10);
141 1 LCDWR ( LCDDAT,0x18);
142 1 LCDWR ( LCDDAT,0x33);
143 1
144 1 LCDWR ( LCDDAT,0x2c);
145 1 LCDWR ( LCDDAT,0x25);
146 1 LCDWR ( LCDDAT,0x28);
147 1 LCDWR ( LCDDAT,0x27);
148 1
149 1 LCDWR ( LCDDAT,0x2f);
150 1 LCDWR ( LCDDAT,0x3c);
151 1 LCDWR ( LCDDAT,0x00);
152 1 LCDWR ( LCDDAT,0x03);
153 1
154 1 LCDWR ( LCDDAT,0x03);
155 1 LCDWR ( LCDDAT,0x10);
156 1
157 1 //-----------OTPB SET----------------------//
158 1 LCDWR( LCDCOM,0xe1);// bias set
159 1 LCDWR ( LCDDAT,0x12);
160 1 LCDWR ( LCDDAT,0x1c);
161 1 LCDWR ( LCDDAT,0x10);
162 1 LCDWR ( LCDDAT,0x18);
163 1 LCDWR ( LCDDAT,0x33);
164 1
165 1 LCDWR ( LCDDAT,0x2c);
166 1 LCDWR ( LCDDAT,0x25);
167 1 LCDWR ( LCDDAT,0x28);
168 1 LCDWR ( LCDDAT,0x27);
169 1
170 1 LCDWR ( LCDDAT,0x2f);
171 1 LCDWR ( LCDDAT,0x3c);
172 1 LCDWR ( LCDDAT,0x00);
173 1 LCDWR ( LCDDAT,0x03);
174 1
175 1 LCDWR ( LCDDAT,0x03);
176 1 LCDWR ( LCDDAT,0x10);
177 1
178 1
C51 COMPILER V7.50 LCD 09/13/2011 19:37:14 PAGE 4
179 1 LCDWR( LCDCOM,0x2a);// bias set
180 1 LCDWR ( LCDDAT,0x00);
181 1 LCDWR ( LCDDAT,0x02);
182 1 LCDWR ( LCDDAT,0x00);
183 1 LCDWR ( LCDDAT,0x81);
184 1
185 1 LCDWR( LCDCOM,0x2b);// bias set
186 1 LCDWR ( LCDDAT,0x00);
187 1 LCDWR ( LCDDAT,0x03);
188 1 LCDWR ( LCDDAT,0x00);
189 1 LCDWR ( LCDDAT,0x82);
190 1
191 1 LCDWR( LCDCOM,0xf0);// bias set
192 1 LCDWR ( LCDDAT,0x01);
193 1 LCDWR( LCDCOM,0xf6);// bias set
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?