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

📄 mypro.lst

📁 stc12c2052ad单片机控制ad9835的源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 127                  uint    CMD;  //        CMD=    指令  |    功能1  |  功能2|……
 128                  uint    DATA; //        DATA=   指令  |    地址   |  数据
 129                   
 130          /*=========================================================================
 131                                                                  函数声明
 132           =========================================================================*/
 133                  void Delay(uint n);
 134                  void WriteChar(uint ch);                            //向AD9835写一个字节
 135                  void SelDataSrc(uint selfr,uint selph); //选择相位寄存器,频率寄存器
 136                  void Init_9835(void);
 137          
 138          
 139          /*=========================================================================
 140                                                                  函数定义
 141           =========================================================================*/
 142          void Delay (uint n){
 143   1                      uint i;
 144   1                      while(n--)for(i=0;i<TIME_1S;i++);
 145   1      }
 146           
 147          
 148          void WriteChar(uint ch)                         //向AD9835写一个字节  下降沿发一个BIT,先发MSB
 149          {
 150   1            uchar i;
 151   1                uint t;
 152   1                t = ch;
 153   1                FSYNC = 0;
 154   1                for(i=0;i<15;i++)
 155   1                {
 156   2                    SCLK = 1;
 157   2                        if(t&0x8000!=0)
 158   2                        {
 159   3                             SDATA = 1;
 160   3                        }
 161   2                        else
 162   2                        {
 163   3                             SDATA = 0;
 164   3                        }
 165   2                        SCLK  = 0;
 166   2                        t = t << 1;
 167   2                }
 168   1                FSYNC=1;
 169   1      }
 170          
 171          void    SelDataSrc(uint selfr,uint selph)
 172          {
 173   1                      if(SELSRC){
 174   2                              CMD=Sel_Fre_Pha|selfr|selph;            //选择相位寄存器,频率寄存器
 175   2                              WriteChar(CMD);
 176   2                      }
 177   1      }
 178          
 179          void    Init_9835(void)
C51 COMPILER V8.02   MYPRO                                                                 11/30/2007 13:29:07 PAGE 4   

 180          {
 181   1               //     CMD= 指令    |功能1|功能2|功能3
 182   1                      CMD=CmdResClr|SLEEP|RESET|CLEAR;                //复位、清零
 183   1                      WriteChar(CMD);
 184   1              
 185   1               //     CMD= 指令    |功能1     |功能2                  
 186   1                      CMD=CmdSynSel|SynChrTion|SelBinPin;             //同步、数据源选择
 187   1                      WriteChar(CMD); 
 188   1              
 189   1              //      DATA=   指令  |   地址   |  数据
 190   1                      DATA=Wrt_8_Fre|Adr_Fr0_LL|FRE0LL;               //写FR0
 191   1                      WriteChar(DATA);
 192   1                      DATA=Wrt_16_Fre|Adr_Fr0_LH|FRE0LH;
 193   1                      WriteChar(DATA);
 194   1                      DATA=Wrt_8_Fre|Adr_Fr0_HL|FRE0HL;
 195   1                      WriteChar(DATA);
 196   1                      DATA=Wrt_16_Fre|Adr_Fr0_HH|FRE0HH;
 197   1                      WriteChar(DATA);
 198   1      
 199   1                      DATA=Wrt_8_Fre|Adr_Fr1_LL|FRE1LL;               //写FR1
 200   1                      WriteChar(DATA);
 201   1                      DATA=Wrt_16_Fre|Adr_Fr1_LH|FRE1LH;
 202   1                      WriteChar(DATA);
 203   1                      DATA=Wrt_8_Fre|Adr_Fr1_HL|FRE1HL;
 204   1                      WriteChar(DATA);
 205   1                      DATA=Wrt_16_Fre|Adr_Fr1_HH|FRE1HH;
 206   1                      WriteChar(DATA);
 207   1      
 208   1                      DATA=Wrt_8_Pha|Adr_Ph0_L|PHA0L;                 //写PH0
 209   1                      WriteChar(DATA);
 210   1                      DATA=Wrt_16_Pha|Adr_Ph0_H|PHA0H;
 211   1                      WriteChar(DATA);
 212   1                       
 213   1                  DATA=Wrt_8_Pha|Adr_Ph1_L|PHA1L;                     //写PH1
 214   1                      WriteChar(DATA);
 215   1                      DATA=Wrt_16_Pha|Adr_Ph1_H|PHA1H;
 216   1                      WriteChar(DATA);
 217   1      
 218   1                      DATA=Wrt_8_Pha|Adr_Ph2_L|PHA2L;                 //写PH2
 219   1                      WriteChar(DATA);
 220   1                      DATA=Wrt_16_Pha|Adr_Ph2_H|PHA2H;
 221   1                      WriteChar(DATA);
 222   1      
 223   1                      DATA=Wrt_8_Pha|Adr_Ph3_L|PHA3L;                 //写PH3
 224   1                      WriteChar(DATA);
 225   1                      DATA=Wrt_16_Pha|Adr_Ph3_H|PHA3H;
 226   1                      WriteChar(DATA);
 227   1      
 228   1      
 229   1              SelDataSrc(SelFr0,SelPh0);                              //选择数据源
 230   1      
 231   1                      CMD=CmdResClr|NOSLEEP|NORESET|NOCLEAR;  // 开始执行
 232   1                      WriteChar(CMD);
 233   1      
 234   1      }
 235             
 236          /*===================================================================
 237                                                            主程序
 238           ===================================================================*/
 239          main(){ 
 240   1                                Delay(1);                                      //开机延时
 241   1                                Init_9835();                           //初始化9835
C51 COMPILER V8.02   MYPRO                                                                 11/30/2007 13:29:07 PAGE 5   

 242   1                                while(1);
 243   1       }
 244                  
 245          
 246          


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