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

📄 main.lst

📁 89S51单片机并行驱动AD9851的程序
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  05/24/2006 15:09:20 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "regx51.h"
   2          #include "AD9851.h"
   3          
   4          
   5          //typedef unsigned char uchar;
   6          typedef unsigned int uint;
   7          typedef unsigned long ulong;    
   8                                           
   9          unsigned char test0[5]={0x01,0x0F,0xCD,0x6E,0x9E};      //10  MHz
  10          
  11          unsigned char code KeyCode[]=
  12                                          {0xe7,0xd7,0xdb,0xdd,0xb7,0xbb,0xbd ,0x77,
  13                                           0x7b,0x7d,0x7e,0xbe,0xde,0xee,0xed,0xeb,      //键盘编码
  14                                          };
  15          
  16          ulong Frequency;
  17          
  18          void Delay1ms(uint t)
  19          {
  20   1              uchar x;
  21   1              for(x=0;x<120;x++)
  22   1                      for( ;t>0;t--);
  23   1      }
  24          
  25          unsigned char GetKey()              //键盘扫描
  26          {
  27   1      
  28   1              unsigned char temp1, temp2, key, i;
  29   1      
  30   1              P3=0xF0;
  31   1      
  32   1              if(P3==0xF0) return 0xFF;         //没有按键返回0xFF
  33   1              Delay1ms(15);                     //消除抖动
  34   1              if(P3==0xF0) return 0xFF;
  35   1      
  36   1              temp1=P3;
  37   1              P3=0x0F;
  38   1              temp2=P3;
  39   1              key=temp1|temp2;
  40   1      
  41   1              for(i=0; i<16; i++)
  42   1              if(key==KeyCode[i])
  43   1      
  44   1              {       
  45   2      
  46   2                      P3=0xF0;
  47   2                      while(P3!=0xF0);
  48   2      
  49   2                      return i;
  50   2              }
  51   1                                                      //返回对应的按键值
  52   1      
  53   1              return 0xFF;            //没有相应编码返回0xFF
  54   1      
  55   1      }
C51 COMPILER V7.50   MAIN                                                                  05/24/2006 15:09:20 PAGE 2   

  56          
  57          
  58          /*
  59          uchar GetKey()
  60          {
  61                  P3 = 0xF0;
  62                  tmp = P3&0xF0;
  63                  if(tmp != 0xF0)
  64                  {
  65                          Delay(30);
  66                          if(P3 == tmp)
  67                          {
  68                                  P3 = 0xF;
  69                                  tmp2 = P3&0xF;
  70          
  71                                  tmp = tmp | tmp2;
  72                                  return tmp;
  73                                  
  74                          }
  75                  }
  76          }
  77                    */
  78          
  79          
  80          
  81          
  82          void PerformKey()
  83          {
  84   1              uchar KeyValue;
  85   1              float delta;
  86   1      
  87   1              KeyValue = GetKey();
  88   1              switch(KeyValue)
  89   1              {
  90   2                      case 0 :
  91   2                              delta = -0.1;
  92   2                              break;
  93   2      
  94   2                      case 1 :
  95   2                              delta = 0.1;      
  96   2                              break;
  97   2      
  98   2                      case 2 :
  99   2                              delta = -1;
 100   2                              break;
 101   2      
 102   2                      case 3 : 
 103   2                              delta = 1;
 104   2                              break;
 105   2                      
 106   2                      case 4 : 
 107   2                              delta = -10;
 108   2                              break;
 109   2      
 110   2                      case 5 :  
 111   2                              delta = 10;
 112   2                              break;
 113   2                      
 114   2                      case 6 :          
 115   2                              delta = -100;
 116   2                              break;
 117   2      
C51 COMPILER V7.50   MAIN                                                                  05/24/2006 15:09:20 PAGE 3   

 118   2                      case 7 :           
 119   2                              delta = 100;
 120   2                              break;
 121   2      
 122   2                      case 8 :           
 123   2                              delta = -1000;
 124   2                              break;
 125   2      
 126   2                      case 9 :           
 127   2                              delta = 1000;
 128   2                              break;
 129   2      
 130   2                      case 10 :          
 131   2                              delta = -10000;
 132   2                              break;
 133   2      
 134   2                      case 11 :          
 135   2                              delta = 10000;
 136   2                              break;
 137   2      
 138   2                      case 12 :          
 139   2                              delta = -100000;
 140   2                              break;
 141   2      
 142   2                      case 13 :          
 143   2                              delta = 100000;
 144   2                              break;
 145   2      
 146   2                      case 14 :          
 147   2                              delta = -1000000;
 148   2                              break;
 149   2      
 150   2                      case 15 :          
 151   2                              delta = 1000000;
 152   2                              break;
 153   2      
 154   2                      default:
 155   2                              break;
 156   2              }          
 157   1              if(KeyValue != 0xFF)
 158   1              {
 159   2                      Frequency = Frequency + delta;
 160   2                      SendFreq( Frequency );
 161   2              }
 162   1      }
 163          
 164          void SetAD9851(unsigned char SetByte[])
 165          
 166          {
 167   1         CLK_DDS=0;
 168   1         P0 = SetByte[0];
 169   1         CLK_DDS = 1;
 170   1         CLK_DDS = 0;         
 171   1         P0 = SetByte[1];
 172   1         CLK_DDS = 1;
 173   1         CLK_DDS = 0;
 174   1         P0 = SetByte[2];
 175   1         CLK_DDS = 1;
 176   1         CLK_DDS = 0;
 177   1         P0 = SetByte[3];
 178   1         CLK_DDS = 1;
 179   1         CLK_DDS = 0;
C51 COMPILER V7.50   MAIN                                                                  05/24/2006 15:09:20 PAGE 4   

 180   1         P0 = SetByte[4];
 181   1         CLK_DDS = 1;
 182   1         CLK_DDS = 0;
 183   1           UPDATE=0;
 184   1           UPDATE=1;
 185   1      }
 186          
 187          void main()
 188          {
 189   1              Frequency = 1000;
 190   1              InitDDSport();
 191   1              SendDefault();  //初始输出1KHz
 192   1      //      SetAD9851(test0);
 193   1              while(1)
 194   1              {
 195   2              Delay1ms(20);    
 196   2                      PerformKey();
 197   2              }
 198   1      
 199   1      }
 200          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    669    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       4
   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 + -