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

📄 tlv5618.lst

📁 自己调的tlv5618的程序
💻 LST
字号:
C51 COMPILER V7.50   TLV5618                                                               08/07/2007 15:12:51 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TLV5618
OBJECT MODULE PLACED IN D:\VW\WORK\TLV5618\TLV5618.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE D:\VW\WORK\TLV5618\TLV5618.C DB SB OE

line level    source

   1          #include  <reg52.h>
   2          
   3          
   4          sbit  SCLK=P1^3;
   5          sbit  SDAT=P1^7;
   6          sbit  CS  =P1^0;
   7          
   8          bit   bdata  mode_bit=0;      //方波幅度高低电平标志变量,为0时输出低电平,为1时输出高电平
   9          unsigned char  data   count=0;         //方波的半周期计数器
  10          unsigned int  data   vouta=0;          //方波高低电平电压值存储变量,其幅度与三角波幅度相等
  11          unsigned int  data   config;           //送往DA转换器的配置参数。以全局变量出现,即作为行参,又作为实参
  12          
  13          
  14          void  initial_5618_io(void);
  15          void  tlv5618_outa(void);
  16          void  da_tlv5618(unsigned int config);
  17          void delay(unsigned int num);
  18          
  19          /************************************************************************************************/
  20          void  main(void)
  21          {
  22   1          initial_5618_io();               //初始化CPU的IO口
  23   1              while(1)                   //周期地进行转换,形成三角波和方波的周期信号
  24   1              {
  25   2              tlv5618_outa();            //控制通道A输出方波,该方波与上面的三角波幅度相等、周期相同
  26   2          //    delay(100);
  27   2              }
  28   1      }
  29          /************************************************************************************************/
  30          void  initial_5618_io(void)          //CPU的IO口初始化函数
  31          {
  32   1              SCLK=0;
  33   1              SDAT=0;
  34   1              CS  =1;
  35   1      }
  36          
  37          //================================================================================================
  38          void  tlv5618_outa(void)           //周期方波生成函数
  39          {
  40   1          config=vouta;
  41   1              config=config&0x0fff;
  42   1          config=config|0xc000;
  43   1              da_tlv5618(config);
  44   1              vouta=0x0f00;
  45   1      
  46   1      
  47   1              count++;
  48   1              if(count<0x1a)            //判断方波是否应该改变电平状态
  49   1              {
  50   2                  if(!mode_bit)         //根据方波幅度高低电平标志变量决定是输出高电平还是低电平
  51   2                          vouta=0;
  52   2                      else
  53   2                          vouta=0x0f00;
  54   2              }
  55   1              else
C51 COMPILER V7.50   TLV5618                                                               08/07/2007 15:12:51 PAGE 2   

  56   1              {
  57   2                  count=0;
  58   2                  mode_bit=~mode_bit;  //如果已经达到改变电平状态的时刻则改变方波幅度标志变量
  59   2              }                     
  60   1      }
  61          
  62          /*************************************************************************************************
  63          ;  函数名称:  da_tlv5618
  64          ;  功能描述:  TI公司12位双通DAC芯片TLV5618的控制时序
  65          ;  形式参数:  config(无符号整型变量)
  66          **************************************************************************************************/
  67          void da_tlv5618(unsigned int config)
  68          {
  69   1              
  70   1              unsigned int  n;
  71   1              unsigned char m=0;
  72   1              CS=0;
  73   1              for(;m<0x10;m++)
  74   1              {
  75   2                      SCLK=1;
  76   2                      n=config;
  77   2                      n=n&0x8000;
  78   2                      SDAT=(bit)n;
  79   2                      SCLK=0;
  80   2                      config<<=1;
  81   2              }
  82   1              CS=1;
  83   1              SCLK=0;
  84   1      }
  85          
  86          //=====================================================================================
  87          //函数名称: delay
  88          //功能描述: 延时
  89          //备注:      程序调试中延时一段时间,方便观察各相关端口的电平信号是否符合时序要求
  90          //====================================================================================
  91          void delay(unsigned int num)
  92          {
  93   1              unsigned int i;
  94   1              for(i=0;i<num;i++)
  95   1              {
  96   2                      
  97   2              }
  98   1      }
C51 COMPILER V7.50   TLV5618                                                               08/07/2007 15:12:51 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
CS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
count. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
SDAT . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
SCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
vouta. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0001H  2
_da_tlv5618. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  config . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  n. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
  m. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
mode_bit . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
tlv5618_outa . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
initial_5618_io. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  num. . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
config . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0003H  2
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


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