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

📄 mb9002.lst

📁 楼宇对讲系统里用的文字信息接收。用可视对讲话机的TFT屏可看到从管理中心发过来的广播信息和本户的特发信息
💻 LST
📖 第 1 页 / 共 5 页
字号:
 506   3                              else          //非ASCII码
 507   3                              {
 508   4              
 509   4                              actual_adr = Dfontadr(*(int *)s ) ;
 510   4                                  Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);
 511   4                                      str_col++;
 512   4                                      if(str_col>MAX_DISP_COL)
 513   4                                         {
 514   5                                            str_col=0;
 515   5                                            str_row++;
 516   5                                                if(str_row>MAX_DISP_ROW)
 517   5                                                {
 518   6                                                   str_row=0;
 519   6                                                       str_col=0;
 520   6                                                       full_screen_F = 1;
 521   6                                                }
 522   5                                         }
 523   4                                      ++((int *)s);
 524   4                                      
 525   4                              }
 526   3                      }
 527   2                      else
 528   2                      {
 529   3              
 530   3                          actual_adr =(unsigned int)*s;              //disp NULL
 531   3                          Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);          
 532   3                              ++s;
 533   3                      }
 534   2      
 535   2              
 536   2              
 537   2              }
 538   1              else
 539   1              {
 540   2      /*          row++;
 541   2                      col=2;
 542   2                      if(row>MAX_DISP_ROW)
 543   2                      {
 544   2                              row = 0 ;
 545   2                              col = 2;
 546   2                       }*/
 547   2                  str_disp_end_F = 1;
 548   2                      s=(unsigned char*)0x00;
 549   2                      
 550   2              }
 551   1           return(s);
C51 COMPILER V7.06   MB9002                                                                06/10/2005 13:26:29 PAGE 10  

 552   1      }
 553          
 554          
 555          /*******************************************************/
 556          /*******************************************************/
 557          
 558          int             Isascii2( int c )
 559          {
 560   1      
 561   1      //      if(((c >= 0) && (c <= 0x7f)) || ((c >= 0xa0) && (c <= 0xd6)))
 562   1              
 563   1                      if((c >= 0) && (c <= 0x7f)) 
 564   1              {
 565   2      
 566   2                      return(1);
 567   2              }
 568   1              return(0);
 569   1      }
 570          
 571          /******************************************************/
 572          /******************************************************/
 573          
 574          unsigned int  Dfontadr( unsigned int font_code )
 575          {
 576   1      
 577   1                  
 578   1              TCODE   dt ;      
 579   1              unsigned int  actual_adr ;       
 580   1                            
 581   1              dt.wcode = font_code ;
 582   1       
 583   1          if((dt.scode.high>=0xa1)&&(dt.scode.high<=0xaa))
 584   1              {
 585   2                                  
 586   2               actual_adr = (dt.scode.high-0xa1)*94+dt.scode.low-0xa1;
 587   2              }
 588   1              else if((dt.scode.high>=0xb0)&&(dt.scode.high<=0xf7))
 589   1          {
 590   2                   actual_adr = (dt.scode.high-0xa1-6)*94+dt.scode.low - 0xa1;
 591   2              }
 592   1              else 
 593   1                   actual_adr = font_code;      
 594   1              return(actual_adr);
 595   1      }
 596          
 597          /******************************************************/
 598          /******************************************************/
 599          
 600          
 601          void Set_str_attr(byte x,byte y,byte size,byte bc,byte cc,byte at)
 602          {
 603   1          str_row = x;
 604   1              str_col = y;
 605   1              font_size = size ;
 606   1              back_cor = bc;
 607   1              char_cor = cc;
 608   1              at_label = at;
 609   1      }
 610          /******************************************************/
 611          /******************************************************/
 612          void Set_content_attr(byte x,byte y,byte size,byte bc,byte cc,byte at)
 613          {
C51 COMPILER V7.06   MB9002                                                                06/10/2005 13:26:29 PAGE 11  

 614   1          content_row = x;
 615   1              content_col = y;
 616   1              font_size = size ;
 617   1              back_cor = bc;
 618   1              char_cor = cc;
 619   1              at_label = at;
 620   1      }
 621          /******************************************************/
 622          /******************************************************/
 623          void Disp_str(unsigned char *pointer,byte x,byte y,byte size,byte bc,byte cc,byte at)
 624          {
 625   1         str_disp_end_F = 0;
 626   1         full_screen_F = 0;
 627   1         Set_str_attr(x,y,size,bc,cc,at);
 628   1         while((str_disp_end_F != 1)&&(full_screen_F != 1))
 629   1                      pointer = Disp_next_font(pointer) ;
 630   1      }
 631          
 632          /*****************************************************/
 633          /*****************************************************/
 634          void Disp_content(unsigned char  *pointer,byte x,byte y,byte size,byte bc,byte cc,byte at)
 635          {
 636   1         content_disp_end_F = 0;
 637   1         full_screen_F = 0;
 638   1         Set_content_attr(x,y,size,bc,cc,at);
 639   1         while((content_disp_end_F != 1)&&(full_screen_F != 1))
 640   1              pointer = Disp_next_content(pointer) ;
 641   1      }
