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

📄 main.lst

📁 本程序是用51单片机设计的一个时钟程序,对于想了解单片机的C语言和汇编语言的开发人员是一个不错的例程.
💻 LST
📖 第 1 页 / 共 5 页
字号:
 169   6                                                              case    4:
 170   6                                                                      segflag=(segflag+1)%4;  //Display clock adjust
 171   6                                                                      break;
 172   6                                                              default:
 173   6                                                                      formflag=0;
 174   6                                                                      break;
 175   6                                                      }
 176   5                                                      break;
 177   5                                              case    0x0FD:                                  //Press button2
 178   5                                                      switch(formflag)
 179   5                                                      {
C51 COMPILER V7.07   MAIN                                                                  08/03/2005 11:35:47 PAGE 4   

 180   6                                                              case    0:                      //Adjust clock
 181   6                                                                      switch(segflag)
 182   6                                                                      {
 183   7                                                                              case    1:      //调整月
 184   7                                                                                      mon=mon+1;
 185   7                                                                                      if (mon>12)
 186   7                                                                                      {
 187   8                                                                                              mon=1;
 188   8                                                                                      }
 189   7                                                                                      break;
 190   7                                                                              case    2:      //调整天
 191   7                                                                                      dat++;
 192   7                                                                                      switch (mon)
 193   7                                                                                      {
 194   8                                                                                              case 1:
 195   8                                                                                              case 3:
 196   8                                                                                              case 5:
 197   8                                                                                              case 7:
 198   8                                                                                              case 8:
 199   8                                                                                              case 10:
 200   8                                                                                              case 12:
 201   8                                                                                                      if (dat>31)
 202   8                                                                                                      {
 203   9                                                                                                              dat=0x01;
 204   9                                                                                                      }
 205   8                                                                                                      break;
 206   8                                                                                              case 4:
 207   8                                                                                              case 6:
 208   8                                                                                              case 9:
 209   8                                                                                              case 11:
 210   8                                                                                                      if (dat>30)
 211   8                                                                                                      {
 212   9                                                                                                              dat=0x01;
 213   9                                                                                                      }
 214   8                                                                                                      break;
 215   8                                                                                              case 2:
 216   8                                                                                                      if (yea%4==0&&yea%100!=0||yea%400==0)
 217   8                                                                                                      {
 218   9                                                                                                              if (dat>29)
 219   9                                                                                                              {
 220  10                                                                                                                      dat=0x01;
 221  10                                                                                                              }
 222   9                                                                                                      }
 223   8                                                                                                      else
 224   8                                                                                                      {
 225   9                                                                                                              if (dat>28)
 226   9                                                                                                              {
 227  10                                                                                                                      dat=0x01;
 228  10                                                                                                              }
 229   9                                                                                                      }
 230   8                                                                                                      break;
 231   8                                                                                              default:
 232   8                                                                                                      mon=0x01;
 233   8                                                                                                      break;
 234   8                                                                                      }
 235   7                                                                                      break;
 236   7                                                                              case    3:      //调整时
 237   7                                                                                      hou=(hou+1)%24;
 238   7                                                                                      break;
 239   7                                                                              case    4:      //调整分
 240   7                                                                                      min=(min+1)%60;
 241   7                                                                                      break;
C51 COMPILER V7.07   MAIN                                                                  08/03/2005 11:35:47 PAGE 5   

 242   7                                                                              default:
 243   7                                                                                      segflag=0;
 244   7                                                                                      break;
 245   7                                                                      }
 246   6                                                                      break;
 247   6                                                              case    1:                      //定时器开关设定
 248   6                                                                      if (segflag==1)
 249   6                                                                              TimeOpenflag = ~TimeOpenflag;
 250   6                                                                      else
 251   6                                                                              segflag=0;
 252   6                                                                      break;
 253   6                                                              case    2:                      //定时时钟调节
 254   6                                                                      switch(segflag)
 255   6                                                                      {
 256   7                                                                              case    1:
 257   7                                                                                      Timer = (Timer+1)%20;
 258   7                                                                                      break;
 259   7                                                                              case    2:
 260   7                                                                                      TimerFlag = ~TimerFlag;
 261   7                                                                                      break;
 262   7                                                                              case    3:
 263   7                                                                                      hout = (hout+1)%24;
 264   7                                                                                      break;
 265   7                                                                              case    4:
 266   7                                                                                      mint = (mint+1)%60;
 267   7                                                                                      break;
 268   7                                                                              default:
 269   7                                                                                      segflag=0;
 270   7                                                                                      break;
 271   7                                                                      }
 272   6                                                                      break;
 273   6                                                              case    3:                      //乐曲设定
 274   6                                                                      switch(segflag)
 275   6                                                                      {
 276   7                                                                              case    1:
 277   7                                                                                      song = (song+1)%20;
 278   7                                                                                      break;
 279   7                                                                              case    2:
 280   7                                                                                      SongCirFg = (SongCirFg+1)%3;
 281   7                                                                                      break;
 282   7                                                                              default:
 283   7                                                                                      segflag=0;
 284   7                                                                                      break;
 285   7                                                                      }
 286   6                                                                      break;
 287   6                                                              case    4:
 288   6                                                                      switch(segflag)
 289   6                                                                      {
 290   7                                                                              case    1:
 291   7                                                                                      RcapCnt = (RcapCnt+1)%2;
 292   7                                                                                      break;
 293   7                                                                              case    2:
 294   7                                                                                      UpDownFlag =~ UpDownFlag;
 295   7                                                                                      break;
 296   7                                                                              case    3:
 297   7                                                                                      if (UpDownFlag==1)
 298   7                                                                                      {
 299   8                                                                                              HL2[RcapCnt] = HL2[RcapCnt]+1;
 300   8                                                                                      }
 301   7                                                                                      else
 302   7                                                                                      {
 303   8                                                                                              HL2[RcapCnt] = HL2[RcapCnt]-1;
C51 COMPILER V7.07   MAIN                                                                  08/03/2005 11:35:47 PAGE 6   

 304   8                                                                                      }
 305   7                                                                                      break;
 306   7                                                                              default:
 307   7                                                                                      segflag=0;
 308   7                                                                                      break;
 309   7                                                                      }
 310   6                                                                      break;
 311   6                                                              default:
 312   6                                                                      formflag=0;
 313   6                                                                      break;
 314   6                                                      }
 315   5                                                      break;
 316   5                                              case    0x0FB:                                  //Press button3
 317   5                                                      formflag = (formflag+1)%5;
 318   5                                                      Adjust=0;
 319   5                                                      segflag=0;
 320   5                                                      break;
 321   5                                              case    0x0F7:                                  //Press button4(default)
 322   5                                                      TimeOpenflag =~ TimeOpenflag;           //Switch On/Off speaker
 323   5                                                      break;
 324   5                                              default:
 325   5                                                      break;
 326   5                                      }
 327   4                              }
 328   3                      }
 329   2                      switch(formflag)                                                        //Display
 330   2                      {
 331   3                              case    0:
 332   3                                      switch(segflag)
 333   3                                      {
 334   4                                              case    0:
 335   4                                                      Disp_array[0]=mon/10;
 336   4                                                      Disp_array[1]=mon-10*(mon/10);
 337   4                                                      Disp_array[2]=dat/10;
 338   4                                                      Disp_array[3]=dat-10*(dat/10);
 339   4                                                      Disp_array[4]=hou/10;
 340   4                                                      Disp_array[5]=hou-10*(hou/10);
 341   4                                                      Disp_array[6]=min/10;
 342   4                                                      Disp_array[7]=min-10*(min/10);
 343   4                                                      break;

⌨️ 快捷键说明

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