📄 12864.lst
字号:
224 1 write_com(Col_Add+0);
225 1 for(i=0;i<64;i++) write_data(0x80);
226 1
227 1 for(i=0;i<8;i++)
228 1
229 1 {
230 2 Mcs=0;
231 2 Scs=1;
232 2 write_com(Page_Add+i);
233 2 write_com(Col_Add+63);
234 2 write_data(0xff);
235 2 Mcs=1;
236 2 Scs=0;
237 2 write_com(Page_Add+i);
238 2 write_com(Col_Add+0);
239 2 write_data(0xff);
240 2 }
C51 COMPILER V7.08 12864 03/19/2005 23:08:43 PAGE 5
241 1 }
242
243
244
245 /*------------------清除内存---------------*/
246 void Clr_Scr()
247 {
248 1 unsigned char j,k;
249 1 Mcs=1;Scs=1;
250 1 write_com(Page_Add+0);
251 1 write_com(Col_Add+0);
252 1
253 1 for(k=0;k<8;k++){
254 2 write_com(Page_Add+k);
255 2 for(j=0;j<64;j++)write_data(0x00);
256 2 }
257 1 }
258
259 /*------------------显示12864图片---------------------------*/
260 void Disp_Img(unsigned char code *img)
261 {
262 1 unsigned char j,k;
263 1 for(k=0;k<8;k++){
264 2 Mcs=1;Scs=0;delay(10);
265 2 write_com(Page_Add+k);
266 2 write_com(Col_Add+0);
267 2 for(j=0;j<64;j++) write_data(img[k*128+j]);
268 2 Mcs=0;Scs=1; delay(10);
269 2 write_com(Page_Add+k);
270 2 write_com(Col_Add+0);
271 2 for(j=64;j<128;j++) write_data(img[k*128+j]);
272 2 }
273 1 }
274
275 /*------------------显示横---------------------------*/
276 void Disp_H_Line()
277 {
278 1 unsigned char i,j;
279 1 Mcs=1;
280 1 Scs=1;
281 1 write_com(Disp_On);
282 1 write_com(Page_Add);
283 1 write_com(Start_Line);
284 1 write_com(Col_Add);
285 1
286 1 for(j=0;j<8;j++)
287 1 {
288 2 write_com(Page_Add+j);
289 2 write_com(Col_Add+0);
290 2 // write_com(Start_Line+0);
291 2 for(i=0;i<64;i++)write_data(0x55);
292 2 }
293 1 }
294
295
296 /*------------------显示列-----------------------------*/
297 void Disp_V_Line()
298 {
299 1 unsigned char i,j;
300 1 write_com(Disp_On);
301 1 write_com(Page_Add);
302 1 write_com(Start_Line);
C51 COMPILER V7.08 12864 03/19/2005 23:08:43 PAGE 6
303 1 write_com(Col_Add);
304 1
305 1 for(j=0;j<8;j++)
306 1 {
307 2 write_com(Page_Add+j);
308 2 write_com(Col_Add+0);
309 2 write_com(Start_Line+0);
310 2 for(i=0;i<32;i++)
311 2 {
312 3 write_data(0x00);
313 3 write_data(0xff);
314 3 }
315 2
316 2 }
317 1 }
318
319 /*------------------棋盘-----------------------------*/
320 void Disp_Cross_Line(unsigned char mode)
321 {
322 1 unsigned char i,j;
323 1 unsigned char data1,data2;
324 1 if(mode==0) {data1=0xaa;data2=0x55;}
325 1 else if(mode==1) {data1=0x55;data2=0xaa;}
326 1 else return;
327 1 Mcs=1;Scs=1;
328 1 write_com(Disp_On);
329 1 write_com(Page_Add);
330 1 write_com(Start_Line);
331 1 write_com(Col_Add);
332 1 for(j=0;j<8;j++)
333 1 {
334 2 write_com(Page_Add+j);
335 2 write_com(Col_Add+0);
336 2 write_com(Start_Line+0);
337 2 for(i=0;i<32;i++){
338 3 write_data(data1);
339 3 write_data(data2);
340 3 }
341 2 }
342 1 }
343
344
345 /*---------------------指定位置显示汉字16*16-----------------------*/
346
347 void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
348 {
349 1 unsigned char j=0,i=0;
350 1 for(j=0;j<2;j++){
351 2 write_com(Page_Add+pag+j);
352 2 write_com(Col_Add+col);
353 2 for(i=0;i<16;i++) write_data(hzk[16*j+i]);
354 2 }
355 1 }
356
357
358 /*------------------初始化LCD屏--------------------------*/
359 void init_lcd()
360 {
361 1 Lcd_Rst=0;
362 1 delay(100);
363 1 Lcd_Rst=1;
364 1 delay(100);
C51 COMPILER V7.08 12864 03/19/2005 23:08:43 PAGE 7
365 1
366 1 Mcs=1;
367 1 Scs=1;
368 1
369 1 delay(100);
370 1 write_com(Disp_Off);
371 1 write_com(Page_Add+0);
372 1 write_com(Start_Line+0);
373 1 write_com(Col_Add+0);
374 1 write_com(Disp_On);
375 1 }
376
377
378 /*------------------------------信息显示------------------------*/
379 void Msg(int flg)
380 {
381 1 Clr_Scr();
382 1 frame();
383 1 if(flg==0){ //显示“测试开始”
384 2 Mcs=1;Scs=0;
385 2 hz_disp16(3,32,ce);
386 2 delay(2000);
387 2 hz_disp16(3,48,shi);
388 2 delay(2000);
389 2 Mcs=0;Scs=1;
390 2 hz_disp16(3,0,kai);
391 2 delay(2000);
392 2 hz_disp16(3,16,shi3);
393 2 delay(2000);
394 2 }
395 1 else if(flg==1){ //显示“测试完毕”
396 2 Mcs=1;Scs=0;
397 2 hz_disp16(3,32,ce);
398 2 hz_disp16(3,48,shi);
399 2 Mcs=0;Scs=1;
400 2 hz_disp16(3,0,wan);
401 2 hz_disp16(3,16,bi);
402 2 }
403 1 }
404
405
406 /*--------------------------------键盘扫描-------------------------*/
407 void Key_Scan()
408 {
409 1 while(Test_Key);
410 1 while(~Test_Key);
411 1 }
412
413
414 /*--------------------主程序---------------------------------*/
415
416
417 main()
418 {
419 1 unsigned char i=0;
420 1 while(1){
421 2 // Key_Scan();
422 2 init_lcd();
423 2 Disp_Img(FirstPage);
424 2 delay(10000);
425 2 // Key_Scan();
426 2 Msg(0);
C51 COMPILER V7.08 12864 03/19/2005 23:08:43 PAGE 8
427 2 delay(10000);
428 2 Disp_H_Line();
429 2 delay(10000);
430 2 Disp_V_Line();
431 2 delay(10000);
432 2 Msg(1);
433 2 delay(10000);
434 2 }
435 1 }
436
437
438
439
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 783 ----
CONSTANT SIZE = 1216 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 17
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 + -