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

📄 sed.lst

📁 用keil和proteus做的液晶驱动。
💻 LST
📖 第 1 页 / 共 2 页
字号:
 192          {0x00,0x00,0x1c,0x22,0x41,0x00},/*(*/
 193                                         
 194          {0x00,0x00,0x41,0x22,0x1c,0x00},/*)*/
 195                                         
 196          {0x00,0x40,0x40,0x40,0x40,0x40},/*_*/
 197                                         
 198          {0x00,0x08,0x08,0x3e,0x08,0x08},/*+*/
 199                                         
 200          {0x00,0x00,0x00,0x7e,0x00,0x00},/*|*/
 201                                         
 202          {0x00,0x00,0x7f,0x41,0x41,0x00},/*[*/
 203                                         
 204          {0x00,0x00,0x41,0x41,0x7f,0x00},/*]*/
 205                                         
 206          {0x00,0x00,0x56,0x36,0x00,0x00},/*;*/
 207                                         
 208          {0x00,0x00,0x00,0x05,0x03,0x00},/*'*/
 209                                         
 210          {0x00,0x00,0x00,0x28,0x18,0x00},/*,*/
 211                                         
 212          {0x00,0x00,0x00,0x60,0x60,0x00},/*.*/
 213                                         
 214          {0x00,0x20,0x10,0x08,0x04,0x02},/*//*/
 215                                         
 216          {0x00,0x00,0x08,0x36,0x41,0x00},/*{*/
 217                                         
 218          {0x00,0x00,0x41,0x36,0x08,0x00},/*}*/
 219                                         
 220          {0x00,0x00,0x36,0x36,0x00,0x00},/*:*/
 221                                         
 222          {0x00,0x00,0x00,0x07,0x00,0x07},/*"*/
 223                                         
 224          {0x00,0x08,0x14,0x22,0x41,0x00},/*<*/
 225                                         
 226          {0x00,0x00,0x41,0x22,0x14,0x08},/*>*/
 227                                         
 228          {0x00,0x02,0x01,0x51,0x09,0x06}/*?*/
 229          };
 230          
 231          
 232          void LCD_Command(unsigned char nCommand)
 233          {
 234   1          unsigned char i;
 235   1          A0=0;
 236   1          RW=0;
 237   1          E1=1;
 238   1          DATA=nCommand;
 239   1          i=TIME;
 240   1          while(--i);
 241   1          E1=0;
C51 COMPILER V8.08   SED                                                                   08/19/2008 15:03:16 PAGE 5   

 242   1          i=TIME;
 243   1          while(--i);
 244   1      
 245   1          A0=0;
 246   1          RW=0;
 247   1          E2=1;
 248   1          DATA=nCommand;
 249   1          i=TIME;
 250   1          while(--i);
 251   1          E2=0;
 252   1          i=TIME;
 253   1          while(--i);
 254   1      }
 255          
 256          void LCD_SetRam(bit bChip2,unsigned char ndata)
 257          {
 258   1          unsigned char i;
 259   1          A0=1;
 260   1          RW=0;
 261   1          if(!bChip2)
 262   1          {
 263   2          E1=1;
 264   2          DATA=ndata;
 265   2          i=TIME;
 266   2          while(--i);
 267   2          E1=0;
 268   2          i=TIME;
 269   2          while(--i);
 270   2          }
 271   1          else
 272   1          {
 273   2          E2=1;
 274   2          DATA=ndata;
 275   2          i=TIME;
 276   2          while(--i);
 277   2          E2=0;
 278   2          i=TIME;
 279   2          while(--i);
 280   2          }
 281   1      }
 282          
 283          void LCD_Write(unsigned char npage,unsigned char ncolumn,unsigned char ndata)
 284          {
 285   1          LCD_SetPage(npage%4);
 286   1          LCD_SetColumn(ncolumn);
 287   1          LCD_SetRam(npage>3,ndata);
 288   1          
 289   1      }
 290          
 291          void LCD_PageWrite(unsigned char npage,unsigned char idata *ndata)
 292          {
 293   1          unsigned char i;
 294   1          bit bChip2=npage>3;
 295   1          LCD_SetPage(npage%4);
 296   1          LCD_SetColumn(0);
 297   1          for(i=0;i<61;i++)
 298   1              LCD_SetRam(bChip2,ndata[i]);
 299   1      }
 300          
 301          void LCD_Init()
 302          {
 303   1          LCD_Command(LCD_RESET);
C51 COMPILER V8.08   SED                                                                   08/19/2008 15:03:16 PAGE 6   

 304   1          LCD_Command(0xa0);
 305   1          LCD_Command(LCD_DUTY32);
 306   1          LCD_Command(0xa4);
 307   1      }
 308          
 309          
 310          unsigned char *GetTextFont(unsigned char index)
 311          {
 312   1          static unsigned char Font[6];
 313   1          unsigned char i;
 314   1          for(i=0;i<6;i++)
 315   1              Font[i]=ASCII[index][i];
 316   1          return Font;
 317   1      }
 318          
 319          /*
 320          x:0~19
 321          y:0~3
 322          */
 323          void LCD_TextOut(unsigned char x,unsigned char y,unsigned char *szText)
 324          {
 325   1          unsigned char i;
 326   1          bit bChip2;
 327   1          x%=20;
 328   1          y%=4;
 329   1          if(x>=10)
 330   1          {
 331   2          x-=10;
 332   2          y+=4;
 333   2          }
 334   1          bChip2=y>3;
 335   1          LCD_SetPage(y%4);
 336   1          LCD_SetColumn(x*6);
 337   1          for(i=0;i<6;i++) LCD_SetRam(bChip2,szText[i]);
 338   1      }
 339          
 340          
 341          unsigned char GetIndex(unsigned char szText)
 342          {
 343   1          unsigned char code TAB[]={' ',
 344   1                              
 345   1            'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q'
 346   1      ,'R','S','T','U','V','W','X','Y','Z',
 347   1                              
 348   1            'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q'
 349   1      ,'r','s','t','u','v','w','x','y','z',
 350   1                              
 351   1            '`','1','2','3','4','5','6','7','8','9','0','-','=','\\',
 352   1                              
 353   1            '~','!','@','#','$','%','^','&','*','(',')','_','+','|',
 354   1                              
 355   1            '[',']',';','\'',',','.','/',
 356   1                              
 357   1            '{','}',':','"','<','>','?'
 358   1                                   
 359   1          };
 360   1          unsigned char i;
 361   1          for(i=0;i<sizeof(TAB);i++)
 362   1              if(szText==TAB[i]) return i;
 363   1          return 0x00;
 364   1      }
 365          
C51 COMPILER V8.08   SED                                                                   08/19/2008 15:03:16 PAGE 7   

 366          void Printf(unsigned char x,unsigned char y,unsigned char *szText)
 367          {
 368   1          unsigned char *Text;
 369   1          while(*szText)
 370   1          {
 371   2              Text=GetTextFont(GetIndex(*szText));
 372   2              LCD_TextOut(x++,y,Text);
 373   2              if(x==20) break;
 374   2              szText++;
 375   2          }
 376   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    383    ----
   CONSTANT SIZE    =    665    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       9
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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