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

📄 quan.lst

📁 用单片机做的数字电子钟
💻 LST
📖 第 1 页 / 共 5 页
字号:
 434   2              }                                                       //i 从0加到125,CPU大概就耗时1毫秒
 435   1      }
 436          /*-------------------------写命令到LCD------------------------------*/
 437          void write_command(unsigned char cmdcode)
 438           {
 439   1        RS = 0;
 440   1        RW = 0;
 441   1        P0 = cmdcode;
 442   1        delay(0);
 443   1        E = 1;
 444   1        delay(0);
 445   1        E = 0;
 446   1       }
 447          
 448          /*-------------------------写数据到LCD----------------------------*/
 449          
 450          void write_data(unsigned char Dispdata)
 451           {
 452   1        RS = 1;
 453   1        RW = 0;
 454   1        P0 = Dispdata;
 455   1        delay(0);
 456   1        E = 1;
 457   1        delay(0);
 458   1        E = 0;
 459   1       }
 460          
 461          /*------------------------清显示屏--------------------------------*/
 462          void Clr_Scr()
 463           {
 464   1        unsigned char j,k;
 465   1        CS2=0;CS1=1;             // 清左半屏 //
 466   1         {  
 467   2          for(k=0;k<8;k++)
 468   2          {
 469   3               write_command(Page_Add+k);
 470   3           write_command(Col_Add+0);
 471   3           for(j=0;j<64;j++)
 472   3               write_data(0x00);
 473   3           }                       
 474   2         }
 475   1        CS2=1;CS1=0;                   
 476   1         { 
 477   2         for(k=0;k<8;k++)               
 478   2           {
 479   3            write_command(Page_Add+k);
 480   3            write_command(Col_Add+0);     
 481   3            for(j=0;j<64;j++)
 482   3                write_data(0x00);
 483   3           }    
 484   2         }
 485   1       }
 486          
 487          /*------------------显示12864图片---------------------------*/
 488          void Disp_Img(unsigned char code *img)
 489           {
C51 COMPILER V8.02   QUAN                                                                  07/29/2008 20:35:20 PAGE 9   

 490   1        unsigned char j,k;
 491   1        for(k=0;k<8;k++)
 492   1         {
 493   2          CS2=0;
 494   2              CS1=1;
 495   2          write_command(Page_Add+k);
 496   2          write_command(Col_Add+0);
 497   2          for(j=0;j<64;j++) 
 498   2               write_data(img[k*128+j]);
 499   2          CS2=1;
 500   2              CS1=0;
 501   2          write_command(Page_Add+k);
 502   2          write_command(Col_Add+0);
 503   2          for(j=64;j<128;j++) 
 504   2               write_data(img[k*128+j]);
 505   2         }
 506   1       }
 507          
 508          /*---------------------指定位置显示数字8*16-----------------------*/
 509          
 510          void sz_disp16(unsigned char pag,unsigned char col, unsigned char code *szk)
 511           {
 512   1        unsigned char j=0,i=0;
 513   1        for(j=0;j<2;j++)
 514   1         {
 515   2          write_command(Page_Add+pag+j);
 516   2          write_command(Col_Add+col);
 517   2          for(i=0;i<8;i++) 
 518   2               write_data(szk[8*j+i]);
 519   2         }
 520   1       }
 521          
 522          /*---------------------指定位置显示汉字16*16-----------------------*/
 523          void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
 524           {
 525   1        unsigned char j=0,i=0;
 526   1        for(j=0;j<2;j++)
 527   1         {
 528   2          write_command(Page_Add+pag+j);
 529   2          write_command(Col_Add+col);
 530   2          for(i=0;i<16;i++) 
 531   2               write_data(hzk[16*j+i]);
 532   2         }
 533   1       }
 534          
 535          /*---------------------指定位置显示汉字32*32-----------------------*/
 536          void hz_disp32(unsigned char pag,unsigned char col, unsigned char code *hzk)
 537           {
 538   1        unsigned char j=0,i=0;
 539   1        for(j=0;j<4;j++)
 540   1         {
 541   2          write_command(Page_Add+pag+j);
 542   2          write_command(Col_Add+col);
 543   2          for(i=0;i<32;i++) 
 544   2               write_data(hzk[32*j+i]);
 545   2         }
 546   1       }
 547          
 548           /*------------------BIRTHDAY----------------------------*/
 549           void dis_bir(unsigned char code *bir)
 550           {
 551   1         unsigned char i,j;
C51 COMPILER V8.02   QUAN                                                                  07/29/2008 20:35:20 PAGE 10  

 552   1         CS1=1;
 553   1         CS2=0;    
 554   1         for(j=0;j<2;j++)
 555   1         {
 556   2           write_command(Page_Add+6+j);
 557   2           write_command(Col_Add);
 558   2           for(i=0;i<64;i++) 
 559   2               write_data(bir[64*j+i]);
 560   2              }
 561   1      }
 562          /*------------------PRESENT----------------------------*/
 563           void dis_pre(unsigned char code *pre)
 564           {
 565   1         unsigned char i,j;
 566   1          CS1=0;
 567   1          CS2=1;
 568   1          sz_disp16(6,0,kongbai1);
 569   1         for(j=0;j<2;j++)
 570   1         {
 571   2           write_command(Page_Add+6+j);
 572   2           write_command(Col_Add+8);
 573   2           for(i=0;i<56;i++) 
 574   2               write_data(pre[56*j+i]);
 575   2              }
 576   1      }
 577          
 578          /*------------------节日和纪念日提醒--------------------------*/
 579          void days(void)
 580          {
 581   1        unsigned char flag;
 582   1        if((month==0x01)&(date==0x01))
 583   1        {
 584   2           flag=0;
 585   2           CS1=1;CS2=0;
 586   2           hz_disp16(6,0,kongbai2);
 587   2               hz_disp16(6,16,kongbai2);
 588   2               hz_disp16(6,32,xin);                   // 新 
 589   2               hz_disp16(6,48,nian);                      // 年
 590   2               CS1=0;CS2=1;
 591   2               hz_disp16(6,0,hao);                        // 好
 592   2               hz_disp16(6,16,kongbai2);
 593   2               hz_disp16(6,32,kongbai2);
 594   2               hz_disp16(6,48,kongbai2);
 595   2         }
 596   1         
 597   1        else if((month==0x02)&(date==0x14))
 598   1         {
 599   2           CS1=1;CS2=0;
 600   2               hz_disp16(6,0,kongbai2);
 601   2               hz_disp16(6,16,jin);                        //今
 602   2               hz_disp16(6,32,tian);               //天
 603   2               hz_disp16(6,48,shi1);                           //是
 604   2               CS1=0;CS2=1;
 605   2               hz_disp16(6,0,qing);                            //情
 606   2               hz_disp16(6,16,ren);                            //人
 607   2               hz_disp16(6,32,jie);                            //节
 608   2               hz_disp16(6,48,kongbai2);
 609   2          }
 610   1              else if((month==0x03)&(date==0x01))
 611   1         {
 612   2           CS1=1;CS2=0;
 613   2               hz_disp16(6,0,kongbai2);
C51 COMPILER V8.02   QUAN                                                                  07/29/2008 20:35:20 PAGE 11  

 614   2               hz_disp16(6,16,jin);                        //今
 615   2               hz_disp16(6,32,tian);               //天
 616   2               hz_disp16(6,48,shi1);                           //是
 617   2               CS1=0;CS2=1;
 618   2               sz_disp16(6,0,point);                           //.
 619   2               sz_disp16(6,8,point);                           //.
 620   2               sz_disp16(6,16,point);                          //.
 621   2               sz_disp16(6,24,kongbai1);
 622   2               hz_disp16(6,32,kongbai2);
 623   2               hz_disp16(6,48,kongbai2);
 624   2          }
 625   1              else if((month==0x05)&(date==0x05))
 626   1              {
 627   2               CS1=1;CS2=0;
 628   2               hz_disp16(6,0,kongbai2);
 629   2               hz_disp16(6,16,wo);                         //我
 630   2               hz_disp16(6,32,men);                //们
 631   2               hz_disp16(6,48,de);                             //的
 632   2               CS1=0;CS2=1;
 633   2               hz_disp16(6,0,ji);                                  //纪
 634   2               hz_disp16(6,16,nian1);                          //念
 635   2               hz_disp16(6,32,xq7);                            //日
 636   2               hz_disp16(6,48,kongbai2);
 637   2              }
 638   1              else if((month==0x09)&(date==0x13))
 639   1              {
 640   2                CS1=1;CS2=0;
 641   2               hz_disp16(6,0,kongbai2);
 642   2               hz_disp16(6,16,jin);                        //今
 643   2               hz_disp16(6,32,tian);               //天
 644   2               hz_disp16(6,48,shi1);                           //是
 645   2               CS1=0;CS2=1;
 646   2               hz_disp16(6,0,ni);                                  //你
 647   2               hz_disp16(6,16,shen);                           //生
 648   2               hz_disp16(6,32,xq7);                            //日
 649   2               hz_disp16(6,48,kongbai2);
 650   2          }
 651   1        else
 652   1              {
 653   2                dis_bir(birthday);
 654   2                dis_pre(present);
 655   2               }

⌨️ 快捷键说明

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