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

📄 starled.lst

📁 ds12887时钟芯片应用源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 165   3      
 166   3                              }
 167   2      
 168   2                                      
 169   2                      }
 170   1                      if(s1num!=0)
 171   1                      {
 172   2                              if(s2==0)
 173   2                              {
 174   3                                      delay(1);
 175   3                                      if(s2==0)
 176   3                                      {
 177   4                                              while(!s2);
 178   4                                              if(s1num==1)
 179   4                                              {
C51 COMPILER V8.02   STARLED                                                               03/03/2009 18:51:24 PAGE 4   

 180   5                                                      miao++;
 181   5                                                      if(miao==60)
 182   5                                                              miao=0;
 183   5                                                      write_sfm(10,miao);
 184   5                                                      write_com(0x80+0x40+10);
 185   5                                                      
 186   5                                                      
 187   5                                              }
 188   4                                              if(s1num==2)
 189   4                                              {
 190   5                                                      fen++;
 191   5                                                      if(fen==60)
 192   5                                                              fen=0;
 193   5                                                      write_sfm(7,fen);
 194   5                                                      write_com(0x80+0x40+7);
 195   5                                              }
 196   4                                              if(s1num==3)
 197   4                                              {
 198   5                                                      shi++;
 199   5                                                      if(shi==24)
 200   5                                                              shi=0;
 201   5                                                      write_sfm(4,shi);
 202   5                                                      write_com(0x80+0x40+4);
 203   5                                              }
 204   4                                      }
 205   3                              }
 206   2                              if(s3==0)
 207   2                              {
 208   3                                      delay(1);
 209   3                                      if(s3==0)
 210   3                                      {
 211   4                                              while(!s3);
 212   4                                              if(s1num==1)
 213   4                                              {
 214   5                                                      miao--;
 215   5                                                      if(miao==-1)
 216   5                                                              miao=59;
 217   5                                                      write_sfm(10,miao);
 218   5                                                      write_com(0x80+0x40+10);
 219   5                                              }
 220   4                                              if(s1num==2)
 221   4                                              {
 222   5                                                      fen--;
 223   5                                                      if(fen==-1)
 224   5                                                              fen=59;
 225   5                                                      write_sfm(7,fen);
 226   5                                                      write_com(0x80+0x40+7);
 227   5                                              }
 228   4                                              if(s1num==3)
 229   4                                              {
 230   5                                                      shi--;
 231   5                                                      if(shi==-1)
 232   5                                                              shi=23;
 233   5                                                      write_sfm(4,shi);
 234   5                                                      write_com(0x80+0x40+4);
 235   5                                              }
 236   4                                      }
 237   3                              }
 238   2                      }
 239   1      }
 240          /*******************************************************************/
 241          /*                                                                 */
C51 COMPILER V8.02   STARLED                                                               03/03/2009 18:51:24 PAGE 5   

 242          /* ds128c87程序                                                      */
 243          /*                                                                 */
 244          /*******************************************************************/
 245          
 246          void write_ds(uchar add,uchar date)//在指定地址写入数据
 247          {
 248   1              dscs=0;
 249   1              dsas=1;
 250   1              dsds=1;
 251   1              dsrw=1;
 252   1              P0=add;
 253   1              dsas=0;
 254   1              dsrw=0;
 255   1              P0=date;
 256   1              dsrw=1;
 257   1              dsas=1;
 258   1              dscs=1;                         
 259   1      }
 260          
 261          uchar read_ds(uchar add)        //读取指定地址的数据
 262          {
 263   1              uchar ds_date;
 264   1              dsas=1;
 265   1              dsds=1;
 266   1              dsrw=1;
 267   1              dscs=0;
 268   1              P0=add;
 269   1              dsas=0;
 270   1              dsds=0;
 271   1              P0=0xff;                //单片机读取数据之前赋高
 272   1              ds_date=P0;
 273   1              dsds=1;
 274   1              dsas=1;
 275   1              dscs=1;
 276   1              return ds_date; 
 277   1      }
 278          
 279          /*void set_time()          //初始化定时
 280          {
 281                  write_ds(4,10);
 282                  write_ds(2,32);
 283                  
 284          }                */
 285          
 286          void set_alarm(uchar ashi,uchar afen,uchar amiao)        //闹钟定时 时\分\秒
 287          {
 288   1              write_ds(1,amiao);
 289   1              write_ds(3,afen);
 290   1              write_ds(5,ashi);
 291   1      }
 292          void main()
 293          {
 294   1              init();
 295   1              while(1)
 296   1              {
 297   2                      keyscan();
 298   2                      if(flag1==1)
 299   2                              didi();
 300   2                      if(flag==0)
 301   2      //flag=1时调表调好后写入887,然后flag置0重新读取887内数据
 302   2                      {
 303   3                              miao=read_ds(0);        
C51 COMPILER V8.02   STARLED                                                               03/03/2009 18:51:24 PAGE 6   

 304   3                              fen=read_ds(2);
 305   3                              shi=read_ds(4);
 306   3                              write_sfm(10,miao);
 307   3                              write_sfm(7,fen);
 308   3                              write_sfm(4,shi);
 309   3                      }
 310   2              }
 311   1      }
 312          
 313          void exter() interrupt 0          //19脚接P3.2
 314          {       uchar c;
 315   1              flag1=1;
 316   1              c=read_ds(0x0c); //重读C寄存器,消除中断标志以备响应下一次中断
 317   1      }
 318          
 319          
 320          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    700    ----
   CONSTANT SIZE    =     29    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7       1
   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 + -