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

📄 tlc5620.lst

📁 这是TLC5620的单片机试验程序,用KEIL环境,适合51单片机初学者
💻 LST
字号:
C51 COMPILER V8.02   TLC5620                                                               05/06/2007 18:53:09 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TLC5620
OBJECT MODULE PLACED IN TLC5620.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TLC5620.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //本文件为TLC5620   8位串行DA转换的程序模块,实现DA转换,调节声音的大小输出
   2          //提供 TLC5620(vol)  声音转换接口 
   3          
   4          /*
   5             存在问题:
   6             1、程序中_nop_()会不会少点???,程序中没有LDAC的操作,
   7             根据电路图,第一次的转换能进行吗?
   8             2、这个函数要在程序中不断的运行
   9          
  10             3.查看PCB图,看原理图跟PCB图是不是一样的!!!????????????
  11          */
  12          
  13          #include<reg51.h>
  14          #include<intrins.h>
  15          #define uchar unsigned char
  16          
  17          sbit DATA=P1^2;  //数据串行输入端
  18          sbit CLK=P1^1;   //串行输入时钟
  19          sbit LOAD=P1^0;  //数据进入第一级锁存控制位
  20          
  21          void TLC5620(float vol)  //vol数值范围:0----99
  22          {
  23   1         float volval;
  24   1         uchar i;
  25   1         uchar vollast; //定义此变量以取0---255的百分比
  26   1         LOAD=1;   
  27   1        
  28   1         CLK=1;
  29   1         DATA=0;  
  30   1         _nop_();  
  31   1         CLK=0;  //下降沿送入第一个数A1
  32   1         _nop_();   //
  33   1        
  34   1      
  35   1         CLK=1;
  36   1         DATA=0;   
  37   1         _nop_();  
  38   1         CLK=0;  //下降沿送入第二个数A0
  39   1         _nop_();  //
  40   1         
  41   1      
  42   1         CLK=1;
  43   1         DATA=0;  //RNG=1使输出位两倍参考输入的输出    
  44   1         _nop_();  
  45   1         CLK=0;  //下降沿送入第三个数RNG
  46   1          _nop_();  //
  47   1         
  48   1         volval=vol;  //
  49   1         vollast=(volval/100)*255; // 
  50   1          
  51   1      
  52   1         for(i=0;i<8;i++)     //循环送入8位数字码,从高位开始送入
  53   1         {
  54   2                CLK=1;
  55   2                DATA=vollast&0x80;
C51 COMPILER V8.02   TLC5620                                                               05/06/2007 18:53:09 PAGE 2   

  56   2                vollast=vollast<<1;
  57   2                _nop_(); //加吗????????????         
  58   2                CLK=0;
  59   2                _nop_();      //
  60   2           
  61   2         }
  62   1         _nop_();       //
  63   1        
  64   1         LOAD=0; //开始转换。
  65   1          _nop_(); 
  66   1              _nop_();  
  67   1         LOAD=1; //
  68   1         
  69   1      
  70   1      }
  71          
  72          
  73          


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