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

📄 nokia.lst

📁 使用IAR430打开
💻 LST
📖 第 1 页 / 共 2 页
字号:
 221   1      
 222   1         for(CodeID=0;CodeID<hzNum;CodeID++)
 223   1           {
 224   2              if ((hzIndex[2*CodeID]==UniCode/256)&(hzIndex[2*CodeID+1]==UniCode%256))
 225   2                   {
 226   3                      break;
 227   3                   }
 228   2           }
 229   1         WriteCommand_8544(0x80+X);
 230   1         WriteCommand_8544(0x40+Y); 
 231   1         for(i=0;i<16;i++)
 232   1          { ImgData=hzdot[i+CodeID*32];
 233   2            HZ_X++;
 234   2            if (HZ_X>84)//如果超出显示边界
 235   2              {
 236   3                HZ_X=0;
 237   3                WriteCommand_8544(0x40+Y+2);//空2行          
 238   3              }
 239   2           WriteData_8544(ImgData);
 240   2           }
 241   1         WriteCommand_8544(0x80+X);
C51 COMPILER V7.02b   NOKIA                                                                09/07/2004 00:44:35 PAGE 5   

 242   1         WriteCommand_8544(0x40+Y+1); 
 243   1         HZ_X=X;     
 244   1         for(i=16;i<32;i++)
 245   1          { ImgData=hzdot[i+CodeID*32];
 246   2            HZ_X++;
 247   2            if (HZ_X>84)//如果超出显示边界
 248   2              {
 249   3                HZ_X=0;
 250   3                WriteCommand_8544(0x40+Y+3);//空2行          
 251   3              }
 252   2           WriteData_8544(ImgData);
 253   2           }
 254   1      }
 255          //-------------显示ASCII(8X16)------(字符 起始位置XY)-------------------------
 256          void Display_ASCII(unsigned char Char,unsigned char X,unsigned char Y)
 257          {  
 258   1         unsigned int Position;
 259   1         unsigned char i,ImgData;
 260   1         unsigned char HZ_X=X;  
 261   1         WriteCommand_8544(0x80+X);
 262   1         WriteCommand_8544(0x40+Y); 
 263   1      //   Position=Y*16+X;
 264   1         for(i=0;i<8;i++)
 265   1          { ImgData=chardot[i+(Char-0x20)*16];
 266   2            HZ_X++;
 267   2            if (HZ_X>84)//如果超出显示边界
 268   2              {
 269   3                HZ_X=0;
 270   3                WriteCommand_8544(0x40+Y+2);//空2行          
 271   3              }
 272   2           WriteData_8544(ImgData);
 273   2           }
 274   1         WriteCommand_8544(0x80+X);
 275   1         WriteCommand_8544(0x40+Y+1); 
 276   1         HZ_X=X;     
 277   1         for(i=8;i<16;i++)
 278   1          { ImgData=chardot[i+(Char-0x20)*16];
 279   2            HZ_X++;
 280   2            if (HZ_X>84)//如果超出显示边界
 281   2              {
 282   3                HZ_X=0;
 283   3                WriteCommand_8544(0x40+Y+3);//空2行          
 284   3              }
 285   2           WriteData_8544(ImgData);
 286   2           }
 287   1      }
*** WARNING C280 IN LINE 258 OF NOKIA.C: 'Position': unreferenced local variable
 288          //-------------显示字符串,允许中英文混排------(字符串  起始位置XY,字符串长度)-------------------------
 289          void Display_String(unsigned char code *p,unsigned char X,unsigned int Y,unsigned char lenth)
 290          { unsigned char i;
 291   1         //unsigned int Position;
 292   1        for(i=0;i<lenth;i++)
 293   1         {
 294   2           if (X>=84){X=0;Y+=2;}
 295   2          if(p[i]<0x80) 
 296   2             {
 297   3               Display_ASCII(p[i],X,Y);    //ASCII
 298   3               X+=8;
 299   3             }  
 300   2          else 
 301   2             {
 302   3               Display_Chinese(p[i]*256+p[i+1],X,Y);//中文
C51 COMPILER V7.02b   NOKIA                                                                09/07/2004 00:44:35 PAGE 6   

 303   3               i++;
 304   3               X+=16;
 305   3             }     
 306   2      
 307   2         }
 308   1        
 309   1      }
 310          //-------------显示不带符号的整数------(数字 起始位置XY,显示长度)-------------------------
 311          void Display_Number(unsigned int Number,char X,unsigned int Y,unsigned char Lenth)
 312          {  unsigned char DispNum;
 313   1          Y=Y+((X+Lenth*8-8)/84)*2; 
 314   1          X=(X+Lenth*8-8)%84;
 315   1      
 316   1         for(;Lenth>0;Lenth--)
 317   1         {
 318   2        
 319   2          DispNum=Number%10+0x30;
 320   2          Display_ASCII(DispNum,X,Y);
 321   2          X-=8;
 322   2          if (X<0) { Y-=2;X+=84;}    
 323   2          Number=Number/10;  
 324   2         }
 325   1      }
 326          //-------------显示带符号的整数------(数字 起始位置XY,显示长度)-------------------------
 327          void Display_SignedNumber(int Number,unsigned char X,unsigned int Y,unsigned char Lenth)
 328          {
 329   1        if(Number<0)
 330   1         {
 331   2           Display_Number(-Number,X,Y,Lenth);
 332   2           Display_ASCII('-',X-8,Y);
 333   2         }
 334   1        else
 335   1         {
 336   2           Display_Number(Number,X,Y,Lenth);
 337   2           Display_ASCII(' ',X-8,Y);    
 338   2         } 
 339   1      }
 340          //-------------显示不带符号的小数------(数字 起始位置XY,整数位数,小数位数)-------------------------
 341          void Display_Decimal(unsigned long int Number,char X,unsigned int Y,unsigned char INT,unsigned char DEC)
 342          { unsigned char DispNum,Lenth;
 343   1      
 344   1      
 345   1          Y=Y+((X+INT*8+DEC*8)/84)*2; 
 346   1          X=(X+(INT+DEC)*8)%84;
 347   1          
 348   1         for(Lenth=DEC;Lenth>0;Lenth--)
 349   1         {
 350   2        
 351   2          DispNum=Number%10+0x30;
 352   2          Display_ASCII(DispNum,X,Y);
 353   2          X-=8;
 354   2          if (X<0) { Y-=2;X+=84;}    
 355   2          Number=Number/10;  
 356   2         }
 357   1          Display_ASCII('.',X,Y); 
 358   1          X-=8;
 359   1          if (X<0) { Y-=2;X+=84;}        
 360   1            for(Lenth=INT;Lenth>0;Lenth--)
 361   1         {
 362   2        
 363   2          DispNum=Number%10+0x30;
 364   2          Display_ASCII(DispNum,X,Y);
C51 COMPILER V7.02b   NOKIA                                                                09/07/2004 00:44:35 PAGE 7   

 365   2          X-=8;
 366   2          if (X<0) { Y-=2;X+=84;}    
 367   2          Number=Number/10;  
 368   2         }
 369   1        
 370   1       
 371   1      }
 372          //-------------显示带符号的小数------(数字 起始位置XY,整数位数,小数位数)-------------------------
 373          void Display_SignedDecimal(long int Number,char X,unsigned int Y,unsigned char INT,unsigned char DEC)
 374          {
 375   1        if(Number<0)
 376   1         {
 377   2           Display_Decimal(-Number,X,Y,INT,DEC);
 378   2           Display_ASCII('-',X-8,Y);
 379   2         }
 380   1        else
 381   1         {
 382   2           Display_Decimal(Number,X,Y,INT,DEC);
 383   2           Display_ASCII(' ',X-8,Y);    
 384   2         } 
 385   1      }
 386          void main()
 387          {
 388   1        Reset_8544();
 389   1        WriteExtendCommand_8544(0xc6);//Vop
 390   1        WriteCommand_8544(0x0c);//Norm
 391   1        while(1)
 392   1        {    CLS_LCM();
 393   2        Display_String("显示汉字",10,2,8);
 394   2          Delay(2000);
 395   2          CLS_LCM();
 396   2        Display_String("Display",14,1,7);
 397   2        Display_String("English",14,3,7);
 398   2          Delay(2000);
 399   2          CLS_LCM();
 400   2        Display_String("显示图片",10,2,8);
 401   2          Delay(2000);
 402   2          CLS_LCM();       
 403   2        Display_Image(IMG);
 404   2           Delay(2000);
 405   2          CLS_LCM(); 
 406   2        Display_String("显示压缩",10,1,8);
 407   2        Display_String("图片",26,3,4);
 408   2          Delay(2000);
 409   2          CLS_LCM();       
 410   2        Display_ZipImage(ZIPIMG);    
 411   2          Delay(2000);
 412   2          CLS_LCM();
 413   2      
 414   2        Display_String("显示图标",10,4,8);       
 415   2        Display_Icon(ICON,26,0);
 416   2          Delay(2000);
 417   2          CLS_LCM();   
 418   2        Display_String("Number:",10,0,7);       
 419   2        Display_Number(54321,8,2,5);
 420   2        Display_SignedNumber(-12345,8,4,5);  
 421   2          Delay(2000);
 422   2          CLS_LCM();
 423   2        Display_String("Decimal:",10,0,8);       
 424   2        Display_Decimal(45678,8,2,2,3); 
 425   2        Display_SignedDecimal(-98765432,8,4,5,3);              
 426   2          Delay(2000);
C51 COMPILER V7.02b   NOKIA                                                                09/07/2004 00:44:35 PAGE 8   

 427   2          CLS_LCM();
 428   2       }   
 429   1      }
 430          
 431          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1945    ----
   CONSTANT SIZE    =   2970    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      65
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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