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

📄 liquid_crystal.lst

📁 用Proteus 7.2 仿真的51单片机128x64液晶滚屏显示
💻 LST
📖 第 1 页 / 共 2 页
字号:
 226          
 227          写数据左
 228          
 229          ***********************/
 230          void write_data_1(unsigned char dis_data)
 231          {
 232   1              busy_check_1();
 233   1              write_data_addr_1=dis_data;
 234   1      }
 235          /***********************
 236          
 237          写数据右
 238          
 239          ***********************/
 240          void write_data_2(unsigned char dis_data)
 241          {
C51 COMPILER V7.08   LIQUID_CRYSTAL                                                        04/23/2007 04:51:08 PAGE 5   

 242   1              busy_check_2();
 243   1              write_data_addr_2=dis_data;
 244   1      }
 245          /***********************
 246          
 247          清内存左
 248          
 249          ***********************/
 250          void clear_1(void)
 251          {
 252   1              unsigned char i;
 253   1              unsigned char k;
 254   1              write_cmd_1(Page_Add+0);
 255   1              write_cmd_1(Col_Add+0);
 256   1              for(i=0;i<8;i++)
 257   1              {
 258   2                       write_cmd_1(Page_Add+i);
 259   2                       for(k=0;k<64;k++)
 260   2                              //write_data_1(0x00);
 261   2                              qingping_disp1(i,k,qingping);
 262   2                      
 263   2              }
 264   1      }
 265          /***********************
 266          
 267          清内存右
 268          
 269          ***********************/
 270          void clear_2(void)
 271          {
 272   1              unsigned char i;
 273   1              unsigned char k;
 274   1              write_cmd_2(Page_Add+0);
 275   1              write_cmd_2(Col_Add+0);
 276   1              for(i=0;i<8;i++)
 277   1              {
 278   2                       write_cmd_2(Page_Add+i);
 279   2                       for(k=0;k<64;k++)
 280   2                              //write_data_2(0x00);
 281   2                              qingping_disp2(i,k,qingping);
 282   2                       
 283   2              }
 284   1      }
 285          /***********************
 286          
 287          显示汉字16*16左
 288          
 289          ************************/
 290          void Chinese_disp_1(unsigned char pag,unsigned char col,unsigned char n)
 291          {
 292   1              unsigned char i=0;
 293   1              unsigned char j=0;
 294   1              for(i=0;i<2;i++)
 295   1              {       
 296   2                      write_cmd_1(Page_Add+pag+i);
 297   2                      write_cmd_1(Col_Add+col);
 298   2                      for(j=0;j<16;j++)
 299   2                              write_data_1(Chinese_character[n][16*i+j]);
 300   2              
 301   2              }
 302   1      
 303   1      }
C51 COMPILER V7.08   LIQUID_CRYSTAL                                                        04/23/2007 04:51:08 PAGE 6   

 304          /***********************
 305          
 306          显示汉字16*16右
 307          
 308          ***********************/
 309          void Chinese_disp_2(unsigned char pag,unsigned char col,unsigned char n)
 310          {
 311   1              unsigned char i=0;
 312   1              unsigned char j=0;
 313   1              for(i=0;i<2;i++)
 314   1              {       
 315   2                      write_cmd_2(Page_Add+pag+i);
 316   2                      write_cmd_2(Col_Add+col);
 317   2                      for(j=0;j<16;j++)
 318   2                              write_data_2(Chinese_character[n][16*i+j]);
 319   2                      
 320   2              }
 321   1      
 322   1      }
 323          /***********************
 324          
 325          显示叹号'!'     
 326          
 327          ***********************/
 328          void tanhao_disp(unsigned char pag,unsigned char col,unsigned char *chinese2)
 329          {
 330   1              unsigned char i=0;
 331   1              unsigned char j=0;
 332   1              for(i=0;i<2;i++)
 333   1              {       
 334   2                      write_cmd_2(Page_Add+pag+i);
 335   2                      write_cmd_2(Col_Add+col);
 336   2                      for(j=0;j<8;j++)
 337   2                              write_data_2(chinese2[8*i+j]);
 338   2                      
 339   2              }
 340   1      
 341   1      }
 342          /***********************
 343          
 344          清屏左  
 345          
 346          ***********************/
 347          void qingping_disp1(unsigned char pag,unsigned char col,unsigned char *chinese2)
 348          {
 349   1              unsigned char i=0;
 350   1              unsigned char j=0;
 351   1              for(i=0;i<2;i++)
 352   1              {       
 353   2                      write_cmd_1(Page_Add+pag+i);
 354   2                      write_cmd_1(Col_Add+col);
 355   2                      for(j=0;j<8;j++)
 356   2                              write_data_1(chinese2[8*i+j]);
 357   2                      
 358   2              }
 359   1      
 360   1      }
 361          /***********************
 362          
 363          清屏右  
 364          
 365          ***********************/
