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

📄 ad_92201.lst

📁 刚学时编的小程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   AD_92201                                                              04/27/2007 19:46:16 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE AD_92201
OBJECT MODULE PLACED IN ad_92201.OBJ
COMPILER INVOKED BY: d:\Keil 8\C51\BIN\C51.EXE ad_92201.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1                             #include <AT89X51.H>
   2                                             #include<intrins.h>
   3                             #include<absacc.h>
   4                             #define uchar unsigned char
   5                             #define ulong unsigned long 
   6                             #define uint  unsigned int
   7                             unsigned char code dispcode[]={      0x3f,0x06,0x5b,0x4f,                             
   8                                                                                                                  0x66,0x6d,0x7d,0x07,
   9                                                                                                                  0x7f,0x6f,0x77,0x7c,
  10                                                                                                                  0x39,0x5e,0x79,0x71,
  11                                                                                                                  0x40,0x00,0xbf,0x86,
  12                                                                                                                  0xdb,0xcf,0xe6,0xed,
  13                                                                                                                  0xfd,0x87,0xff,0xf};
  14                                            //unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};                  
  15                             sbit clk=P2^1;
  16                             sbit din=P2^0;
  17                                             sbit k0=P2^4;
  18                                             sbit k1=P2^5;
  19                                             sbit k2=P2^6;
  20                                             sbit k3=P2^7;
  21                                             sbit ACC_7=ACC^7;
  22                                             sbit adclk=P3^2;
  23                                             bit  flag,k4=1;                                 
  24                                         uchar  n,h,j;
  25                                             uint q,i,temp,sum;
  26                                             float m;
  27                                             uchar zhongliang[8],k;
  28                                             uint s_dat[10];
  29                             uchar shijian[8]={0,0,16,0,0,16,0,0};
  30                                             uchar lu,x,y,cuo=0,hour1,w=0,m1=0,n;                     //定义相关变量
  31                                             int i1;
  32                                             uchar dis;
  33                                             char second;
  34                                             char minite;
  35                                             char hour;
  36                                             uint tcnt,tcnt2;
  37                                             uchar ms,a=0,c;                                 
  38                             
  39                                             jizhong()
  40                                                  {  
  41   1                                                      a=1;                                                                                                             
  42   1                                                      for(;;)
  43   1                                                      {
  44   2                                                       for(j=0;j<10;j++)
  45   2                                                              {
  46   3                                                                      adclk=0;
  47   3                                                                      adclk=1;
  48   3                                                                      _nop_();
  49   3                                                                      _nop_();
  50   3                                                                       // _nop_();
  51   3                                                                      adclk=0;
  52   3                                                                      P1=0xff;
  53   3                                                                      n=P1;                           
  54   3                                                                      P0=0xff;
  55   3                                                                      h=P0;
C51 COMPILER V8.02   AD_92201                                                              04/27/2007 19:46:16 PAGE 2   

  56   3                                                                      h=_cror_(h,4);
  57   3                                                                      h=h&0x0f;
  58   3                                                                      s_dat[j]=n*16+h;
  59   3                                                               }
  60   2                                                              for(;;)
  61   2                                                              {
  62   3                                                              flag=1;
  63   3                                                              for(j=0;j<9;j++)                             
  64   3                                                                      {
  65   4                                                                         if(s_dat[j]>s_dat[j+1])
  66   4                                                                      { 
  67   5                                                                                      temp=s_dat[j];
  68   5                                                                                      s_dat[j]=s_dat[j+1];
  69   5                                                                                      s_dat[j+1]=temp;
  70   5                                                                                      flag=0;
  71   5                                                                      }
  72   4                                                                              if(_testbit_(flag))
  73   4                                                                              break;
  74   4                                                                      }
  75   3                                                               }
  76   2                                      for(j=1;j<9;j++)
  77   2                                                              sum+=s_dat[j];
  78   2                                                              m=sum/8;
  79   2                                                              m=m/4095;
  80   2                                                              sum=(uint)(m*200000);                                                                             
  81   2                                      zhongliang[0]=16;
  82   2                                                              zhongliang[1]=16;
  83   2                                      zhongliang[2]=16;                                                
  84   2                                      q=10000;
  85   2                                      for(i=3;i<7;i++)                         
  86   2                                  { 
  87   3                                                                      zhongliang[i]=sum/q;
  88   3                                      sum%=q;
  89   3                                      q/=10;
  90   3                                   }
  91   2                                                              zhongliang[7]=sum;                                                              
  92   2                              //dis();        
  93   2                                              /*      for(j=0;j<10;j++);
  94   2                              for(i=0;i<20000;i++);                                   
  95   2                                                      for(j=0;j<8;j++)
  96   2                                                         {                                               
  97   2                                                           n=dispcode[dat[j]];
  98   2                                                                  if(j==5) 
  99   2                                                                    n=n+0x80;
 100   2                                       for(k=0;k<8;k++)
 101   2                                            {
 102   2                                                                      ACC=n;
 103   2                                                                  din=ACC_7;
 104   2                                                                          clk=1;
 105   2                                                                          n=_crol_(n,1);
 106   2                                                                          clk=0;                                                              
 107   2                                                                 }                                                       
 108   2                                  }
 109   2                                                      for(i=0;i<10000;i++);*/
 110   2                                                      }
 111   1                                                                                  
 112   1                                              }
 113          
 114          
 115                                                  delay(int t)                                                    //延时子程序
 116                                                  {
 117   1                                                      int s,e;
C51 COMPILER V8.02   AD_92201                                                              04/27/2007 19:46:16 PAGE 3   

 118   1                                                      for(s=0;s<t;s++)
 119   1                                                      for(e=0;e<100;e++);
 120   1                                              }
 121          
 122                                                  yijian()                                                        //一键是否按下子程序
 123                                                  {
 124   1                                                      char q=0;
 125   1                                                      if(k0==0)
 126   1                                                      {
 127   2                                                              delay(2);
 128   2                                                              if(k0==0)
 129   2                                                              {
 130   3                                                                      q=1;    
 131   3                                                                      while(1)        if(k0==1)  break;
 132   3                                                              }
 133   2                                                      }
 134   1                                                      return q;
 135   1                                              }
 136          
 137          erjian()                                                        //二键是否按下子程序
 138          {
 139   1              char q=0;
 140   1              if(k1==0)
 141   1              {
 142   2                      delay(2);
 143   2                      if(k1==0)
 144   2                      {
 145   3                              q=1;
 146   3                              while(1)        if(k1==1)  break;
 147   3                      }
 148   2              }
 149   1              return q;
 150   1      }
 151          
 152          sanjian()                                                     //三键是否按下子程序
 153          {
 154   1              char q=0;
 155   1              if(k2==0)
 156   1              {
 157   2                      delay(2);
 158   2                      if(k2==0)
 159   2                      {
 160   3                              q=1;
 161   3                              while(1)        if(k2==1)  break;
 162   3                      }
 163   2              }
 164   1              return q;
 165   1      }
 166          tiaoshi()                                                       //调时间子程序 
 167          {       
 168   1      //      if(w==1)
 169   1      //      goto loop;
 170   1              k4=0;                                                          //停止计时
 171   1              for(i1=7;i1>0;i1=i1-3)                                            //对时、分、秒进行循环

⌨️ 快捷键说明

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