📄 lcd.lst
字号:
217 4 write_data(img[w*k+j]);
218 4 }
219 3 }
220 2 }
221 1 }
222 /*------------------显示横(坐标x)------------------------*/
223 void Disp_H_Line(unsigned char page)
224 {
225 1 unsigned char j;
226 1 Lcs=1;
227 1 Rcs=0;
228 1 write_com(Disp_On); //开显示
229 1 write_com(Page_Add+page); //页地址
230 1 write_com(Col_Add+0);
231 1 for(j=0;j<64;j++)
232 1 {
233 2 if((j+1)%5==0)
234 2 {
235 3 if((j+1)%10==0) write_data(0x07);
236 3 else write_data(0x3f);
237 3 }
238 2
239 2 else write_data(0x01);
240 2 }
241 1 Lcs=0;
C51 COMPILER V7.06 LCD 11/21/2005 17:42:08 PAGE 5
242 1 Rcs=1;
243 1 write_com(Disp_On); //开显示
244 1 write_com(Page_Add+page); //页地址
245 1 write_com(Col_Add+0);
246 1 for(j=0;j<64;j++)
247 1 {
248 2 if((j)%5==0)
249 2 {
250 3 if((j)%10==0) write_data(0x3f);
251 3 else write_data(0x07);
252 3 }
253 2
254 2 else write_data(0x01);
255 2 }
256 1
257 1 }
258
259
260 /*------------------显示列(坐标y)--------------------------*/
261 void Disp_L_Line( unsigned char col )
262 {
263 1 unsigned char j;
264 1 if(col<64)
265 1 {
266 2 Lcs=1;
267 2 Rcs=0;
268 2 write_com(Disp_On); //开显示
269 2 // write_com(Page_Add+0); //页地址
270 2 // write_com(Start_Line+0); //lie--
271 2 for(j=0;j<8;j++)
272 2 {
273 3 write_com(Page_Add+j);
274 3 write_com(Col_Add+col);
275 3 write_data(0xff);
276 3 }
277 2 }
278 1 else
279 1 {
280 2 Lcs=0;
281 2 Rcs=1;
282 2 write_com(Disp_On); //开显示
283 2 write_com(Page_Add); //页地址
284 2 write_com(Start_Line); //lie--
285 2 for(j=0;j<8;j++)
286 2 {
287 3 write_com(Page_Add+j);
288 3 write_com(Col_Add+col+64);
289 3 }
290 2 }
291 1 }
292
293 /*---------------------指定位置显示汉字16*16-----------------------*/
294 void hz_disp1616(unsigned char pag,unsigned char col, unsigned char code *hzk,bit lcd_cs,bit zc_fx)
295 {
296 1 unsigned char j=0,i=0;
297 1 if(!lcd_cs)
298 1 {
299 2 Lcs=1;
300 2 Rcs=0;
301 2 }
302 1 else
303 1 {
C51 COMPILER V7.06 LCD 11/21/2005 17:42:08 PAGE 6
304 2 Lcs=0;
305 2 Rcs=1;
306 2 }
307 1 if(zc_fx==0)
308 1 {
309 2 for(j=0;j<2;j++)
310 2 {
311 3 write_com(Page_Add+pag+j);
312 3 write_com(Col_Add+col);
313 3 for(i=0;i<16;i++)
314 3 {
315 4 write_data(hzk[16*j+i]);
316 4 }
317 3 }
318 2 }
319 1 else
320 1 {
321 2 for(j=0;j<2;j++)
322 2 {
323 3 write_com(Page_Add+pag+j);
324 3 write_com(Col_Add+col);
325 3 for(i=0;i<16;i++)
326 3 {
327 4 write_data(~hzk[16*j+i]);
328 4 }
329 3 }
330 2 }
331 1 }
332
333 /*-------------------------指定位置显示字符--------------------------*/
334 void zf_disp168(unsigned char pag,unsigned char col, unsigned char code *hzk,bit lcd_cs,bit zc_fx)
335 {
336 1 unsigned char i,j;
337 1 if(!lcd_cs)
338 1 {
339 2 Lcs=1;
340 2 Rcs=0;
341 2 }
342 1 else
343 1 {
344 2 Lcs=0;
345 2 Rcs=1;
346 2 }
347 1 if(zc_fx==0)
348 1 {
349 2 for(j=0;j<2;j++)
350 2 {
351 3 write_com(Page_Add+pag+j);
352 3 write_com(Col_Add+col);
353 3 for(i=0;i<8;i++)
354 3 {
355 4 write_data(hzk[8*j+i]);
356 4 }
357 3 }
358 2 }
359 1 else
360 1 {
361 2 for(j=0;j<2;j++)
362 2 {
363 3 write_com(Page_Add+pag+j);
364 3 write_com(Col_Add+col);
365 3 for(i=0;i<8;i++)
C51 COMPILER V7.06 LCD 11/21/2005 17:42:08 PAGE 7
366 3 {
367 4 write_data(~hzk[8*j+i]);
368 4 }
369 3 }
370 2 }
371 1 }
372
373 void zf_disp88(unsigned char pag,unsigned char col, unsigned char code *hzk,bit lcd_cs,bit zc_fx)
374 {
375 1 unsigned char i;
376 1 if(!lcd_cs)
377 1 {
378 2 Lcs=1;
379 2 Rcs=0;
380 2 }
381 1 else
382 1 {
383 2 Lcs=0;
384 2 Rcs=1;
385 2 }
386 1 if(zc_fx==0)
387 1 {
388 2 write_com(Page_Add+pag);
389 2 write_com(Col_Add+col);
390 2 for(i=0;i<8;i++)
391 2 {
392 3 write_data(hzk[i]);
393 3 }
394 2 }
395 1 else
396 1 {
397 2 write_com(Page_Add+pag);
398 2 write_com(Col_Add+col);
399 2 for(i=0;i<8;i++)
400 2 {
401 3 write_data(~hzk[i]);
402 3 }
403 2 }
404 1 }
405
406 /*------------------初始化LCD屏--------------------------*/
407 void init_lcd( void )
408 {
409 1 Lcd_Rst=0; //复位LCD
410 1 delay(100);
411 1 Lcd_Rst=1;
412 1 delay(100);
413 1
414 1 Lcs=1;
415 1 Rcs=1;
416 1
417 1 delay(100);
418 1 write_com(Disp_Off);
419 1 write_com(Page_Add+0);
420 1 write_com(Start_Line+0);
421 1 write_com(Col_Add+0);
422 1 write_com(Disp_On);
423 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1247 ----
C51 COMPILER V7.06 LCD 11/21/2005 17:42:08 PAGE 8
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 31
IDATA SIZE = ---- ----
BIT SIZE = ---- 6
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -