📄 lcd_driver_user.lst
字号:
153 x = y; //无意义,仅为了让系统不提示警告
154 }
155 //========================================================================
156 // 函数: unsigned int Get_Dot_LCD(int x,int y)
157 // 描述: 获取在LCD的真实坐标系上的X、Y点上的当前填充色数据
158 // 参数: x X轴坐标
159 // y Y轴坐标
160 // 返回: 该点的颜色
161 // 备注: 暂不使用该函数
162 // 版本:
163 // 2006/10/15 First version
164 //========================================================================
165 unsigned int Get_Dot_LCD(int x,int y)
166 {
167 unsigned int Read_Data;
168 //可根据自己的需要填写代码
169 x = y; //无意义,仅为了让系统不提示警告
170 return Read_Data;
171 } */
172 /*
173 //========================================================================
174 // 函数: void Set_Dot_Addr_LCD(int x,int y)
175 // 描述: 设置在LCD的真实坐标系上的X、Y点对应的RAM地址
176 // 参数: x X轴坐标
177 // y Y轴坐标
178 // 返回: 无
179 // 备注: 仅设置当前操作地址,为后面的连续操作作好准备
C51 COMPILER V8.02 LCD_DRIVER_USER 06/27/2007 00:58:40 PAGE 4
180 // 版本:
181 // 2006/10/15 First version
182 // 2007/01/09 V1.2
183 //========================================================================
184 void Set_Dot_Addr_LCD(unsigned char x,unsigned char y)
185 {
186 unsigned char x_low,x_hight; //定义列地址的高低位指令
187 unsigned char y_Page; //用于存放要画点的位置所在的byte数据位置
188 x = x+4;
189 x_low = (x&0x0f); //定位列地址设置的低位指令
190 x_hight = ((x>>4)&0x0f)+0x10; //定位列地址设置的高位指令
191 y_Page = (y>>3)+0xb0; //Get the page of the byte
192 LCD_RegWrite(y_Page);
193 LCD_RegWrite(x_low);
194 LCD_RegWrite(x_hight);
195 }*/
196 /*
197 //========================================================================
198 // 函数: void LCD_Fill_s(unsigned int Number,unsigned int Color)
199 // 描述: 连续填充以Color色调的Number个点
200 // 参数: Number 填充的数量 Color 像素点的颜色
201 // 返回:
202 // 备注: 该函数可能会使用到
203 // 版本:
204 // 2006/10/15 First version
205 // 2007/01/09 V1.2
206 //========================================================================
207 void LCD_Fill_s(unsigned int Number,unsigned char Color)
208 {
209 while(Number!=0)
210 {
211 LCD_DataWrite(Color); //
212 Number--;
213 }
214 } */
215 //========================================================================
216 // 函数: void LCD_Fill(unsigned int Data)
217 // 描述: 会屏填充以Data的数据至各点中
218 // 参数: Data 要填充的颜色数据
219 // 返回: 无
220 // 备注: 仅在LCD初始化程序当中调用
221 // 版本:
222 // 2006/10/15 First version
223 // 2007/01/09 V1.2
224 //========================================================================
225 void LCD_Fill(unsigned char Data)
226 {
227 1 unsigned char i,j;
228 1 unsigned char uiTemp;
229 1 uiTemp = Dis_Y_MAX;
230 1 uiTemp = uiTemp>>3;
231 1 for(i=0;i<=uiTemp;i++) //往LCD中填充初始化的显示数据
232 1 {
233 2 LCD_RegWrite(0xb0+i);
234 2 LCD_RegWrite(0x04);
235 2 LCD_RegWrite(0x10);
236 2 for(j=0;j<=Dis_X_MAX;j++)
237 2 {
238 3 LCD_DataWrite(Data);
239 3 }
240 2 }
241 1 }
C51 COMPILER V8.02 LCD_DRIVER_USER 06/27/2007 00:58:40 PAGE 5
242 //========================================================================
243 // 函数: void LCD_Init(void)
244 // 描述: LCD初始化程序,在里面会完成LCD初始所需要设置的许多寄存器,具体如果
245 // 用户想了解,建议查看DataSheet当中各个寄存器的意义
246 // 参数: 无
247 // 返回: 无
248 // 备注:
249 // 版本:
250 // 2006/10/15 First version
251 // 2007/01/09 V1.2
252 //========================================================================
253 //延时程序
254
255 void TimeDelay(int Time)
256 {
257 1 int i;
258 1 while(Time > 0)
259 1 {
260 2 for(i = 0;i < 800;i++)
261 2 {
262 3 // _nop_();
263 3 }
264 2 Time --;
265 2 }
266 1 }
267 void LCD_Init(void)
268 {
269 1 //LCD驱动所使用到的端口的初始化(如果有必要的话)
270 1 // LCD_PortInit();
271 1 LCD_RS = 0;
272 1 TimeDelay(200);
273 1 LCD_RS = 1;
274 1
275 1 LCD_RegWrite(M_LCD_ON); //LCD On
276 1 LCD_RegWrite(M_LCD_POWER_ALL); //设置上电控制模式
277 1
278 1 LCD_RegWrite(M_LCD_ELE_VOL); //电量设置模式(显示亮度)
279 1 LCD_RegWrite(0x38); //指令数据0x0000~0x003f
280 1
281 1 LCD_RegWrite(M_LCD_VDD_SET); //V5内部电压调节电阻设置
282 1 LCD_RegWrite(M_LCD_VDD); //LCD偏压设置,V3时选
283 1
284 1 LCD_RegWrite(M_LCD_COM_NOR); //Com 扫描方式设置
285 1 LCD_RegWrite(M_LCD_SEG_REV); //Segment方向选择
286 1 LCD_RegWrite(M_LCD_ALL_LOW); //全屏点亮/变暗指令
287 1 LCD_RegWrite(M_LCD_ALL_NOR); //正向反向显示控制指令
288 1
289 1 LCD_RegWrite(M_LCD_STATIC_OFF); //关闭静态指示器
290 1 LCD_RegWrite(0x00); //指令数据
291 1
292 1 LCD_RegWrite(M_LCD_BEGIN_LINE+0); //设置显示起始行对应RAM
293 1 LCD_Fill(LCD_INITIAL_COLOR);
294 1 }
295
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 342 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
C51 COMPILER V8.02 LCD_DRIVER_USER 06/27/2007 00:58:40 PAGE 6
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -