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

📄 main.lst

📁 在单片机控制的液晶屏上显示汉字
💻 LST
📖 第 1 页 / 共 2 页
字号:
 218          ************************************************************************************/
 219          void Draw_line(void)
 220          {       unsigned char x;
 221   1              unsigned char y;
 222   1              dis_clr();
 223   1              x=0;
 224   1              y=0;
 225   1              while(1)
 226   1              {
 227   2                      Delay_ms(200);
 228   2                      dis_clr();
 229   2                      LCD_Draw_line(0,0,x,y,1);
 230   2                      y+=3;
 231   2                      if(y<63)
 232   2                      {       
 233   3                              x=127;
 234   3                      }
 235   2                      if(y>63)
 236   2                      {       
 237   3                              y=63;
 238   3                              x-=6;
 239   3                              if(x<=5)
 240   3                              {
 241   4                                      y=0;
C51 COMPILER V7.02b   MAIN                                                                 04/27/2007 09:49:02 PAGE 5   

 242   4                                      x=127;
 243   4                                      dis_clr();
 244   4                              }
 245   3                      }
 246   2                      key=GetKey();
 247   2                      if((key!=0xff)&&(key!=0x0b))
 248   2                              return;
 249   2              }
 250   1      
 251   1      }
 252          /***********************************************************************************
 253          * 函数名称:Draw_Rectangle;
 254          *
 255          * 函数功能描述:画矩形;
 256          *              
 257          * 输入参数:none;
 258          *
 259          * 返回数据:none;
 260          *
 261          * 注意:    none;
 262          ************************************************************************************/
 263          void Draw_Rectangle(void)
 264          {       
 265   1              unsigned char x;
 266   1              unsigned char y;
 267   1              dis_clr();
 268   1              x=0;
 269   1              y=0;
 270   1              while(1)
 271   1              {
 272   2                      Delay_ms(200);
 273   2                      LCD_Draw_Rectangle(63-x,31-y,63+x,31+y,1);
 274   2                      x+=4;
 275   2                      y+=2;
 276   2                      if(x>64)
 277   2                      {       
 278   3                              x=0;
 279   3                              dis_clr();
 280   3                      }
 281   2                      if(y>32)
 282   2                      {       
 283   3                              dis_clr();
 284   3                              y=0;
 285   3                      }
 286   2                      key=GetKey();
 287   2                      if((key!=0xff)&&(key!=0x0c))
 288   2                              return;
 289   2              }
 290   1      
 291   1      }
 292          /***********************************************************************************
 293          * 函数名称:Draw_FillRectangle;
 294          *
 295          * 函数功能描述:画实心矩形;
 296          *              
 297          * 输入参数:none;
 298          *
 299          * 返回数据:none;
 300          *
 301          * 注意:    none;
 302          ************************************************************************************/
 303          void Draw_FillRectangle(void)
C51 COMPILER V7.02b   MAIN                                                                 04/27/2007 09:49:02 PAGE 6   

 304          {       unsigned char x;
 305   1              unsigned char y;
 306   1              dis_clr();
 307   1              x=0;
 308   1              y=0;
 309   1              while(1)
 310   1              {
 311   2                      Delay_ms(200);
 312   2                      dis_clr();
 313   2                      LCD_Draw_FillRectangle(63-x,31-y,63+x,31+y,1);
 314   2                      x+=4;
 315   2                      y+=2;
 316   2                      if(x>64)
 317   2                      {       
 318   3                              x=0;
 319   3                              dis_clr();
 320   3                      }
 321   2                      if(y>32)
 322   2                      {       
 323   3                              dis_clr();
 324   3                              y=0;
 325   3                      }
 326   2                      key=GetKey();
 327   2                      if((key!=0xff)&&(key!=0x0d))
 328   2                              return;
 329   2              }
 330   1      
 331   1      }
 332          /***********************************************************************************
 333          * 函数名称:Draw_circle;
 334          *
 335          * 函数功能描述:画同心圆;
 336          *              
 337          * 输入参数:none;
 338          *
 339          * 返回数据:none;
 340          *
 341          * 注意:    none;
 342          ************************************************************************************/
 343          void Draw_circle(void)
 344          {       
 345   1              unsigned char x;
 346   1              dis_clr();
 347   1              x=0;
 348   1              while(1)
 349   1              {
 350   2                      Delay_ms(200);
 351   2                      LCD_Draw_circle(63,31,x,1);
 352   2                      x+=3;
 353   2                      if(x>32)
 354   2                      {       
 355   3                              x=0;
 356   3                              dis_clr();
 357   3                      }
 358   2                      key=GetKey();
 359   2                      if((key!=0xff)&&(key!=0x0e))
 360   2                              return;
 361   2              }
 362   1      
 363   1      }
 364          
 365          
C51 COMPILER V7.02b   MAIN                                                                 04/27/2007 09:49:02 PAGE 7   

 366          /************************************************************************************
 367          //  主循环程序
 368          *************************************************************************************/
 369          
 370          void main(void)
 371          {
 372   1          //禁止看门狗定时器
 373   1              WDTCN = 0xde;                       
 374   1              WDTCN = 0xad;
 375   1              //初始化
 376   1              SYSCLK_Init ();                     
 377   1              PORT_Init (); 
 378   1                            
 379   1              Key_Init();
 380   1              lcd_init();
 381   1      
 382   1              dis_full();
 383   1              Delay_ms(500);
 384   1              dis_clr();
 385   1              Delay_ms(500);
 386   1              dis_start0();
 387   1      
 388   1              while(1)
 389   1          {
 390   2                      key=GetKey();   //调用键盘扫描函数,返回的键值送变量key
 391   2                      if(key!=0xFF)
 392   2                      {
 393   3                              Alarm(1);               //响铃
 394   3                              Delay_ms(250);
 395   3                              Alarm(0);               //关闭铃声
 396   3                              switch (key)
 397   3                              {
 398   4                                      case 0x0a:
 399   4                                              Draw_dot();
 400   4                                              break;
 401   4                                      case 0x0b:              
 402   4                                              Draw_line();
 403   4                                              break;
 404   4                                      case 0x0c:              
 405   4                                              Draw_Rectangle();
 406   4                                              break;
 407   4                                      case 0x0d:              
 408   4                                              Draw_FillRectangle();
 409   4                                              break;
 410   4                                      case 0x0e:              
 411   4                                              Draw_circle();
 412   4                                              break;
 413   4                                      case 0x0f:              
 414   4                                              dis_clr();
 415   4                                              dis_start0();
 416   4                                              break;
 417   4                                      default: break;
 418   4                              }
 419   3                      }
 420   2              Delay_ms(20);
 421   2              }
 422   1      }
 423          
 424          /***********************************************************************************/
 425          // 文件结束
 426          /***********************************************************************************/

C51 COMPILER V7.02b   MAIN                                                                 04/27/2007 09:49:02 PAGE 8   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    814    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      1       9
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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