C51 COMPILER V7.08   LIQUID_CRYSTAL                                                        04/23/2007 04:51:08 PAGE 7   

 366          void qingping_disp2(unsigned char pag,unsigned char col,unsigned char *chinese2)
 367          {
 368   1              unsigned char i=0;
 369   1              unsigned char j=0;
 370   1              for(i=0;i<2;i++)
 371   1              {       
 372   2                      write_cmd_2(Page_Add+pag+i);
 373   2                      write_cmd_2(Col_Add+col);
 374   2                      for(j=0;j<8;j++)
 375   2                              write_data_2(chinese2[8*i+j]);
 376   2                      
 377   2              }
 378   1      
 379   1      }
 380          /***********************
 381          
 382          延时子程序      
 383          
 384          ***********************/
 385          void delay(unsigned int k)
 386          {
 387   1              unsigned int i;
 388   1              unsigned int j;
 389   1              for(i=0;i<k;i++)
 390   1              for(j=0;j<20;j++);
 391   1      }
 392          
 393          /***********************
 394          
 395          LCD显示子程序
 396          
 397          ***********************/
 398          void display(void)
 399          {          
 400   1              unsigned char i;
 401   1              for(i=Start_line;i<0xff;i++)
 402   1              {       
 403   2                      Chinese_disp_1(0,16,0);
 404   2                      Chinese_disp_1(0,32,1);
 405   2                      Chinese_disp_1(0,48,2);
 406   2                      Chinese_disp_2(0,0,3);
 407   2                      Chinese_disp_2(0,16,4);
 408   2                      Chinese_disp_2(0,32,5);
 409   2                      Chinese_disp_1(2,32,6);
 410   2                      Chinese_disp_1(2,48,7);
 411   2                      Chinese_disp_2(2,0,8);
 412   2                      Chinese_disp_2(2,16,9);
 413   2                      Chinese_disp_2(2,32,10);
 414   2                      Chinese_disp_1(4,48,11);
 415   2                      Chinese_disp_2(4,0,12);
 416   2                      Chinese_disp_2(4,16,13);
 417   2                      Chinese_disp_1(6,32,14);
 418   2                      Chinese_disp_1(6,48,15);
 419   2                      Chinese_disp_2(6,0,16);
 420   2                      Chinese_disp_2(6,16,17);
 421   2                      tanhao_disp(6,32,tanhao);
 422   2                      write_cmd_1(i);
 423   2                      write_cmd_2(i);
 424   2                      delay(3000);
 425   2              
 426   2              }
 427   1              delay(60000);
C51 COMPILER V7.08   LIQUID_CRYSTAL                                                        04/23/2007 04:51:08 PAGE 8   

 428   1                      
 429   1      
 430   1      }
 431          /***********主程序************/
 432          void main(void)
 433          {
 434   1              clear_1();
 435   1              clear_2();
 436   1              while(1)
 437   1              {
 438   2                      _nop_();
 439   2                      display();
 440   2              }
 441   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    746    ----
   CONSTANT SIZE    =    576    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     32      23
   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 + -