📄 s6d0118.lst
字号:
220 void Power_Off(void) //Power off
221 {
222 1 LCD_CmdWrite(0x07,0x0016);
223 1 delay(40);
224 1 LCD_CmdWrite(0x07,0x0000);
225 1
226 1 LCD_CmdWrite(0x10,0x0000);
227 1 LCD_CmdWrite(0x14,0x0000);
228 1 LCD_CmdWrite(0x11,0x0000);
229 1 LCD_CmdWrite(0x13,0x0060);
230 1 delay(10);
231 1
232 1 LCD_CmdWrite(0x13,0x0040);
233 1 delay(10);
234 1
235 1 LCD_CmdWrite(0x13,0x0000);
236 1
237 1 }
238
239 void Standby_on(void) //standby mode on
240 {
241 1 LCD_CmdWrite(0x10,0x0001);
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 5
242 1 }
243
244 void Standby_Off(void) //standby mode off
245 {
246 1 LCD_CmdWrite(0x00,0x0001);
247 1 delay(10);
248 1 LCD_CmdWrite(0x10,0x0000);
249 1 }
250
251 void Sleep_on(void) //sleep mode on
252 {
253 1 LCD_CmdWrite(0x10,0x0002);
254 1 }
255
256 void Sleep_Off(void) //sleep mode off
257 {
258 1 LCD_CmdWrite(0x10,0x0000);
259 1 }
260
261 void WriteBmp(unsigned char pages)
262 {
263 1 unsigned char page,seg;
264 1 unsigned int pointer;
265 1
266 1 // FlashChip1Select= 0;//chip selected
267 1 //pointer= 0;
268 1
269 1 LCD_CmdWrite(0x21,0x0a00); //0000 0000 0000 0000
270 1 LCD_Index(0x22);
271 1
272 1 switch(pages)
273 1 {
274 2 case 0 :PA0 = 0;PA1 = 0;PA2 = 0;break;
275 2 case 1 :PA0 = 1;PA1 = 0;PA2 = 0;break;
276 2 case 2 :PA0 = 0;PA1 = 1;PA2 = 0;break;
277 2 case 3 :PA0 = 1;PA1 = 1;PA2 = 0;break;
278 2 case 4 :PA0 = 0;PA1 = 0;PA2 = 1;break;
279 2 case 5 :PA0 = 1;PA1 = 0;PA2 = 1;break;
280 2 case 6 :PA0 = 0;PA1 = 1;PA2 = 1;break;
281 2 case 7 :PA0 = 1;PA1 = 1;PA2 = 1;break;
282 2 }
283 1
284 1 for(page=0;page<DisplayCol;page++)
285 1 {
286 2 for(seg=0;seg<DisplaySeg;seg++)
287 2 {
288 3 LCD_DataWrite(ptr[pointer++]);
289 3 }
290 2 }
291 1 // FlashChip1Select=1;
-
292 1 }
293
294 void Checker(unsigned int param1,unsigned int param2) //Full on,off,checkerboard,bar
295 {
296 1 unsigned char page,seg;
297 1
298 1 LCD_CmdWrite(0x21,0x0a00); //0000 0000 0000 0000
299 1 LCD_Index(0x22);
300 1
301 1 for(page=0;page<DisplayCol;page++)
302 1 {
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 6
303 2 for(seg=0;seg<DisplaySeg;seg++)
304 2 {
305 3 if(seg%2) LCD_DataWrite(param1);
306 3 else LCD_DataWrite(param2);
307 3 }
308 2 }
309 1 }
310
311 void WriteBoundary(void) //write boundary
312 {
313 1
314 1 unsigned char page,seg;
315 1
316 1 LCD_CmdWrite(0x21,0x0a00); //
317 1 LCD_Index(0x22);
318 1
319 1 for(page=0;page<DisplayCol;page++)
320 1 {
321 2 for(seg=0;seg<DisplaySeg;seg++)
322 2 {
323 3
324 3 if (seg==0||seg==(DisplaySeg-1)) LCD_DataWrite(0xffff);
325 3 else if (page==0) LCD_DataWrite(0xffff);
326 3 else if (page==(DisplayCol-1)) LCD_DataWrite(0xffff); //
327 3 else LCD_DataWrite(0x0000);
328 3 }
329 2 }
330 1 }
331
332 void test(void) //test
333 {
334 1
335 1 unsigned char page,seg;
336 1
337 1 for(page=0;page<DisplayCol;page++)
338 1 {
339 2 for(seg=0;seg<DisplaySeg;seg++)
340 2 {
341 3 if (page<3)
342 3 {
343 4 LCD_DataWrite(0xffff);
344 4 delay(10);
345 4 }
346 3 else
347 3 LCD_DataWrite(0x0000);
348 3 }
349 2 }
350 1 }
351
352 void WriteGrid1(void)
353 {
354 1 unsigned char col,seg;
355 1
356 1 LCD_CmdWrite(0x21,0x0a00); //
357 1 LCD_Index(0x22);
358 1
359 1 for(col=0;col<DisplayCol;col++)
360 1 {
361 2 for(seg=0;seg<DisplaySeg;seg++)
362 2 {
363 3 switch((col/16+seg/16)%3)
364 3 {
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 7
365 4 case 0: LCD_DataWrite(0x001f);break; //red
366 4 case 1: LCD_DataWrite(0x07e0);break; //green
367 4 case 2: LCD_DataWrite(0xf800);break; //blue
368 4 }
369 3 }
370 2 }
371 1 }
372
373 void WriteBar1(void)
374 {
375 1 unsigned char col,seg;
376 1
377 1 LCD_CmdWrite(0x21,0x0a00); //0000 0000 0000 0000
378 1 LCD_Index(0x22);
379 1
380 1 for(col=0;col<DisplayCol;col++)
381 1 {
382 2 for(seg=0;seg<DisplaySeg;seg++)
383 2 {
384 3 switch((col/16+col/16)%3)
385 3 {
386 4 case 0: LCD_DataWrite(0x001f);break; //red
387 4 case 1: LCD_DataWrite(0x07e0);break; //green
388 4 case 2: LCD_DataWrite(0xf800);break; //blue
389 4 }
390 3 }
391 2 }
392 1 }
393
394
395 void main(void)
396 {
397 1
398 1 unsigned int step=0;
399 1
400 1 delay(10);
401 1
402 1 LCD_Reset();
403 1 Power_set();
404 1 LCD_Initial1();
405 1 LCD_Initial2();
406 1 Gamma_Control();
407 1 //LCD_Initial2();
408 1 Display_ON();
409 1
410 1 for(step=0;step<8;step++)
411 1 {
412 2 switch(step)
413 2 {
414 3 case 0: Checker(0xffff,0xffff);break; //all on
415 3 case 1: Checker(0x0000,0x0000);break; //all off
416 3 case 2: Checker(0x07e0,0x07e0);break; //green
417 3 case 3: Checker(0x001f,0x001f);break; //blue
418 3 case 4: Checker(0xf800,0xf800);break; // red
419 3 case 5: WriteGrid1(); break; //Gird
420 3 case 6: WriteBar1(); break; //bar
421 3 //case 7: WriteBmp(0); break; //bitbmp
422 3 //case 8: test();break; //
423 3 case 7: WriteBoundary(); Power_Off(); break;//boundary
424 3 }
425 2 delay(200);
426 2 }
C51 COMPILER V8.05a S6D0118 06/24/2008 21:34:10 PAGE 8
427 1 }
428
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1281 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 12
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 + -