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

📄 cs21-2.lst

📁 《手把手教你学单片机的C程序设计》及实验程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 168   3                              case 4:P0=SEG7[hour%10];P2=ACT[time_cnt];break;
 169   3                              case 5:P0=SEG7[hour/10];P2=ACT[time_cnt];break;
 170   3                              default:break;
 171   3                              }
 172   2                      }
 173   1                      //---------------------------------------
 174   1               if(status==1)
 175   1                       {
 176   2                              switch(time_cnt)
 177   2                              {
 178   3                              case 0:P0=SEG7[status];P2=ACT[time_cnt];break;
 179   3                              case 1:if(set1_flag)P0=0x01;else P0=0x00;P2=ACT[time_cnt];break;
C51 COMPILER V7.06   CS21_2                                                                02/19/2007 16:38:16 PAGE 4   

 180   3                              case 2:P0=SEG7[set1_dat[0]%10];P2=ACT[time_cnt];break;
 181   3                              case 3:P0=SEG7[set1_dat[0]/10];P2=ACT[time_cnt];break;
 182   3                              case 4:P0=SEG7[set1_dat[1]%10];P2=ACT[time_cnt];break;
 183   3                              case 5:P0=SEG7[set1_dat[1]/10];P2=ACT[time_cnt];break;
 184   3                              default:if(bit_flag){P0=SEG7[set1_dat[0]%10];P2=ACT[2];}
 185   3                                                      else {P0=SEG7[set1_dat[0]/10];P2=ACT[3];}break;
 186   3                              }
 187   2                       }
 188   1                       //-----------------------------------------
 189   1                       if(status==2)
 190   1                       {
 191   2                              switch(time_cnt)
 192   2                              {
 193   3                              case 0:P0=SEG7[status];P2=ACT[time_cnt];break;
 194   3                              case 1:if(set1_flag)P0=0x01;else P0=0x00;P2=ACT[time_cnt];break;
 195   3                              case 2:P0=SEG7[set1_dat[0]%10];P2=ACT[time_cnt];break;
 196   3                              case 3:P0=SEG7[set1_dat[0]/10];P2=ACT[time_cnt];break;
 197   3                              case 4:P0=SEG7[set1_dat[1]%10];P2=ACT[time_cnt];break;
 198   3                              case 5:P0=SEG7[set1_dat[1]/10];P2=ACT[time_cnt];break;
 199   3                              default:if(bit_flag){P0=SEG7[set1_dat[1]%10];P2=ACT[4];}
 200   3                                                      else {P0=SEG7[set1_dat[1]/10];P2=ACT[5];}break;
 201   3                              }
 202   2                       }
 203   1                       //------------------------------------------
 204   1                      if(status==3)
 205   1                       {
 206   2                              switch(time_cnt)
 207   2                              {
 208   3                              case 0:P0=SEG7[status];P2=ACT[time_cnt];break;
 209   3                              case 1:if(set2_flag)P0=0x01;else P0=0x00;P2=ACT[time_cnt];break;
 210   3                              case 2:P0=SEG7[set2_dat[0]%10];P2=ACT[time_cnt];break;
 211   3                              case 3:P0=SEG7[set2_dat[0]/10];P2=ACT[time_cnt];break;
 212   3                              case 4:P0=SEG7[set2_dat[1]%10];P2=ACT[time_cnt];break;
 213   3                              case 5:P0=SEG7[set2_dat[0]/10];P2=ACT[time_cnt];break;
 214   3                              default:if(bit_flag){P0=SEG7[set2_dat[0]%10];P2=ACT[2];}
 215   3                                                      else {P0=SEG7[set2_dat[0]/10];P2=ACT[3];}break;
 216   3                              }
 217   2                       }
 218   1                       //--------------------------------------------
 219   1                       if(status==4)
 220   1                       {
 221   2                              switch(time_cnt)
 222   2                              {
 223   3                              case 0:P0=SEG7[status];P2=ACT[time_cnt];break;
 224   3                              case 1:if(set2_flag)P0=0x01;else P0=0x00;P2=ACT[time_cnt];break;
 225   3                              case 2:P0=SEG7[set2_dat[0]%10];P2=ACT[time_cnt];break;
 226   3                              case 3:P0=SEG7[set2_dat[0]/10];P2=ACT[time_cnt];break;
 227   3                              case 4:P0=SEG7[set2_dat[1]%10];P2=ACT[time_cnt];break;
 228   3                              case 5:P0=SEG7[set2_dat[1]/10];P2=ACT[time_cnt];break;
 229   3                              default:if(bit_flag){P0=SEG7[set2_dat[1]%10];P2=ACT[4];}
 230   3                                                      else {P0=SEG7[set2_dat[1]/10];P2=ACT[5];}break;
 231   3                              }
 232   2                       }
 233   1       }
 234          /******************************************************/
 235          void delay(uint k)
 236          {
 237   1      uint data i,j;
 238   1      for(i=0;i<k;i++){
 239   2      for(j=0;j<121;j++)
 240   2      {;}}
 241   1      }
C51 COMPILER V7.06   CS21_2                                                                02/19/2007 16:38:16 PAGE 5   

 242          /*****************************************/
 243          void start()//启动读写时序
 244          {
 245   1      SDA=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 246   1      SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 247   1      SDA=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 248   1      SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 249   1      }
 250          //*****************************************
 251          void stop()//停止操作
 252          {
 253   1      SDA=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 254   1      SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 255   1      SDA=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 256   1      }
 257          //***********************
 258          void ack()//应答
 259          {
 260   1      SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 261   1      SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 262   1      }
 263          //***********************
 264          void shift8(char a)
 265          {
 266   1      data uchar i;
 267   1      com_data=a;
 268   1      for(i=0;i<8;i++)
 269   1      {
 270   2      SDA=mos_bit;
 271   2      SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 272   2      SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 273   2      com_data=com_data*2;
 274   2      }
 275   1      }
 276          //******************
 277          uchar rd_24c01(char a)
 278          {
 279   1      data uchar i,command;
 280   1      SDA=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 281   1      SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 282   1      start();
 283   1      command=160;
 284   1      shift8(command);
 285   1      ack();
 286   1      shift8(a);
 287   1      ack();
 288   1      start();
 289   1      command=161;
 290   1      shift8(command);
 291   1      ack();
 292   1      SDA=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 293   1      for(i=0;i<8;i++)
 294   1      {
 295   2      com_data=com_data*2;
 296   2      SCL=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 297   2      low_bit=SDA;
 298   2      SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 299   2      }
 300   1      stop();
 301   1      return(com_data);
 302   1      }
 303          //*****************
C51 COMPILER V7.06   CS21_2                                                                02/19/2007 16:38:16 PAGE 6   

 304          void wr_24c01(char a,char b)
 305          {
 306   1      data uchar command;
 307   1      _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 308   1      SDA=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 309   1      SCL=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 310   1      start();
 311   1      command=160;
 312   1      shift8(command);
 313   1      ack();
 314   1      shift8(a);
 315   1      ack();
 316   1      shift8(b);
 317   1      ack();
 318   1      stop();
 319   1      _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
 320   1      }
 321          //***************
 322          void delay_iic(int n)
 323          {
 324   1      int i;
 325   1      for(i=1;i<n;i++){}
 326   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1554    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      3    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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