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

📄 dac.lst

📁 0-30v
💻 LST
字号:
C51 COMPILER V8.08   DAC                                                                   10/01/2008 23:53:31 PAGE 1   


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

line level    source

   1          #include"reg52.h"
   2          #include"function.h"
   3          
   4          #define DBUS P0
   5          sbit clk_574_1 = P2^3;
   6          //sbit clk_574_2 = P1^3;
   7          //sbit lcd_rs    = P1^4;
   8          static uchar data_574;  //74574输出数据 
   9          static uchar data_5741 = 0x10;//------------加了临时保存数据的寄存器才避免了DA操作时干扰背光  
  10          
  11          /************************************************************************************
  12                                        DAC输出转换函数 
  13          ************************************************************************************/
  14          void dac(uint c)
  15          {
  16   1              uint i;    
  17   1              data_574 =  data_5741;
  18   1      
  19   1              data_574 &= 0xfe;
  20   1              DBUS = data_574;
  21   1              clk_574_1 = 0;
  22   1              clk_574_1 = 1;//574输出锁存数据,选通DAC          9月8日加上的,以前忘记了 
  23   1      
  24   1              for(i = 0x8000;i > 0;i >>= 1)
  25   1              {
  26   2                      if((c & i) == 0)
  27   2                      {data_574 &= 0xFB;}//数据输出为0还是1   //0xf7          
  28   2                      else
  29   2                      {data_574 |= 0x04;}//if和else后的大括号我后加的   
  30   2                      DBUS = data_574;        
  31   2                      clk_574_1 = 0;  
  32   2                      clk_574_1 = 1;
  33   2                                       
  34   2                      data_574 &= 0xFD;
  35   2                      DBUS = data_574;        
  36   2                      clk_574_1 = 0;                                                              
  37   2                      clk_574_1 = 1;          
  38   2                      data_574 |= 0x02;
  39   2                      DBUS = data_574;        
  40   2                      clk_574_1 = 0;  
  41   2                      clk_574_1 = 1;
  42   2      
  43   2              }
  44   1              data_574 |= 0x01;
  45   1              DBUS = data_574;
  46   1              clk_574_1 = 0;
  47   1              clk_574_1 = 1;//574输出锁存数据,选通DAC
  48   1      
  49   1              if(c <= 0x06c9) 
  50   1                 RL_ONOFF(0);  //吸合低压继电器 0 ~ 15  
  51   1              else 
  52   1                 RL_ONOFF(1);  //吸合高压继电器  15 ~ 30
  53   1                                
  54   1      }
  55          
C51 COMPILER V8.08   DAC                                                                   10/01/2008 23:53:31 PAGE 2   

  56          /************************************************************************************
  57                             继电器切换 1: 高压吸合   0: 低压吸合     
  58          ************************************************************************************/
  59          void  RL_ONOFF(bit i)
  60          {
  61   1          if(i==1)
  62   1              {
  63   2                      data_574  |= 0x20;
  64   2                      data_574  &= 0xbf;
  65   2                      DBUS      =  data_574;  
  66   2                      clk_574_1 =  0; 
  67   2                      clk_574_1 =  1;
  68   2              }
  69   1              else
  70   1              {
  71   2                      data_574  |= 0x40;
  72   2                      data_574  &= 0xdf;
  73   2                      DBUS      =  data_574;  
  74   2                      clk_574_1 =  0; 
  75   2                      clk_574_1 =  1;
  76   2                      data_5741 =  data_574;
  77   2              }       
  78   1      }
  79          
  80          /************************************************************************************
  81                             蜂鸣器    1: 开   0: 关      
  82          ************************************************************************************/
  83          void  BELL_ONOFF(bit i)
  84          {
  85   1          if(i == 0)
  86   1              {
  87   2                      data_574  |= 0x10;
  88   2                      DBUS      =  data_574;  
  89   2                      clk_574_1 =  0; 
  90   2                      clk_574_1 =  1;
  91   2              }
  92   1              else
  93   1              {
  94   2                      data_574  &= 0xef;
  95   2                      DBUS      =  data_574;  
  96   2                      clk_574_1 =  0; 
  97   2                      clk_574_1 =  1;
  98   2                      data_5741 =  data_574;
  99   2              }       
 100   1      }
 101          /************************************************************************************
 102                             实际输出电压转换成DA输出值 ,返回整形数        
 103          ************************************************************************************/
 104          uint conver(float x)
 105          {
 106   1          float temp;
 107   1              temp = 14.995 / 0x0745;
 108   1              temp = x / temp;
 109   1              return(uint)temp;
 110   1      }
 111          
 112          /************************************************************************************
 113                             控制背光开关 1:开   0:关         
 114          ************************************************************************************/
 115          void  LED_ONOFF(bit i)
 116          {
 117   1              if(i==1)
C51 COMPILER V8.08   DAC                                                                   10/01/2008 23:53:31 PAGE 3   

 118   1              {
 119   2                      data_574  |= 0x80;
 120   2                      DBUS      =  data_574;  
 121   2                      clk_574_1 =  0; 
 122   2                      clk_574_1 =  1;
 123   2              }
 124   1              else
 125   1              {
 126   2                      data_574  &= 0x7f;
 127   2                      DBUS      =  data_574;  
 128   2                      clk_574_1 =  0; 
 129   2                      clk_574_1 =  1;
 130   2              } 
 131   1              data_5741 =  data_574; 
 132   1      }
 133          
 134          /************************************************************************************
 135                             输出补偿调整          
 136          ************************************************************************************/
 137          void change(void)
 138          {
 139   1              
 140   1      }
 141          
 142          
 143          
 144          
 145          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    239    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -