📄 lcd.lst
字号:
C51 COMPILER V7.50 LCD 03/30/2011 19:43:22 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
29
30 void _delay_ms(unsigned char del)
31 {
32 1 unsigned int i,j;
33 1 for(i=0; i<del; i++)
34 1 for(j=0; j<182; j++)
35 1 ;
36 1 }
37 /*
38 ================================================================================
39 * Name : LCD_Init( )
40 * Description : Initialize the LCD module
41 * Input : None
42 * Output : None
43 * Note : None
44 ================================================================================
45 */
46 void LCDWR( INT8U cmd_dt, INT8U value )
47 {
48 1 LED_RD = 1;
49 1 LED_CS = 1;
50 1 LED_WR = 1;
51 1 if(cmd_dt)
52 1 {
53 2 LED_A0 = 1;
54 2 }
C51 COMPILER V7.50 LCD 03/30/2011 19:43:22 PAGE 2
55 1 else
56 1 {
57 2 LED_A0 = 0;
58 2 }
59 1 P0 = value;
60 1 LED_CS = 0;
61 1 LED_WR = 0;
62 1 LED_WR = 1;
63 1 LED_CS = 1;
64 1 }
65 /*
66 ================================================================================
67 * Name : LCD_Init( )
68 * Description : Initialize the LCD module
69 * Input : None
70 * Output : None
71 * Note : None
72 ================================================================================
73 */
74 void LCD_Init( void )
75 {
76 1 LCDWR( LCDCOM, 0x01);//software reset
77 1 _delay_ms(50); //delay 150ms
78 1 LCDWR( LCDCOM, 0x11);//software reset
79 1
80 1 LCDWR( LCDCOM,0x26); // Auto load set
81 1 LCDWR ( LCDDAT,0x04);//auto load disable//0x9f
82 1 LCDWR( LCDCOM,0xf2); //EE read/write mode
83 1 LCDWR ( LCDDAT,0x00); //set read mode
84 1 LCDWR( LCDCOM,0xb1);
85 1 LCDWR ( LCDDAT,0x08);
86 1 LCDWR ( LCDDAT,0x14);
87 1 LCDWR( LCDCOM,0xc0);
88 1 LCDWR ( LCDDAT,0x0a);
89 1 LCDWR ( LCDDAT,0x05);
90 1 LCDWR( LCDCOM,0xc1);
91 1 LCDWR ( LCDDAT,0x02);
92 1 LCDWR( LCDCOM,0xec);
93 1 LCDWR ( LCDDAT,0x44);
94 1 LCDWR ( LCDDAT,0x52);
95 1 LCDWR( LCDCOM,0xc7);
96 1 LCDWR ( LCDDAT,0xbf);
97 1
98 1 //////////
99 1
100 1
101 1 LCDWR( LCDCOM,0x2a); //display off
102 1 LCDWR ( LCDDAT,0x00);
103 1 LCDWR ( LCDDAT,0x00);
104 1 LCDWR ( LCDDAT,0x00);
105 1 LCDWR ( LCDDAT,0x7f);
106 1 LCDWR( LCDCOM,0x2b); //sleep out
107 1 LCDWR ( LCDDAT,0x00);
108 1 LCDWR ( LCDDAT,0x00);
109 1 LCDWR ( LCDDAT,0x00);
110 1 LCDWR ( LCDDAT,0x7f);
111 1 LCDWR( LCDCOM,0x36);
112 1 LCDWR ( LCDDAT,0xc8);
113 1 LCDWR( LCDCOM,0x3a);
114 1 LCDWR ( LCDDAT,0x55);
115 1
116 1 //////////////////////////////////////////////////////
C51 COMPILER V7.50 LCD 03/30/2011 19:43:22 PAGE 3
117 1 /////VOP set///////////
118 1 LCDWR( LCDCOM,0xf2); //vo voltage set
119 1 LCDWR ( LCDDAT,0x01);///////////f5///// 08//00
120 1
121 1 LCDWR( LCDCOM,0xe0); //write contrast for mobile
122 1 LCDWR ( LCDDAT,0x3f);
123 1 LCDWR ( LCDDAT,0x1b);
124 1 LCDWR ( LCDDAT,0x19);
125 1 LCDWR ( LCDDAT,0x27);
126 1 LCDWR ( LCDDAT,0x1f);
127 1
128 1 LCDWR ( LCDDAT,0x0d);
129 1 LCDWR ( LCDDAT,0x45);
130 1 LCDWR ( LCDDAT,0xb8);
131 1 LCDWR ( LCDDAT,0x30);
132 1
133 1 LCDWR ( LCDDAT,0x17);
134 1 LCDWR ( LCDDAT,0x0f);
135 1 LCDWR ( LCDDAT,0x05);
136 1 LCDWR ( LCDDAT,0x13);
137 1
138 1 LCDWR ( LCDDAT,0x02);
139 1 LCDWR ( LCDDAT,0x00);
140 1
141 1 //-----------OTPB SET----------------------//
142 1 LCDWR( LCDCOM,0xe1);// bias set
143 1 LCDWR ( LCDDAT,0x00); //1/12
144 1 LCDWR ( LCDDAT,0x24);
145 1
146 1 LCDWR ( LCDDAT,0x26);
147 1 LCDWR ( LCDDAT,0x08);
148 1 LCDWR ( LCDDAT,0x10);
149 1 LCDWR ( LCDDAT,0x12);
150 1
151 1 LCDWR ( LCDDAT,0x3a);
152 1 LCDWR ( LCDDAT,0x74);
153 1 LCDWR ( LCDDAT,0x4f);
154 1 LCDWR ( LCDDAT,0x08);
155 1
156 1 LCDWR ( LCDDAT,0x20);
157 1 LCDWR ( LCDDAT,0x2a);
158 1 LCDWR ( LCDDAT,0x3c);
159 1 LCDWR ( LCDDAT,0x3d);
160 1 LCDWR ( LCDDAT,0x3f);
161 1 _delay_ms(50);
162 1 LCDWR( LCDCOM,0x29); //booster set
163 1 _delay_ms(50);
164 1 LCDWR( LCDCOM,0x2c); //booster efficiency set
165 1 }
166 /*
167 ========================================================================================================
168 Name: LCD_SetArea
169 Function: Set the area of screen for displaying
170 Input:
171 1.xs : Start position X
172 2.xe : End position X
173 3.ys : Start position Y
174 4.ye : End position Y
175 Output: None
176 Author: LiYong
177 Date : 2008.08.09
178 ========================================================================================================
C51 COMPILER V7.50 LCD 03/30/2011 19:43:22 PAGE 4
179 */
180 void LCDSetArea( INT16U x1, INT16U y1, INT16U x2, INT16U y2 )
181 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -