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

📄 wannianli.lst

📁 万年历,可以在单片机等各种微控制器上显示年月日小时分钟秒,比较准确.可以适当的修改加入你自己的东西
💻 LST
📖 第 1 页 / 共 5 页
字号:
 203          0x1C,0x0E,0x0F,0x07,0x83,0x81,0x00,0x00,0x18,0x0E,0x0F,0x07,0x0C,0x0C,0x10,0x00,
 204          0xEF,0xFF,0x70,0xE0,0xC0,0x00,0x07,0x03,0x00,0x00,0x08,0x3E,0x63,0x41,0x41,0x60,
 205          0x20,0x60,0xC0,0x00,0x00,0x00,0xF8,0xCC,0x04,0x07,0x03,0x00,0x00,0xF0,0xFF,0x01,
 206          0x00,0x31,0xFF,0x80,0xC0,0x7E,0x03,0x01,0x0F,0x0C,0x0C,0xFC,0x7F,0x63,0xE0,0x3E,
 207          0x03,0x03,0x43,0x66,0x46,0x04,0x0C,0x88,0xF8,0x60,0x01,0x83,0xEE,0x38,0x00,0x00,
 208          0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x31,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,
 209          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x3F,0x7C,0xF0,0xE2,0xC2,0xC4,0x84,0x84,
 210          0x84,0x86,0x06,0x06,0x86,0x87,0x83,0x83,0x81,0xC1,0xC1,0xE0,0x60,0x70,0x30,0x18,
 211          0x0C,0x04,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x38,
 212          0x0F,0x01,0x00,0x00,0x01,0x07,0x0E,0x1C,0x38,0x70,0xE0,0x80,0x00,0x00,0x00,0x00,
 213          0x70,0xF0,0x11,0x1F,0x1C,0x00,0x00,0x07,0x1C,0x18,0x08,0x18,0xF0,0x80,0x01,0x07,
 214          0xFC,0x00,0x00,0xFF,0xFF,0x00,0x00,0xE1,0x31,0x21,0x33,0xCF,0x3C,0x27,0x63,0x26,
 215          0x06,0x00,0x60,0x64,0x24,0x64,0xFC,0x1F,0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00,
 216          0x00,0x00,0x3F,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xFF,0x00,0x00,
 217          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,
 218          0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
 219          0x00,0x00,0x30,0x30,0x18,0x18,0x08,0x0C,0x04,0x06,0x03,0x01,0x01,0x00,0x00,0x00,
 220          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,
 221          0x00,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x00,0x00,0x00,
 222          0x01,0x03,0x03,0x01,0x01,0x03,0x03,0x01,0x00,0x00,0x00,0x03,0x03,0x02,0x02,0x02,
 223          0x02,0x02,0x02,0x02,0x02,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 224          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 225          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 226          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 227          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 228          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 229          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 230          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 231          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 232          };
 233          
 234          /******************************************************************************/
 235          void Delay(int num)//延时函数
 236          {
 237   1              while(num--);
 238   1      }
 239          
 240          /******************************************************************************/
 241          void Delay_int(unsigned char t)
 242          {
 243   1              Delaytime = t;
 244   1              while(Delaytime != 0) ;
 245   1      }
 246          
 247          /*12864driver.c*/
 248          /******************************************************************************/
 249          void Delay12864(unsigned int t)//
 250          {
 251   1              unsigned int i,j;
 252   1              for(i=0;i<t;i++)
 253   1              {
 254   2                      for(j=0;j<10;j++);
 255   2              }
 256   1      }
 257          
 258          /******************************************************************************/
 259          void write_com(unsigned char cmdcode)//写命令到LCD
 260          {
 261   1              Di = 0;
 262   1              RW = 0;
 263   1      
 264   1              Lcd_Bus = cmdcode;
C51 COMPILER V7.50   WANNIANLI                                                             05/23/2006 13:38:52 PAGE 6   

 265   1          Delay12864(0);
 266   1              Enable = 1;
 267   1              Delay12864(0);
 268   1              Enable = 0;
 269   1      }
 270          
 271          /******************************************************************************/
 272          void write_data(unsigned char Dispdata)//写数据到LCD
 273          {
 274   1              Di = 1;
 275   1              RW = 0;
 276   1      
 277   1              Lcd_Bus = Dispdata;
 278   1              Delay12864(0);
 279   1              Enable = 1;
 280   1              Delay12864(0);
 281   1              Enable = 0;
 282   1      }
 283          
 284          /*******************************************************************************/
 285          void frame(void)//显示边框
 286          {
 287   1              unsigned char i;
 288   1              Mcs = 1;
 289   1              Scs = 1;
 290   1              write_com(Page_Add+0);
 291   1              write_com(Col_Add+0);
 292   1              for(i=0;i<64;i++) 
 293   1              {
 294   2                      write_data(0x01);
 295   2              }
 296   1              write_com(Page_Add+7);
 297   1              write_com(Col_Add+0);
 298   1              for(i=0;i<64;i++)
 299   1              {
 300   2                      write_data(0x80);
 301   2              }
 302   1              for(i=0;i<8;i++)
 303   1              {
 304   2                      Mcs=0;
 305   2                      Scs=1;
 306   2                      write_com(Page_Add+i);
 307   2                      write_com(Col_Add+63);
 308   2                      write_data(0xff);
 309   2                      Mcs=1;
 310   2                      Scs=0;
 311   2                      write_com(Page_Add+i);
 312   2                      write_com(Col_Add+0);
 313   2                      write_data(0xff);
 314   2              }
 315   1      }
 316          
 317          /******************************************************************************/
 318          void Clr_Scr(void)//清除内存
 319          {
 320   1              unsigned char j,k;
 321   1              Mcs=1;Scs=1;
 322   1              write_com(Page_Add+0);
 323   1              write_com(Col_Add+0);
 324   1      
 325   1              for(k=0;k<8;k++)
 326   1              {
C51 COMPILER V7.50   WANNIANLI                                                             05/23/2006 13:38:52 PAGE 7   

 327   2                      write_com(Page_Add+k);
 328   2                      for(j=0;j<64;j++)
 329   2                      {
 330   3                              write_data(0x00);
 331   3                      }
 332   2              }
 333   1      }
 334          
 335          /*******************************************************************************/
 336          void Disp_Img(unsigned char code *img)//显示12864图片
 337          {
 338   1              unsigned char j,k;
 339   1              for(k=0;k<8;k++)
 340   1              {
 341   2                      Mcs=1;
 342   2                      Scs=0;
 343   2                      //Delay(10);
 344   2                      write_com(Page_Add+k);
 345   2                      write_com(Col_Add+0);
 346   2                      for(j=0;j<64;j++) 
 347   2                      {
 348   3                              write_data(img[k*128+j]);
 349   3                      }
 350   2                      Mcs=0;
 351   2                      Scs=1;
 352   2               //     Delay(10);
 353   2                      write_com(Page_Add+k);
 354   2                      write_com(Col_Add+0);
 355   2                      for(j=64;j<128;j++)
 356   2                  {
 357   3                              write_data(img[k*128+j]);
 358   3                      }
 359   2              }
 360   1      }
 361          
 362          /*******************************************************************************/
 363          void Disp_Chinese(unsigned char pag,unsigned char col,  char code *hzk)
 364          {   //指定位置显示汉字16*16
 365   1              unsigned char j=0,i=0;
 366   1      
 367   1              for(j=0;j<2;j++)
 368   1              {
 369   2                      write_com(Page_Add+pag+j);
 370   2                      write_com(Col_Add+col);
 371   2                      for(i=0;i<16;i++) 
 372   2                      {
 373   3                              write_data(hzk[16*j+i]);
 374   3                      }
 375   2              }
 376   1      }
 377          
 378          /*******************************************************************************/
 379          void Disp_Digit(unsigned char pag,unsigned char col, unsigned char code *hzk)
 380          {   //指定位置显示字母或数字8*16
 381   1              unsigned char j=0, i=0;
 382   1      
 383   1              for(j=0;j<2;j++)
 384   1              {
 385   2                      write_com(Page_Add+pag+j);
 386   2                      write_com(Col_Add+col);
 387   2                      for(i=0;i<8;i++) 
 388   2                      {
C51 COMPILER V7.50   WANNIANLI                                                             05/23/2006 13:38:52 PAGE 8   

 389   3                              write_data(hzk[8*j+i]);
 390   3                      }
 391   2              }
 392   1      }
 393          
 394          /********************************************************************************/
 395          void Init_lcd(void)//初始化LCD屏
 396          {
 397   1              Lcd_Rst=0;
 398   1              Delay12864(100);
 399   1              Lcd_Rst=1;
 400   1              Delay12864(100);
 401   1      
 402   1              Mcs=1;  Scs=1;
 403   1      
 404   1              Delay12864(100);
 405   1              write_com(Disp_Off);
 406   1              write_com(Page_Add+0);
 407   1              write_com(Start_Line+0);
 408   1              write_com(Col_Add+0);
 409   1              write_com(Disp_On);
 410   1      }
 411                  
 412          /*******************************************************************************/
 413          void Init_DS18B20(void)//初始化ds1820
 414          {
 415   1              unsigned char x=0;
 416   1              DQ = 1;    //DQ复位
 417   1              Delay(8);  //稍做延时
 418   1              DQ = 0;    //单片机将DQ拉低
 419   1              Delay(80); //精确延时 大于 480us
 420   1              DQ = 1;    //拉高总线
 421   1              Delay(14);
 422   1              x=DQ;      //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
 423   1              Delay(20);
 424   1      }
 425          
 426          /******************************************************************************/
 427          unsigned char ReadOneChar(void)//读一个字节
 428          {
 429   1              unsigned char i=0;
 430   1              unsigned char dat = 0;
 431   1              for (i=8;i>0;i--)
 432   1              {
 433   2                      DQ = 0; // 给脉冲信号
 434   2                      dat>>=1;
 435   2                      DQ = 1; // 给脉冲信号
 436   2                      if(DQ)
 437   2                      dat|=0x80;
 438   2                      Delay(4);
 439   2              }
 440   1              return(dat);
 441   1      }
 442          
 443          /******************************************************************************/
 444          void WriteOneChar(unsigned char dat)//写一个字节
 445          {
 446   1              unsigned char i=0;
 447   1              for (i=8; i>0; i--)
 448   1              {
 449   2                      DQ = 0;
 450   2                      DQ = dat&0x01;
C51 COMPILER V7.50   WANNIANLI                                                             05/23/2006 13:38:52 PAGE 9   

 451   2                      Delay(5);
 452   2                      DQ = 1;

⌨️ 快捷键说明

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