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

📄 pro.lst

📁 基于STC89C58的单片机控制DDS程序
💻 LST
字号:
C51 COMPILER V7.06   PRO                                                                   03/07/2008 15:27:45 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE PRO
OBJECT MODULE PLACED IN pro.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE pro.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <general.h>
   2          sbit clflag=ACC^7;
   3          bit int_flag=0; /*中断标志位*/
   4          uchar key_value;/*中断返回键值*/
   5          
   6          sbit adf4113_sclk=P3^0;
   7          sbit adf4113_sdata=P3^1;
   8          sbit adf4113_le=P3^2;
   9          sbit adf4113_out=P3^3;
  10          //uchar spll[]={0x07,0x87,0x0b,0x30,0x00,0xc8,0x15,0xcc,0xa1};
  11          //uchar spll[]={0x1f,0x82,0xc3,0x02,0x00,0xc8,0x22,0x71,0x01};1GHz
  12          uchar spll[]={0x1f,0x98,0x43,0x62,0x00,0xc8,0x01,0xb5,0x11};//700MHz 0xb3 changed to 0xe3 enable the muxou
             -t to be serial data 
  13          // 0x43 will use the other PD polarity and R divder output 
  14          void ADF4113(void);
  15          void AD9858_init(void);
  16          
  17          void main()
  18          
  19          {
  20   1              ulong i,j,k;
  21   1              AUXR = 0x02;/*STC单片机关内部RAM和开ALE*/
  22   1              for(i=0;i<5;i++)
  23   1              {
  24   2                      for(j=0;j<100;j++)
  25   2                      {
  26   3                              for(k=0;k<100;k++);
  27   3                      }
  28   2              }
  29   1      
  30   1              COM=0xd1;//1101 0001b 清除所有显示
  31   1              do{ACC=COM;}
  32   1              while(clflag==1);   //清除起来比较慢,所以一条指令执行的时间不足以完成所有清除,故需等待
  33   1              COM=0x01;COM=0x0a;  /*分频次数10*/
  34   1              IE=0x81;TCON=0x01;
  35   1      
  36   1              
  37   1              timer1_init();
  38   1      
  39   1              for(i=0;i<7;i++)
  40   1                      {
  41   2                       COM=0xd1;              /*总清除命令*/
  42   2                      do{ACC=COM;}
  43   2                      while(clflag==1);       /*等待清除结束*/
  44   2                       COM=0x80+i;
  45   2                       DAT=0x3f;
  46   2                       COM=0x80+i+1;
  47   2                       DAT=0x67;
  48   2                       for(j=0;j<20000;j++);
  49   2                      }
  50   1      //      while(1)
  51   1              ADF4113();
  52   1                      delay(100);
  53   1              AD9858_init();
  54   1      //      */      
C51 COMPILER V7.06   PRO                                                                   03/07/2008 15:27:45 PAGE 2   

  55   1                              
  56   1      
  57   1      
  58   1              while(1)
  59   1              {  
  60   2                      while(int_flag==0);/*等待中断*/
  61   2                      int_flag=0;
  62   2                      
  63   2                      switch(key_value)
  64   2                      {
  65   3                              case 0x40:
  66   3                              {
  67   4                              key0();
  68   4                              fre_order[ftw-1]=0;
  69   4                              break;}
  70   3      
  71   3                              case 0x41:
  72   3                              {
  73   4                              key1();
  74   4                              fre_order[ftw-1]=1;
  75   4                              break;
  76   4                              }
  77   3                              case 0x42:
  78   3                              {
  79   4                              key2();
  80   4                              fre_order[ftw-1]=2;
  81   4                              break;
  82   4                              }
  83   3                              case 0x43:
  84   3                              {
  85   4                              key3();
  86   4                              fre_order[ftw-1]=3;
  87   4                              break;
  88   4                              }
  89   3                              case 0x48:
  90   3                              {
  91   4                              key4();
  92   4                              fre_order[ftw-1]=4;
  93   4                              break;
  94   4                              }
  95   3                              case 0x49:
  96   3                              {
  97   4                              key5();
  98   4                              fre_order[ftw-1]=5;
  99   4                              break;
 100   4                              }
 101   3                              case 0x4a:
 102   3                              {
 103   4                              key6();
 104   4                              fre_order[ftw-1]=6;
 105   4                              break;
 106   4                              }
 107   3                              case 0x4b:
 108   3                              {
 109   4                              key7();
 110   4                              fre_order[ftw-1]=7;
 111   4                              break;}
 112   3                              case 0x50:
 113   3                              {
 114   4                              key8();
 115   4                              fre_order[ftw-1]=8;
 116   4                              break;
C51 COMPILER V7.06   PRO                                                                   03/07/2008 15:27:45 PAGE 3   

 117   4                              }
 118   3                              case 0x51:
 119   3                              {
 120   4                              key9();
 121   4                              fre_order[ftw-1]=9;
 122   4                              break;
 123   4                              }
 124   3                              case 0x52:key10();break;
 125   3                              case 0x53:key11();break;
 126   3                              case 0x58:key12();break;
 127   3                              case 0x59:key13();break;
 128   3                              case 0x5a:key14();break;
 129   3                              case 0x5b:
 130   3                              {
 131   4                              key15();
 132   4      
 133   4                              break;
 134   4                              }
 135   3           
 136   3                              case 0x00:
 137   3                                              {
 138   4                                              skey0();
 139   4                                      //      ADF4113();
 140   4                                              break;
 141   4                                              }
 142   3                              case 0x01:
 143   3                                              {
 144   4                                              skey1();
 145   4                                              AD9858_init();
 146   4                                              break;
 147   4                                              }                       
 148   3                              case 0x02:
 149   3                              {
 150   4                              skey2();
 151   4                              break;
 152   4                              }
 153   3                              case 0x03:skey3();break;
 154   3                              case 0x08:skey4();break;
 155   3                              case 0x09:skey5();break;
 156   3                              case 0x0a:skey6();break;
 157   3                              case 0x0b:skey7();break;
 158   3                              case 0x10:skey8();break;
 159   3                              case 0x11:skey9();break;
 160   3                              case 0x12:skey10();break;
 161   3                              case 0x13:skey11();break;
 162   3                              case 0x18:skey12();break;
 163   3                              case 0x19:skey13();break;
 164   3                              case 0x1a:skey14();break;
 165   3                              case 0x1b:skey15();break;
 166   3                              default:break;
 167   3                      }
 168   2              
 169   2              }
 170   1      }
 171          
 172          
 173          void ADF4113(void)
 174          {
 175   1              uint i,j;
 176   1              uchar temp;
 177   1          //EA=1;
 178   1              //adf4113_out=1;
C51 COMPILER V7.06   PRO                                                                   03/07/2008 15:27:45 PAGE 4   

 179   1              for(i=0;i < 9; i++)
 180   1              {
 181   2                      adf4113_le=0;
 182   2                      for(j=0;j < 8;j++)
 183   2                              {
 184   3                      temp = spll[i];
 185   3                      adf4113_sclk = 0;
 186   3                      delay(10);
 187   3                      adf4113_sdata = temp&0x80?1:0;
 188   3                      adf4113_sclk = 1;
 189   3                      delay(10);
 190   3                      temp<<=1;
 191   3                              }
 192   2              if((i+1)%3==0)
 193   2                      {
 194   3                      adf4113_le=1;
 195   3                      delay(5);
 196   3                      adf4113_le=0;
 197   3                      }
 198   2              }
 199   1          delay(5);
 200   1      /*      if(adf4113_out==1)
 201   1              {////.............
 202   1              COM=0xd1;//1101 0001b 清除所有显示
 203   1              do{ACC=COM;}
 204   1              while(clflag==1);
 205   1                      
 206   1              }
 207   1      */
 208   1      }
 209          
 210          void AD9858_init(void)
 211          {
 212   1              uint i,j;
 213   1              uchar temp;
 214   1              ad9858_reset=0;
 215   1              ad9858_fud=0;
 216   1              ad9858_cs=0;
 217   1              for(i=0;i<40;i++)
 218   1                      {
 219   2                              j = 0;
 220   2                              temp = ad9858_cfrdata[j];
 221   2                              
 222   2                              ad9858_sclk=0;
 223   2                              delay(1);
 224   2                              ad9858_sdata = temp&0x80==0?0:1;        
 225   2                              ad9858_sclk=1;
 226   2                              delay(1);
 227   2                              temp<<=1;
 228   2                              if(!i%8) j++;
 229   2                      }
 230   1              ad9858_cs=1;
 231   1              //
 232   1      /*      ad9858_cs=0;
 233   1              for(i=0;i<40;i++)
 234   1                      {
 235   1                              j=0;
 236   1                              temp = ad9858_ftw0data[j];
 237   1                              ad9858_sclk=0;
 238   1                              delay(1);
 239   1                              ad9858_sdata = temp&0x80==0?0:1;        
 240   1                              ad9858_sclk=1;
C51 COMPILER V7.06   PRO                                                                   03/07/2008 15:27:45 PAGE 5   

 241   1                              delay(1);
 242   1                              temp<<=1;
 243   1                              if(!i%8) j++;
 244   1                      }
 245   1              ad9858_cs=1;
 246   1      
 247   1              ad9858_fud=1;
 248   1      
 249   1              ad9858_cs=0;
 250   1              for(i=0;i<40;i++)
 251   1                      {
 252   1                              temp = ad9858_ftw1[j];
 253   1                              j=0;
 254   1                              ad9858_sclk=0;
 255   1                              delay(1);
 256   1                              ad9858_sdata = temp&0x80==0?0:1;        
 257   1                              ad9858_sclk=1;
 258   1                              delay(1);
 259   1                              temp<<=1;
 260   1                              if(!i%8) j++;
 261   1                      }
 262   1              ad9858_cs=1;
 263   1      */
 264   1      }
 265          
 266          void int_int0() interrupt 0 using 0
 267          {
 268   1              int_flag=1;
 269   1              ftw++;
 270   1              key_value=keyin();
 271   1      }
 272          
 273          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2297    ----
   CONSTANT SIZE    =     32    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     69      36
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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