⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mb9002.lst

📁 楼宇对讲系统里用的文字信息接收。用可视对讲话机的TFT屏可看到从管理中心发过来的广播信息和本户的特发信息
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -