📄 mb9002.lst
字号:
249 1 else if(high_adr == 3)
250 1 high_adr = 6;
251 1
252 1 Send_byte(COMMAND_1+high_adr+at);
253 1 /*再做如下变换 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 */
254 1 /* 将temp1 = 0 0 0 0 0 MC MB MA
255 1 ----> high_adr = 0 0 0 0 MC 0 0 0 */
256 1
257 1 high_adr = (temp1<<1)&0x08 ;
258 1 Send_byte(cc+bc+high_adr);
259 1
260 1 /* command2-1 */
261 1
262 1 /* 先做如下地址变换:
263 1 将font->code_addr = XX XX XX MC MB MA BIT9 BIT8 BIT7 BIT6 BIT5 BIG4 BIT3 BIT2 BIT1 BIT0
264 1 ----> temp1 = 0 0 0 0 0 bit9 bit8 bit7
265 1 */
266 1 temp1=(unsigned char)(adr>>7)&0x07;
267 1 Send_byte(COMMAND_2 + temp1);
268 1 /* 做如下地址变换:
269 1 将font->code_addr = XX XX XX MC MB MA BIT9 BIT8 BIT7 BIT6 BIT5 BIG4 BIT3 BIT2 BIT1 BIT0
270 1 ----> temp1 = 0 bit6 bit5 bit4 bit3 bit2 bit1 bit0
271 1 */
272 1 temp1=(unsigned char)(adr & 0x7f);
273 1 Send_byte(temp1);
274 1 }
275 /*************************************************/
276 /* bc 代表整屏的背景色 */
277 /*************************************************/
278 void Init_mb9002_ic(byte bc)
279 {
280 1 unsigned char i;
281 1 IC_CS=0;
282 1 _nop_();
283 1 // Delay();
284 1 IC_CS=1;
285 1 // Delay();
286 1 _nop_();
287 1 IC_CS=0;
288 1 _nop_();
289 1 // Delay();
290 1 IC_CS=1;
291 1 _nop_();
292 1 // Delay();
293 1
294 1 IC_CS=0;
295 1 _nop_();
296 1 // Delay();
297 1 IC_CS=1;
298 1 _nop_();
299 1 // Delay();
300 1
301 1 IC_CS=0;
302 1 _nop_();
303 1 // Delay();
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 6
304 1 IC_CS=1;
305 1
306 1 /*--------command 3----------*/
307 1 /*FIL 位,此命令可以不动 */
308 1 Send_byte(COMMAND_3);
309 1 Send_byte(0);
310 1 /*--------command 5----------*/
311 1 /*;KID=0;APC与颜色无关;GYZ=0;W3--W0为行间距;10101 KID APC GYZ, 0 BH2 BH1 BH0 W3 W2 W1 W0*/
312 1
313 1 // Send_byte(COMMAND_5);
314 1 Send_byte(0xaa);
315 1 Send_byte(0x10); //彩色相位控制:0 DEGREE,无行间距
316 1
317 1 /*--------command 7 ----------*///BD
318 1 /*垂直位置设定*/
319 1 Send_byte(COMMAND_7+0x04);
320 1 Send_byte(0x2a);
321 1 /* 10111 EC LP FO
322 1 00 Y5 Y4 Y3 Y2 Y1 Y0
323 1 EC:同步信号选择 EC=0 只用行同步信号 EC=1 行场共用
324 1 LP:LP=0 正常操作
325 1 LP=1 NTSC/PAL 格式
326 1 FO:颜色信号输出控制
327 1 Y5---Y0垂直位置设定*/
328 1
329 1 /*--------command 8------------*/
330 1 /* 水平位置设定 */
331 1 /*********************************************************************/
332 1 /* COMMAND8 */
333 1 /* bit7 bit 6 bit5 bit4 bit3 bit2 bit1 bit0 */
334 1 /*first byte 1 1 0 0 0 SC 0 FC */
335 1 /*second byte 0 0 X5 X4 X3 X2 X1 X0 */
336 1 /* SC:同步信号输入控制位 */
337 1 /* FC:同步信号是否要有3US的滤波 */
338 1 /* X5--X0 :屏幕上从哪里起始显示(系统显示起始位置) */
339 1 /*********************************************************************/
340 1
341 1 Send_byte(0xc0);
342 1 // Send_byte(0x18);
343 1 Send_byte(0x08);
344 1 /*--------command 9--------- */
345 1 Send_byte(0xc8);
346 1 /* */
347 1 // Send_byte(0x20);
348 1 Send_byte(0x00);
349 1
350 1
351 1
352 1 /*------背景设置1-------*/
353 1 /*--------command 10----------*/
354 1 Send_byte(0xd1);
355 1 // Send_byte(0xd0);
356 1 Send_byte(0x38+bc);/*1101000 RB
357 1 0 BK CC BC UC UG UR UB
358 1 RB:背影(solid-fill)选择
359 1 BK:闪烁;
360 1 CC:彩色/黑白选择
361 1 BC:背景颜色
362 1 UC:屏幕颜色
363 1 UG,UR,UB 颜色选择*/
364 1
365 1 /*-------command 4----------*/
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 7
366 1 Send_byte(COMMAND_4+0x02); //内同步,非隔行扫描,一般性的屏幕背景显示
367 1 Send_byte(0x2b); /*区域控制:一般显示,显示颜色:彩色,放大控制:不放大*/
368 1 /*制式:PAL制,显示控制:使能显示输出 */
369 1
370 1 for(i=0;i<12;i++)
371 1 {
372 2 Disp_color(i);
373 2 }
374 1
375 1 Vram_clear();
376 1
377 1 }
378
379 /******************************************************/
380 /******************************************************/
381
382 unsigned char *Disp_next_content(unsigned char *s)
383 {
384 1 unsigned int actual_adr;
385 1 if(*s!='\0')
386 1 {
387 2 if(*(s + 1) != '\0')
388 2 {
389 3 if(Isascii2((int)*s & 0xff)) //显示ASCII字符
390 3 {
391 4 if(*s != '\n') //not return
392 4 {
393 5 actual_adr = 0x0000;
394 5 Disp_num(content_row,content_col,actual_adr,font_size,back_cor,char_cor,at_label);
395 5 content_col++;
396 5 if(content_col>MAX_DISP_COL)
397 5 {
398 6 content_col=0;
399 6 content_row++;
400 6 if(content_row>6)
401 6 {
402 7 content_row=0;
403 7 content_col=0;
404 7 full_screen_F = 1;
405 7 }
406 6 }
407 5
408 5 }
409 4 else
410 4 {
411 5 content_col = 2; //换行,起始第二列开始显示
412 5 content_row++;
413 5 if(content_row>6)
414 5 {
415 6 content_row=0;
416 6 full_screen_F = 1;
417 6 }
418 5 }
419 4 ++s ;
420 4
421 4 }
422 3 else //非ASCII码
423 3 {
424 4
425 4 actual_adr = Dfontadr(*(int *)s ) ;
426 4 Disp_num(content_row,content_col,actual_adr,font_size,back_cor,char_cor,at_label);
427 4 content_col++;
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 8
428 4 if(content_col>MAX_DISP_COL)
429 4 {
430 5 content_col=0;
431 5 content_row++;
432 5 if(content_row>6)
433 5 {
434 6 content_row=0;
435 6 content_col=0;
436 6 full_screen_F = 1;
437 6 }
438 5 }
439 4 ++((int *)s);
440 4
441 4 }
442 3 }
443 2 else
444 2 {
445 3
446 3 actual_adr =(unsigned int)*s; //disp NULL
447 3 Disp_num(content_row,content_col,actual_adr,font_size,back_cor,char_cor,at_label);
448 3 ++s;
449 3 }
450 2
451 2 mes_content = s ;
452 2
453 2 }
454 1 else
455 1 {
456 2
457 2 content_disp_end_F = 1;
458 2 mes_content = (unsigned char *)0x00;
459 2 s=(unsigned char*)0x00;
460 2 }
461 1 return(s);
462 1 }
463 /***********************************************/
464 /***********************************************/
465
466 unsigned char* Disp_next_font(unsigned char *s)
467 {
468 1 unsigned int actual_adr;
469 1 if(*s!='\0')
470 1 {
471 2 if(*(s + 1) != '\0')
472 2 {
473 3 if(Isascii2((int)*s & 0xff)) //显示ASCII字符
474 3 {
475 4 if(*s != '\n') //not return
476 4 {
477 5 actual_adr = 0x0000;
478 5 Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);
479 5 str_col++;
480 5 if(str_col>MAX_DISP_COL)
481 5 {
482 6 str_col=0;
483 6 str_row++;
484 6 if(str_row>MAX_DISP_ROW)
485 6 {
486 7 str_row=0;
487 7 str_col=0;
488 7 full_screen_F = 1;
489 7 }
C51 COMPILER V7.06 MB9002 06/10/2005 13:26:29 PAGE 9
490 6 }
491 5
492 5 }
493 4 else
494 4 {
495 5 str_col = 2; //换行,起始第二列开始显示
496 5 str_row++;
497 5 if(str_row>MAX_DISP_ROW)
498 5 {
499 6 str_row=0;
500 6 full_screen_F = 1;
501 6 }
502 5 }
503 4 ++s ;
504 4
505 4 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -