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

📄 main.lst

📁 单片机与4*4按键接口程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 188          {
 189   1              unsigned char i;
 190   1              unsigned int chr_m;
 191   1              chr_m=chrx;
 192   1              chr_m=chr_m*16;
 193   1              if(y>=8)
 194   1              {
 195   2              y=y-8;
 196   2              LCD_Write_ComR(0xb8|x);
 197   2                      LCD_Write_ComR(0x40|y<<3); 
 198   2                      for(i=0;i<8;i++)
 199   2                      {
 200   3                      LCD_Write_DatR(Ezk[chr_m+i]);  
 201   3                      }
 202   2                      LCD_Write_ComR(0xb9|x);  
 203   2                      LCD_Write_ComR(0x40|y<<3);
 204   2                      for(i=8;i<16;i++)
 205   2                      {
 206   3                      LCD_Write_DatR(Ezk[chr_m+i]); 
 207   3                      }
 208   2              }
 209   1              else
 210   1              {
 211   2                      LCD_Write_ComL(0xb8|x);  
 212   2                      LCD_Write_ComL(0x40|y<<3); 
 213   2                      for(i=0;i<8;i++)
 214   2                      {
 215   3                      LCD_Write_DatL(Ezk[chr_m+i]);  
 216   3                      }
 217   2                      LCD_Write_ComL(0xb9|x);  
 218   2                      LCD_Write_ComL(0x40|y<<3);
 219   2                      for(i=8;i<16;i++)
 220   2                      {
 221   3                      LCD_Write_DatL(Ezk[chr_m+i]); 
 222   3                      }
 223   2              }
 224   1      }
 225          
 226          //显示16x16字符,位置按8x8一个点来定  x:列坐标  y:行坐标  chrx:显示字符*/    
 227          LCD_WrCHr16x16(unsigned char x,unsigned char y,unsigned char chrx){
 228   1      
 229   1              unsigned char i;
 230   1              unsigned int chr_m;
 231   1              chr_m=chrx;
 232   1              chr_m=chr_m*32;
 233   1              if(y>=8)
 234   1              {
 235   2                      y=y-4;
 236   2                      LCD_Write_ComR(0xb8|x);  
 237   2                      LCD_Write_ComR(0x40|y<<3); 
 238   2                      for(i=0;i<8;i++)
 239   2                      {
 240   3                          LCD_Write_DatR(Hzk[chr_m+i]);  
 241   3                      }
C51 COMPILER V7.50   MAIN                                                                  07/19/2007 23:28:51 PAGE 5   

 242   2              
 243   2                      LCD_Write_ComR(0xb8|x);  
 244   2                      LCD_Write_ComR(0x48|y<<3); 
 245   2                      for(i=8;i<16;i++)
 246   2                      {
 247   3                      LCD_Write_DatR(Hzk[chr_m+i]);  
 248   3                      }
 249   2              
 250   2                      LCD_Write_ComR(0xb9|x);  
 251   2                      LCD_Write_ComR(0x40|y<<3);
 252   2                      for(i=16;i<24;i++)
 253   2                      {
 254   3                      LCD_Write_DatR(Hzk[chr_m+i]); 
 255   3                      }
 256   2                      LCD_Write_ComR(0xb9|x);  
 257   2                      LCD_Write_ComR(0x48|y<<3);
 258   2                      for(i=24;i<32;i++)
 259   2                      {
 260   3                      LCD_Write_DatR(Hzk[chr_m+i]); 
 261   3                      }              
 262   2              }
 263   1              else
 264   1              {
 265   2                      LCD_Write_ComL(0xb8|x);  
 266   2                      LCD_Write_ComL(0x40|y<<3); 
 267   2                      for(i=0;i<8;i++)
 268   2                      {
 269   3                              LCD_Write_DatL(Hzk[chr_m+i]);  
 270   3                      }
 271   2                      LCD_Write_ComL(0xb8|x);  
 272   2                      LCD_Write_ComL(0x48|y<<3); 
 273   2                      for(i=8;i<16;i++)
 274   2                      {
 275   3                      LCD_Write_DatL(Hzk[chr_m+i]);  
 276   3                      }
 277   2                      LCD_Write_ComL(0xb9|x);  
 278   2                      LCD_Write_ComL(0x40|y<<3);
 279   2                      for(i=16;i<24;i++)
 280   2                      {
 281   3                      LCD_Write_DatL(Hzk[chr_m+i]); 
 282   3                      }
 283   2                      LCD_Write_ComL(0xb9|x);  
 284   2                      LCD_Write_ComL(0x48|y<<3);
 285   2                      for(i=24;i<32;i++)
 286   2                      {
 287   3                      LCD_Write_DatL(Hzk[chr_m+i]); 
 288   3                      }
 289   2              }
 290   1      }
 291          /*******************************************************************/
 292          //          绘制一幅图片
 293          //位置按由点来定  x:列坐标  y:行坐标  *gImage:显示图片*/    
 294          /*******************************************************************/
 295          void Wr_pic(unsigned char x,unsigned char y,unsigned char *gImage) 
 296          {
 297   1          unsigned char i,j;
 298   1          for(i=0;i<64;i++) 
 299   1          { 
 300   2              for(j=0;j<16;j++) 
 301   2              { 
 302   3      //            LCD12864_command(0x34);
 303   3       //           LCD12864_command(Y);
C51 COMPILER V7.50   MAIN                                                                  07/19/2007 23:28:51 PAGE 6   

 304   3        //          LCD12864_command(X);
 305   3        //          LCD12864_data(*(gImage+i*16+j));      //  low 8 bits
 306   3        //          LCD12864_data(*(gImage+i*16+j+1));    //  high 8 bits
 307   3        //          LCD12864_command(0x36);
 308   3                  x++;
 309   3                  j++;
 310   3              } 
 311   2              y++; 
 312   2              if(y>0x9f) 
 313   2                  y=0x80; 
 314   2              x=0x80+((i+1)/32)*8; 
 315   2          } 
 316   1       //   LCD12864_command(0x30);
 317   1         
 318   1      }
*** WARNING C280 IN LINE 295 OF MAIN.C: 'gImage': unreferenced local variable
 319          
 320          
 321          //LCD初始化
 322          void LCD_Init(void)
 323          {  
 324   1              //unsigned char temp,temp1;     
 325   1              LCD_Write_ComL(0x3e);
 326   1              LCD_Write_ComR(0x3e);
 327   1              Delay(10);
 328   1              LCD_Write_ComL(0x3f);
 329   1              LCD_Write_ComR(0x3f);
 330   1              Delay(10);
 331   1              LCD_Write_ComL(0xc0);
 332   1              //LCD_Write_ComR(0xc0);
 333   1              Delay(10);
 334   1      }
 335          
 336          
 337          
 338          
 339          //主程序
 340          
 341          void main(void)
 342          {
 343   1              unsigned int i;
 344   1      
 345   1              RUNLED=0;
 346   1              RST=0;
 347   1              Delay(10);
 348   1              RST=1;
 349   1              LCD_Init(); //LCD初始化
 350   1              RUNLED=~RUNLED;
 351   1              while(1){
 352   2      
 353   2                      LCD_Clr();     //LCD清屏
 354   2                      for(i=0;i<16;i++) LCD_WrCHr8x16(0,i,i);                         //第一行显示8x16西文字符     
 355   2      
 356   2      //              for(i=0;i<8;i++) LCD_WrCHr16x16(0,i*2,i);       //第二行显示16x16中文字符   
 357   2      //              for(i=0;i<8;i++) LCD_WrCHr16x16(2,i*2,i+8);             //第二行显示16x16中文字符   
 358   2               
 359   2      //              for(i=0;i<8;i++) LCD_WrCHr16x16(4,i*2,i+16);    //第三行显示16x16中文字符      
 360   2      //              for(i=0;i<8;i++) LCD_WrCHr16x16(6,i*2,i+24);    //第四行显示16x16中文字符      
 361   2              
 362   2                      RUNLED=~RUNLED;
 363   2                      delay10ms(100);
 364   2      
C51 COMPILER V7.50   MAIN                                                                  07/19/2007 23:28:51 PAGE 7   

 365   2              }       
 366   1      }   
 367          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    777    ----
   CONSTANT SIZE    =   1632    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   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 + -