C51 COMPILER V7.06   MB9002                                                                06/10/2005 13:26:29 PAGE 12  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION Turn_disp_off (BEGIN)
                                           ; SOURCE LINE # 84
                                           ; SOURCE LINE # 85
                                           ; SOURCE LINE # 86
0000 7FA2              MOV     R7,#0A2H
0002 120000      R     LCALL   _Send_byte
                                           ; SOURCE LINE # 87
0005 7F2A              MOV     R7,#02AH
0007 020000      R     LJMP    _Send_byte
             ; FUNCTION Turn_disp_off (END)

             ; FUNCTION Turn_disp_on (BEGIN)
                                           ; SOURCE LINE # 93
                                           ; SOURCE LINE # 94
                                           ; SOURCE LINE # 95
0000 7FA2              MOV     R7,#0A2H
0002 120000      R     LCALL   _Send_byte
                                           ; SOURCE LINE # 96
0005 7F2B              MOV     R7,#02BH
0007 020000      R     LJMP    _Send_byte
             ; FUNCTION Turn_disp_on (END)

             ; FUNCTION Vram_clear (BEGIN)
                                           ; SOURCE LINE # 101
                                           ; SOURCE LINE # 102
                                           ; SOURCE LINE # 104
0000 E4                CLR     A
0001 F500        R     MOV     i,A
0003         ?C0003:
                                           ; SOURCE LINE # 105
                                           ; SOURCE LINE # 106
0003 E4                CLR     A
0004 F500        R     MOV     j,A
0006         ?C0006:
                                           ; SOURCE LINE # 107
                                           ; SOURCE LINE # 108
0006 750003      R     MOV     ?_Disp_num?BYTE+04H,#03H
0009 E4                CLR     A
000A F500        R     MOV     ?_Disp_num?BYTE+05H,A
000C F500        R     MOV     ?_Disp_num?BYTE+06H,A
000E F500        R     MOV     ?_Disp_num?BYTE+07H,A
0010 FB                MOV     R3,A
0011 FA                MOV     R2,A
0012 AD00        R     MOV     R5,j
0014 AF00        R     MOV     R7,i
0016 120000      R     LCALL   _Disp_num
                                           ; SOURCE LINE # 110
0019 0500        R     INC     j
001B E500        R     MOV     A,j
001D C3                CLR     C
001E 9418              SUBB    A,#018H
0020 40E4              JC      ?C0006
                                           ; SOURCE LINE # 111
0022         ?C0005:
0022 0500        R     INC     i
0024 E500        R     MOV     A,i
0026 C3                CLR     C
0027 940D              SUBB    A,#0DH
0029 40D8              JC      ?C0003
C51 COMPILER V7.06   MB9002                                                                06/10/2005 13:26:29 PAGE 13  

                                           ; SOURCE LINE # 112
002B         ?C0009:
002B 22                RET     
             ; FUNCTION Vram_clear (END)

             ; FUNCTION L?0075 (BEGIN)
0000         L?0076:
0000 120000      R     LCALL   _Send_byte
0003 E4                CLR     A
0004 FF                MOV     R7,A
             ; FUNCTION _Send_byte (BEGIN)
                                           ; SOURCE LINE # 120
;---- Variable 'I_data' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 121
                                           ; SOURCE LINE # 123
0005 C294              CLR     IC_CS
                                           ; SOURCE LINE # 124
;---- Variable 'i' assigned to Register 'R6' ----
0007 E4                CLR     A
0008 FE                MOV     R6,A
0009         ?C0010:
                                           ; SOURCE LINE # 125
                                           ; SOURCE LINE # 126
0009 C293              CLR     IC_SLK
                                           ; SOURCE LINE # 127
000B EF                MOV     A,R7
000C 30E004            JNB     ACC.0,?C0013
                                           ; SOURCE LINE # 128
000F D292              SETB    IC_SIN
0011 8002              SJMP    ?C0014
0013         ?C0013:
                                           ; SOURCE LINE # 130
0013 C292              CLR     IC_SIN
0015         ?C0014:
                                           ; SOURCE LINE # 132
0015 EF                MOV     A,R7
0016 C3                CLR     C
0017 13                RRC     A
0018 FF                MOV     R7,A
                                           ; SOURCE LINE # 133
0019 D293              SETB    IC_SLK
                                           ; SOURCE LINE # 134
001B 0E                INC     R6
001C BE08EA            CJNE    R6,#08H,?C0010
001F         ?C0011:
                                           ; SOURCE LINE # 136
001F D294              SETB    IC_CS
                                           ; SOURCE LINE # 137
0021 22                RET     
             ; FUNCTION _Send_byte (END)

             ; FUNCTION _Disp_color (BEGIN)
                                           ; SOURCE LINE # 160
;---- Variable 'row' assigned to Register 'R6' ----
0000 AE07              MOV     R6,AR7
                                           ; SOURCE LINE # 161
                                           ; SOURCE LINE # 166
0002 EE                MOV     A,R6
0003 13                RRC     A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -