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

📄 165lcd.lst

📁 51单片机控制LCD 按键 已经在Proteus下仿真通过
💻 LST
📖 第 1 页 / 共 2 页
字号:
 171                                  GotoXY(9,0);
 172                                  Print(&TempBuffer[0]);
 173                                  Delay1ms(700);
 174                          }
 175                          if((a[4]==0)&&(f<256))
 176                          {       IntToStr(f--,&TempBuffer[0],3);
 177                                  GotoXY(9,0);
 178                                  Print(&TempBuffer[0]);
 179                                  Delay1ms(700);
C51 COMPILER V8.01   165LCD                                                                10/19/2006 11:02:45 PAGE 4   

 180                          }
 181                          if(a[8]==0)
 182                          {  LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);//复位 幅度字全部清零
 183                             Delay1ms(7000);
 184                             f=0;p1_5=0;
 185                          }b=f;
 186          }
 187          //波形选择控制
 188          void task4()
 189          {
 190                    jian();       //键盘扫描
 191                LCD_Initial();
 192                    if(a[12]==0)
 193                    { GotoXY(0,0);
 194                          Print("zhengxian");
 195                          zhengxian_flag=1;
 196                    }
 197                if(a[13]==0)
 198                    { GotoXY(0,0);
 199                          Print("sanjianbo");
 200                          sanjiao_flag=1;
 201                    }
 202                    if(a[14]==0)
 203                    {
 204                          GotoXY(0,0);
 205                          Print("fangbo   ");
 206                          fan_flag=1;
 207                    }
 208                    if(a[15]==0)
 209                    { 
 210                          GotoXY(0,0);
 211                          Print("renyibo   ");
 212                          any_flag=1;
 213                    }
 214          }
 215          
 216          void keytask1()
 217          {       //      P2_7=0;
 218                          p1_0=1;
 219                          p1_5=0;
 220                          p1_5=1;
 221                          p1_4=0;
 222                          
 223                          for(t=0;t<8;t++)
 224                          {       
 225                                  if(n&0x01==1) 
 226                                  {       p1_4=0;
 227                                          p1_1=1;
 228                                          Delay1ms(800);
 229                                          p1_4=1;
 230                                  }
 231                                  else 
 232                                  {       p1_4=0;
 233                                          p1_1=0;Delay1ms(800);
 234                                          p1_4=1;
 235                                  }
 236                                  n=n>>1;
 237                          }
 238                          n=n<<8;
 239          }
 240          void keytask2()
 241          {       //      P2_7=0;
C51 COMPILER V8.01   165LCD                                                                10/19/2006 11:02:45 PAGE 5   

 242                          p1_0=1;
 243                          p1_5=0;
 244                          p1_5=1;
 245                          p1_4=0;
 246          
 247                          for(t=0;t<8;t++)
 248                          {       
 249                                  if(m&0x01==1) 
 250                                  {       p1_4=0;
 251                                          p1_2=1;
 252                                          Delay1ms(800);
 253                                          p1_4=1;
 254                                  }
 255                                  else 
 256                                  {       p1_4=0;
 257                                          p1_2=0;Delay1ms(800);
 258                                          p1_4=1;
 259                                  }
 260                                  m=m>>1;
 261                          }               
 262                          m=m<<8;
 263          }
 264          void keytask3()
 265          {       //      P2_7=0;
 266                          p1_0=1;
 267                          p1_5=0;
 268                          p1_5=1;
 269                          p1_4=0;
 270          
 271                          for(t=0;t<8;t++)
 272                          {       
 273                                  if(b&0x01==1) 
 274                                  {       p1_4=0;
 275                                          p1_3=1;
 276                                          Delay1ms(800);
 277                                          p1_4=1;
 278                                  }
 279                                  else 
 280                                  {       p1_4=0;
 281                                          p1_3=0;Delay1ms(800);
 282                                          p1_4=1;
 283                                  }
 284                                  b=b>>1;
 285                          }
 286                          b=b<<8;         
 287                  //      p1_0=0;
 288          }
 289          void IntToStr(unsigned char t, unsigned char *str, unsigned char n) 
 290          {
 291                  unsigned char a[3]; char i, j;                                  
 292                  //a[0]=(t/10000)%10;         //取得整数值到数组                 
 293                  //a[1]=(t/1000)%10;                                             
 294                  a[0]=(t/100)%10;                                        
 295                  a[1]=(t/10)%10;                                         
 296                  a[2]=(t/1)%10;                                          
 297                                                                
 298                  for(i=0; i<3; i++)         //转成ASCII码                
 299                          a[i]=a[i]+'0';                                          
 300                  for(i=0; a[i]=='0' && i<=2; i++);                       
 301                  for(j=3-n; j<i; j++)       //填充空格                   
 302                          { *str=' ';  str++; }                                   
 303                  for(; i<3; i++)                                         
C51 COMPILER V8.01   165LCD                                                                10/19/2006 11:02:45 PAGE 6   

 304                          { *str=a[i]; str++; }  //加入有效的数字                 
 305                  *str='\0'; 
 306          } 
 307          
 308          void Delay1ms(unsigned int count)
 309          {
 310                  unsigned int i,j;
 311                  for(i=0;i<count;i++)
 312                  for(j=0;j<120;j++);
 313          }  */
 314          void pinmo()
 315          {       unsigned int i;
 316   1              for(i=0;i<16;i++)
 317   1              {       LCD_Initial();
 318   2                      GotoXY(i+1,0);
 319   2                      Print("Welcome ^_^");
 320   2                      GotoXY(i+1,1);
 321   2                      Print("Make by 03TE");
 322   2                      GotoXY(i,0);
 323   2                      Print(" ");
 324   2                      GotoXY(i,1);
 325   2                      Print(" ");
 326   2                      Delay1ms(300);
 327   2              }
 328   1      }
 329          
 330          
 331             


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    310    ----
   CONSTANT SIZE    =     27    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     55       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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