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

📄 dingshi.lst

📁 基于89S51芯片开发的篮球倒计时系统,开发环境KEIL,仿真环境PROTUES
💻 LST
📖 第 1 页 / 共 2 页
字号:
 178   2        if(t!=2&&t!=4)   //防止出现类似66分钟的数据
C51 COMPILER V7.09   DINGSHI                                                               04/24/2007 21:33:45 PAGE 4   

 179   2        {
 180   3        void scan_7(void);//对被掉函数的说明
 181   3        while(P1!=0xfe){scan_7();}            //注意 不是所有的语句都使用while(P1!=0xfe),不同的行使用不同的语句
 182   3        //while(P3!=0xfe);                    //与密码程序的区别密码程序中使用的不是while(P1!=0xfe),用的是delay
             -();
 183   3        //delay1ms(200);
 184   3        time[t]=7;
 185   3        //cc=0;
 186   3        return t++;}}
 187   1      }
 188          //**********功能函数6***********************************
 189          char fun6(void)
 190          {if(lock==1&&t<6)
 191   1        //void scan_7(void);//对被掉函数的说明
 192   1        {if(t!=2&&t!=4){
 193   3        while(P1!=0xfd){scan_7();}
 194   3        time[t]=6;
 195   3        //dd=0;
 196   3        return t++;}}
 197   1      }
 198          //**********功能函数5***********************************
 199          char fun5(void)
 200          { if(lock==1&&t<6)
 201   1       // void scan_7(void);//对被掉函数的说明
 202   1        {while(P1!=0xfd){scan_7();}
 203   2        time[t]=5;
 204   2        //ee=0;
 205   2        return t++;}
 206   1      }
 207          //**********功能函数4***********************************
 208          char fun4(void)
 209          {if(lock==1&&t<6)
 210   1       // void scan_7(void);//对被掉函数的说明
 211   1        {while(P1!=0xfd){scan_7();}
 212   2        time[t]=4;
 213   2        //ff=0;
 214   2        return t++;}
 215   1      }
 216          //**********功能函数3***********************************
 217          char fun3(void)
 218          {if(lock==1&&t<6)
 219   1        //void scan_7(void);//对被掉函数的说明
 220   1        {while(P1!=0xfb){scan_7();}
 221   2        time[t]=3;
 222   2        //gg=0;
 223   2        return t++;}
 224   1      }
 225          //**********功能函数2***********************************
 226          char fun2(void)
 227          {  //delay1ms(200);
 228   1      if(lock==1&&t<6)
 229   1        //void scan_7(void);//对被掉函数的说明
 230   1        {while(P1!=0xfb){scan_7();}
 231   2        time[t]=2;
 232   2        return t++;}
 233   1      }
 234          //**********功能函数1***********************************
 235          char fun1(void)
 236          {if(lock==1&&t<6)
 237   1        //void scan_7(void);//对被掉函数的说明
 238   1       { while(P1!=0xfb){scan_7();}
 239   2        time[t]=0x01;
C51 COMPILER V7.09   DINGSHI                                                               04/24/2007 21:33:45 PAGE 5   

 240   2        //hh=0;
 241   2        return t++;}
 242   1      }
 243          //**********功能函数0***********************************
 244          char fun0(void)
 245          {
 246   1      if(lock==1&&t<6)
 247   1        {while(P1!=0xf7){scan_7();}
 248   2        time[t]=0;
 249   2        return t++;}
 250   1      }
 251          //**************************
 252          //对型如7 8 9 a 的键盘的驱动
 253          //      4 5 6 b
 254          //      1 2 3 c
 255          //      d 0 e f 
 256          /**********按键驱动函数***********/
 257          void keyscan(void)
 258          { 
 259   1         P1=0xfe;                             //将第一行置零
 260   1         if(P1!=0xfe)  
 261   1           {  if(P1==0x7e)        fun10();      //一行四列
 262   2                  else if(P1==0xbe)   fun9();       //一行三列
 263   2                  else if(P1==0xde)   fun8();       //一行二列
 264   2                      else if(P1==0xee)   fun7();       //一行一列
 265   2               }  
 266   1         else                              
 267   1             {
 268   2                   P1=0xfd;                 //将第二行置零
 269   2                 if(P1!=0xfd)
 270   2                            { if(P1==0x7d)        fun11();   //二行四列
 271   3                                  else if(P1==0xbd)   fun6();    //二行三列
 272   3                          else if(P1==0xdd)   fun5();    //二行二列
 273   3                              else if(P1==0xed)   fun4();    //二行一列
 274   3                                }
 275   2                         else                           
 276   2                     {
 277   3                            P1=0xfb;               //将第三行置零
 278   3                        if(P1!=0xfb)
 279   3                                  { if(P1==0x7b)        fun12();//三行四列
 280   4                                        else if(P1==0xbb)   fun3();//三行三列
 281   4                                else if(P1==0xdb)   fun2();//三行二列
 282   4                                    else if(P1==0xeb)   fun1();//三行一列 
 283   4                                      }
 284   3                                        else
 285   3                                        {
 286   4                                          P1=0xf7;             
 287   4                                          { if(P1!=0xf7) 
 288   5                                      { 
 289   6                                                      if(P1==0x77)        fun13();//四行四列
 290   6                                          else if(P1==0xb7)   fun14();//四行三列
 291   6                                  else if(P1==0xd7)   fun0();//四行二列
 292   6                                      else if(P1==0xe7)   fun15();//四行一列 
 293   6                                          }
 294   5                                          }
 295   4                                    }
 296   3                     }
 297   2              }
 298   1      }
 299          //*****数码管显示函数   将数据及显示控制码输出*********//
 300          void scan_7(void)
 301          {
C51 COMPILER V7.09   DINGSHI                                                               04/24/2007 21:33:45 PAGE 6   

 302   1        char j;
 303   1        for(j=0;j<6;j++)
 304   1          {
 305   2              P2=scan_con[j];//scan_con[7]={0x01,0x02,0x04,0x08,0x10,0x200x00,};   // 列扫描控制字
 306   2              P0=dis_7[time[j]];//dis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
 307   2              delay1ms(1);
 308   2              }
 309   1      }
 310          
 311          //*******主程序*******//
 312          void main()
 313          { 
 314   1        EA=1;ET0=1;TMOD=0x01;
 315   1        TH0=(65536-15526)/256;
 316   1        TL0=(65536-15536)%256;
 317   1      
 318   1        while(1)
 319   1        {
 320   2         EA=1;    //CPU开中断
 321   2         EX0=1;   //int0允许中断  //TR0=1;
 322   2         scan_7();
 323   2         keyscan();
 324   2         //delay1ms(1);
 325   2         //okset();
 326   2        }
 327   1      }
 328          
 329          
 330          
 331          
 332          
 333          
 334          
 335          
 336          
 337          
 338          
 339          
 340          
 341          
 342          
 343            
 344          
 345          
 346          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    831    ----
   CONSTANT SIZE    =     21    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10       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 + -