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

📄 dac.lst

📁 1、数控直流恒流源的单片机代码。 2、重要包括电源、输入处理、A/D采集、键盘、LCD显示、D/A输出。
💻 LST
字号:
C51 COMPILER V7.09   DAC                                                                   08/24/2007 09:37:09 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE DAC
OBJECT MODULE PLACED IN DAC.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE DAC.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include"Config.h"
   3          #include"IOCfg.c"
   4          #include"TimeDLY.h"
   5          #include"DAC.h"
   6          
   7          //向SPI写16bits数据函数:SPIWrite()
   8          void SPIWrite(INT16 temp)
   9          {
  10   1              INT16U i;
  11   1              DACSetCS(0);
  12   1              for(i=0;i<16;i++)
  13   1              {
  14   2                      DACDIN = (bit) (temp & 0x8000);
  15   2                      DACSetSCLK(1);
  16   2                      temp <<= 1;
  17   2                      nNop(1);
  18   2                      DACSetSCLK(0);
  19   2                      nNop(1);
  20   2                      }
  21   1              DACSetCS(1);
  22   1              }
  23          
  24          //将电压值转换为对应的12bits数字量函数:VoltToData()
  25          INT16 VoltToData(INT16U ref, FP32 ex_ref, FP32 out_volt)
  26          {
  27   1              int temp;
  28   1              switch(ref)
  29   1              {
  30   2                      case    EXTERNAL  :  temp = (INT16)((out_volt*4096) / (2*ex_ref));break;
  31   2                      case    IN_1024   :  temp = (INT16)((out_volt*4096) / (2*1.024)); break;
  32   2                      case    IN_2048   :  temp = (INT16)((out_volt*4096) / (2*2.048)); break;
  33   2                      default           :  break;
  34   2                      }
  35   1              return(temp & 0xfff);
  36   1              }
  37          
  38          //设置DAC B(即B 通道)输出函数:SetDAC_B()
  39          void SetDAC_B(INT16U speed, INT16U ref, FP32 ex_ref, FP32 temp)
  40          {
  41   1              INT16 ModCMD;
  42   1              INT16 Data;
  43   1              ModCMD = 0x9000 | (speed<<14) | (ref);
  44   1              Data = VoltToData(ref,ex_ref,temp);
  45   1              Data = Data | 0x0000 | (speed<<14);
  46   1              SPIWrite(ModCMD);
  47   1              nNop(10);
  48   1              SPIWrite(Data);
  49   1              }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    286    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V7.09   DAC                                                                   08/24/2007 09:37:09 PAGE 2   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      32
   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 + -