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

📄 sed1520.lst

📁 单片机51系列的122*32的某液晶驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 204   1                  {  Key=0x20; delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10); 
 205   2              if( (Key=prekey)&&(Key=prekey1) ){while(P2_3==0);} count=0; return Key&0xf0;}
 206   1                  else if(P2_2==0)
 207   1                  {  Key=0x10;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
 208   2                      if( (Key=prekey)&&(Key=prekey1) ){while(P2_2==0); }count=0;  return Key&0xf0;}
 209   1                  else if(P2_1==0)
 210   1                  {  Key=0x40;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
 211   2                      if( (Key=prekey)&&(Key=prekey1) ){while(P2_1==0);} count=0;  return Key&0xf0;}
 212   1             
 213   1                      
 214   1        P2_6=0; 
 215   1        P2_5=1;
 216   1       
 217   1              if( P2_4== 0 )
 218   1                  { Key=0x60;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
 219   2                      if( (Key=prekey)&&(Key=prekey1) ){ while(P2_4==0); }count=0; return Key&0xf0;}
 220   1                  else if (P2_3== 0 )
 221   1                  { Key=0x70;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
 222   2                      if( (Key=prekey)&&(Key=prekey1) ){while(P2_3==0);  } count=0;return Key&0xf0;}
 223   1                  else if (P2_2== 0 )
 224   1                  { Key=0x080;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
 225   2                      if( (Key=prekey)&&(Key=prekey1) ){while(P2_2==0); } count=0;return Key&0xf0;}
 226   1                  else if (P2_1== 0 )
 227   1                  { Key=0x40; delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
 228   2                      if( (Key=prekey)&&(Key=prekey1) ){while(P2_1==0);}  count=0;return Key&0xf0;}
 229   1            
 230   1               else {return 0;}
 231   1      
 232   1      }
 233          
 234          LCDWriteCom1(unsigned char com)
 235          {
 236   1              bit flag;
 237   1              A0  =  0;
 238   1              RW=1;
 239   1              do{
 240   2              
 241   2                      P0=0xff;
C51 COMPILER V7.07   SED1520                                                               04/09/2004 23:25:03 PAGE 5   

 242   2                      CS1=0;
 243   2                      flag=P0_7;
 244   2                      CS1=1;                                                                          
 245   2      
 246   2              }while(flag);
 247   1              RW=0;
 248   1              P0=com;
 249   1              CS1=0;
 250   1              CS1=1;
 251   1      }
 252          //向主LCD写数据 /
 253          LCDWriteDat1(unsigned char dat)
 254          {
 255   1              bit flag;
 256   1              A0  =  0;
 257   1              RW=1;
 258   1              do{
 259   2              
 260   2                      P0=0xff;
 261   2                      CS1=0;
 262   2                      flag=P0_7;
 263   2                      CS1=1;                                                                          
 264   2      
 265   2              }while(flag);           
 266   1              A0=1;
 267   1              RW=0;
 268   1              P0=dat;
 269   1              CS1=0;
 270   1              CS1=1;
 271   1      }
 272          unsigned char LCDReadDat1()
 273          {
 274   1              bit flag;
 275   1              long i; 
 276   1              unsigned char dat;
 277   1              A0  =  0;
 278   1              RW=1;
 279   1              do{
 280   2              
 281   2                      P0=0xff;
 282   2                      CS1=0;
 283   2                      flag=P0_7;              
 284   2                      CS1=1;                                                                          
 285   2                      i++;
 286   2              }while(flag);
 287   1              CS1=0;
 288   1              A0=1;
 289   1              RW=1;
 290   1              dat=P0;
 291   1              CS1=1;
 292   1      
 293   1              RW=0;
 294   1              P0=0xff;
 295   1              RW=1;
 296   1              CS1=0;
 297   1              dat=P0;
 298   1              CS1=1;
 299   1              return dat;
 300   1      
 301   1      }
 302          //向从LCD写命令 
 303          LCDWriteCom2(unsigned char com)
C51 COMPILER V7.07   SED1520                                                               04/09/2004 23:25:03 PAGE 6   

 304          {
 305   1              bit flag;
 306   1              A0  =  0;
 307   1              RW=1;
 308   1              do{
 309   2              
 310   2                      P0=0xff;
 311   2                      CS2=0;
 312   2                      flag=P0_7;
 313   2                      CS2=1;                                                                          
 314   2      
 315   2              }while(flag);
 316   1              RW=0;
 317   1              P0=com;
 318   1              CS2=0;
 319   1              CS2=1;
 320   1      }
 321          //向从LCD写数据 
 322          LCDWriteDat2(unsigned char dat)
 323          {
 324   1              bit flag;
 325   1              A0  =  0;
 326   1              RW=1;
 327   1              do{
 328   2              
 329   2                      P0=0xff;
 330   2                      CS2=0;
 331   2                      flag=P0_7;
 332   2                      CS2=1;                                                                          
 333   2      
 334   2              }while(flag);           
 335   1              A0=1;
 336   1              RW=0;
 337   1              P0=dat;
 338   1              CS2=0;
 339   1              CS2=1;
 340   1      }
 341          unsigned char LCDReadDat2()
 342          {
 343   1              bit flag;
 344   1              long i;
 345   1              unsigned char dat;
 346   1              A0  =  0;
 347   1              RW=1;
 348   1              do{
 349   2              
 350   2                      P0=0xff;
 351   2                      CS2=0;
 352   2                      flag=P0_7;
 353   2                      CS2=1;                                                                          
 354   2              i++;
 355   2              }while(flag);           
 356   1              CS2 = 0;
 357   1              A0=1;
 358   1              RW=1;
 359   1              dat=P0;
 360   1              CS2 = 1;
 361   1      
 362   1              RW=0;
 363   1              P0=0xff;
 364   1              RW=1;
 365   1              CS2 = 0;
C51 COMPILER V7.07   SED1520                                                               04/09/2004 23:25:03 PAGE 7   

 366   1              dat=P0;
 367   1              CS2=1;
 368   1              return dat;
 369   1      
 370   1      }
 371          
 372          //初始化LCD
 373          
 374          void LCD_Init()
 375          {
 376   1              LCDWriteCom1(0xe2);
 377   1              LCDWriteCom2(0xe2);
 378   1              LCDWriteCom1(0xa4);
 379   1              LCDWriteCom2(0xa4);     
 380   1              LCDWriteCom1(0xa9);
 381   1              LCDWriteCom2(0xa9);     
 382   1              LCDWriteCom1(0xa0);
 383   1              LCDWriteCom2(0xa0);     
 384   1              LCDWriteCom1(0xc0);
 385   1              LCDWriteCom2(0xc0);
 386   1              LCDWriteCom1(0xaf);
 387   1              LCDWriteCom2(0xaf);
 388   1              
 389   1      
 390   1      }
 391          void LCDClear()
 392          {
 393   1              unsigned char i,j;
 394   1              for(i=0;i<4;i++)
 395   1              {
 396   2                      LCDWriteCom1(0xb8|i);
 397   2                      LCDWriteCom2(0xb8|i);
 398   2                      LCDWriteCom1(0);
 399   2                      LCDWriteCom2(0);
 400   2                      for(j=0;j<80;j++)
 401   2                              {
 402   3                                      LCDWriteDat1(0x0);
 403   3                                      LCDWriteDat2(0x0);
 404   3      
 405   3                              }                               
 406   2                                              
 407   2              }
 408   1      
 409   1      }
 410          
 411          
 412          //在x,y点显示一个点
 413          void LCDDrawPoint(unsigned char x,unsigned char y )   
 414          {
 415   1              unsigned char dat,temp;

⌨️ 快捷键说明

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