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

📄 1302+18b20+点阵屏.lst

📁 几年搜的LED显示屏程序大全20多个实例带仿真.rar
💻 LST
📖 第 1 页 / 共 5 页
字号:
 211   2      
 212   2               SBUF=temp;//把BUFF中的字节从大到小移位相或后发送输出。
 213   2               while(!TI);TI=0;                                        //等待发送中断
 214   2              }
 215   1      }
 216          /*******************************************************/
 217          void Read_1302(void)
 218          {
 219   1      
 220   1            second=R1302(0x81);   //对取 秒 分 时 日 月 星期 年
 221   1                minute=R1302(0x83);
 222   1                hour=R1302(0x85);
 223   1                day=R1302(0x87);
 224   1                month=R1302(0x89);
 225   1                week=R1302(0x8b);
 226   1                year=R1302(0x8d);
 227   1           Number[0]=(year/16)*10+(year%16);
 228   1               Number[1]=(month/16)*10+(month%16);
 229   1               Number[2]=(day/16)*10+(day%16);
 230   1               Number[3]=(hour/16)*10+(hour%16);
 231   1               Number[4]=(minute/16)*10+(minute%16);
 232   1               Number[5]=(second/16)*10+(second%16);
 233   1               Number[6]=(week/16)*10+(week%16);
 234   1      } 
 235          /*******************************************************/
C51 COMPILER V8.05a   1302_18B20_点阵屏                                                    05/24/2009 12:02:11 PAGE 5   

 236          void TiaoZheng(void)
 237          {
 238   1          uchar i,j,number=0;
 239   1                 for(i=0;i<96;i++)  {HuanCun[i]=0x00;}
 240   1                 for(j=0;j<4;j++)
 241   1                 {  
 242   2                 for(i=0;i<32;i++)
 243   2                        {
 244   3                              HuanCun[96+i+number]=ZaXiang[j][i];
 245   3                    }
 246   2                                number+=32; if(number>128) number=0;
 247   2                 }
 248   1      }
 249          void TiaoZheng1(void)
 250          {
 251   1        uchar i,j,number1=0;
 252   1            for(j=1;j<7;j++)
 253   1                  {
 254   2                        for(i=0;i<32;i++)
 255   2                          {
 256   3                             HuanCun[i+number1]=ZaXiang[j][i];
 257   3                              }
 258   2                  number1+=32; if(number1>192) number1=0;
 259   2              }
 260   1                              
 261   1      
 262   1                 for(i=0;i<32;i++) {HuanCun[192+i]=ZaXiang[7][i];}
 263   1      }
 264          void TiaoZheng2(void)
 265          {
 266   1        uchar i,j,k,number2=0;
 267   1                 for(j=5;j<7;j++)
 268   1                              {
 269   2                                 for(i=0;i<32;i++)
 270   2                                     {
 271   3                                        HuanCun[i+number2]=ZaXiang[j][i];
 272   3                                         }
 273   2                          number2+=32; if(number2>64) number2=0;
 274   2                      }
 275   1                         for(i=0;i<32;i++) {HuanCun[64+i]=ZaXiang[7][i];}
 276   1                 for(j=0;j<60;j++)
 277   1                                 {
 278   2                            if(Number[0]==j)   {for(k=0;k<32;k++) HuanCun[96+k]=hanzi0[j][k];}                  
 279   2                             }
 280   1                         for(i=0;i<32;i++) {HuanCun[128+i]=ZaXiang[8][i];}
 281   1                         
 282   1                         for(j=0;j<60;j++)
 283   1                                 {
 284   2                            if(Number[1]==j)   {for(k=0;k<32;k++) HuanCun[160+k]=hanzi0[j][k];} 
 285   2                                  }
 286   1                 for(i=0;i<32;i++) {HuanCun[192+i]=ZaXiang[9][i];}
 287   1      }
 288          
 289          void TiaoZheng3(void)
 290          {
 291   1        uchar i,j,k;
 292   1                 for(i=0;i<32;i++) {HuanCun[i]=ZaXiang[8][i];}
 293   1                         
 294   1                         for(j=0;j<60;j++)
 295   1                                 {
 296   2                            if(Number[1]==j)   {for(k=0;k<32;k++) HuanCun[32+k]=hanzi0[j][k];} 
 297   2                                  }
C51 COMPILER V8.05a   1302_18B20_点阵屏                                                    05/24/2009 12:02:11 PAGE 6   

 298   1                 for(i=0;i<32;i++) {HuanCun[64+i]=ZaXiang[9][i];}
 299   1                         for(j=0;j<60;j++)
 300   1                                 {
 301   2                            if(Number[2]==j)   {for(k=0;k<32;k++) HuanCun[96+k]=hanzi0[j][k];} 
 302   2                                  }
 303   1                         for(i=0;i<32;i++) {HuanCun[128+i]=ZaXiang[10][i];}
 304   1                         
 305   1                         for(j=0;j<60;j++)
 306   1                                 {
 307   2                            if(Number[3]==j)   {for(k=0;k<32;k++) HuanCun[160+k]=hanzi0[j][k];} 
 308   2                                  }
 309   1                 for(i=0;i<32;i++) {HuanCun[192+i]=ZaXiang[11][i];}
 310   1      }
 311          void TiaoZheng4(void)
 312          {
 313   1         
 314   1       uchar i,j,k;
 315   1      
 316   1                 for(i=0;i<32;i++) {HuanCun[i]=ZaXiang[10][i];}
 317   1                         
 318   1                         for(j=0;j<60;j++)
 319   1                                 {
 320   2                            if(Number[3]==j)   {for(k=0;k<32;k++) HuanCun[32+k]=hanzi0[j][k];} 
 321   2                                  }
 322   1                 for(i=0;i<32;i++) {HuanCun[64+i]=ZaXiang[11][i];}       
 323   1                        for(j=0;j<60;j++)
 324   1                                 {
 325   2                            if(Number[4]==j)   {for(k=0;k<32;k++) HuanCun[96+k]=hanzi0[j][k];} 
 326   2                                  }     
 327   1                for(i=0;i<32;i++) {HuanCun[128+i]=ZaXiang[12][i];}
 328   1                        for(j=0;j<60;j++)
 329   1                                 {
 330   2                            if(Number[5]==j)   {for(k=0;k<32;k++) HuanCun[160+k]=hanzi0[j][k];} 
 331   2                                  }
 332   1                    for(i=0;i<32;i++) {HuanCun[192+i]=ZaXiang[13][i];}
 333   1      }
 334          void TiaoZheng5(void)
 335          {       
 336   1          uchar i,j,k;
 337   1      
 338   1                    for(i=0;i<32;i++) {HuanCun[i]=ZaXiang[12][i];}
 339   1                        for(j=0;j<60;j++)
 340   1                                 {
 341   2                            if(Number[5]==j)   {for(k=0;k<32;k++) HuanCun[32+k]=hanzi0[j][k];} 
 342   2                                  }
 343   1                    for(i=0;i<32;i++) {HuanCun[64+i]=ZaXiang[13][i];}
 344   1                        for(i=0;i<32;i++) {HuanCun[96+i]=ZaXiang[14][i];}
 345   1                        for(i=0;i<32;i++) {HuanCun[128+i]=ZaXiang[15][i];}
 346   1                        for(j=1;j<8;j++)
 347   1                                 {
 348   2                            if(Number[6]==j)   {for(k=0;k<32;k++) HuanCun[160+k]=hanzi0[60+j-1][k];} 
 349   2                                  }
 350   1                for(i=0;i<32;i++) {HuanCun[192+i]=ZaXiang[16][i];}
 351   1      }
 352          void TiaoZheng6(void)
 353          {
 354   1           uchar i,j,k;    
 355   1                    for(i=0;i<32;i++) {HuanCun[i]=ZaXiang[15][i];}
 356   1                        for(j=1;j<8;j++)
 357   1                                 {
 358   2                            if(Number[6]==j)   {for(k=0;k<32;k++) HuanCun[32+k]=hanzi0[60+j-1][k];} 
 359   2                                  }
C51 COMPILER V8.05a   1302_18B20_点阵屏                                                    05/24/2009 12:02:11 PAGE 7   

 360   1                for(i=0;i<32;i++) {HuanCun[64+i]=ZaXiang[16][i];}
 361   1                for(i=0;i<32;i++) {HuanCun[96+i]=ZaXiang[17][i];}
 362   1                for(i=0;i<32;i++) {HuanCun[128+i]=ZaXiang[19][i];}
 363   1                        for(j=0;j<60;j++)
 364   1                                 {
 365   2                            if(temp==j)   {for(k=0;k<32;k++) HuanCun[160+k]=hanzi0[j][k];} 
 366   2                                  }
 367   1                for(i=0;i<32;i++) {HuanCun[192+i]=ZaXiang[18][i];}
 368   1                      
 369   1      }
 370          void TiaoZheng7(void)
 371          {
 372   1             uchar i,j,k;
 373   1                        for(i=0;i<32;i++) {HuanCun[i]=ZaXiang[19][i];}
 374   1                        for(j=0;j<60;j++)
 375   1                                 {
 376   2                            if(temp==j)   {for(k=0;k<32;k++) HuanCun[32+k]=hanzi0[j][k];} 
 377   2                                  }
 378   1                for(i=0;i<32;i++) {HuanCun[64+i]=ZaXiang[18][i];}
 379   1                for(i=96;i<224;i++)  {HuanCun[i]=0x00;}
 380   1      
 381   1      }
 382          /**************************延时***********************/
 383          void DelayMs(void)
 384           {
 385   1        uchar TempCyc;
 386   1        for(TempCyc=100;TempCyc>1;TempCyc--)
 387   1           {;}
 388   1       }
 389          //********DS1302读写程序***************//
 390          /******************************************************************** 
 391          函 数 名:RTInputByte()
 392          功    能:实时时钟写入一字节
 393          说    明:往DS1302写入1Byte数据 (内部函数)
 394          入口参数:d 写入的数据 
 395          返 回 值:无  
 396          ***********************************************************************/
 397          void RTInputByte(uchar d) 
 398          { 
 399   1          uchar h;
 400   1          ACC = d;
 401   1          for(h=8; h>0; h--)
 402   1          {
 403   2              T_IO = ACC0;           /*相当于汇编中的 RRC */
 404   2              T_CLK = 1;
 405   2              T_CLK = 0;
 406   2              ACC = ACC >> 1; 
 407   2          } 
 408   1      }
 409          /******************************************************************** 
 410          函 数 名:RTOutputByte()
 411          功    能:实时时钟读取一字节
 412          说    明:从DS1302读取1Byte数据 (内部函数)
 413          入口参数:无  
 414          返 回 值:ACC
 415          设    计:zhaojunjie           日    期:2002-03-19
 416          修    改:                     日    期: 
 417          ***********************************************************************/
 418          uchar RTOutputByte(void) 
 419          { 
 420   1          uchar h;
 421   1          for(h=8; h>0; h--)
C51 COMPILER V8.05a   1302_18B20_点阵屏                                                    05/24/2009 12:02:11 PAGE 8   

 422   1          {
 423   2              ACC = ACC >>1;         /*相当于汇编中的 RRC */
 424   2              ACC7 = T_IO;
 425   2              T_CLK = 1;
 426   2              T_CLK = 0;
 427   2          } 
 428   1          return(ACC); 
 429   1      }
 430          /******************************************************************** 
 431          函 数 名:W1302()
 432          功    能:往DS1302写入数据
 433          说    明:先写地址,后写命令/数据 (内部函数)

⌨️ 快捷键说明

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