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

📄 max1293_1.lst

📁 max1293,12Bit,220Ksps,ADC驱动
💻 LST
字号:
C51 COMPILER V7.01  MAX1293_1                                                              08/21/2006 21:24:24 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE MAX1293_1
OBJECT MODULE PLACED IN MAX1293_1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MAX1293_1.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*******************************************************
   2          
   3                   电压采集(使用MAX1293)液晶(1602)显示
   4                   MAX1293驱动程序
   5          
   6          
   7          ********************************************************/
   8          /********************************************************
   9          
  10                  MAX1293驱动程序
  11          
  12          ********************************************************/
  13          /********************************************************
  14          MAX1293信息:  
  15                        1.使用内部基准(2.5V)
  16                        2.使用单极输入
  17                        3.内部时钟
  18          MAX1293接口信息:
  19                        MAX1293_HBEN---->
  20                        MAX1293_INT----->
  21                        MAX1293_RD------>
  22                        MAX1293_WR------>
  23                        MAX1293_CS------>
  24                        MAX1293_IO------>
  25           
  26          *********************************************************/
  27          #include<AT89X51.H>
  28          unsigned char code ram1[]="MAX1293 Convert ";
  29          unsigned char code ram2[]="                ";
  30          #define _1602DATAS_
  31          #include <1602Drive.H>
  32          
  33          
  34          //MAX1293接口信息:
  35          sbit       MAX1293_HBEN    =P1^4;
  36          sbit       MAX1293_INT     =P3^2;
  37          sbit       MAX1293_RD      =P1^2;
  38          sbit       MAX1293_WR      =P1^1;
  39          sbit       MAX1293_CS      =P1^0;
  40          #define    MAX1293_IO      P0
  41          //函数声明表
  42          void MAX1293_Initial(void);
  43          void MAX1293_Delay(unsigned char d);
  44          void MAX1293_Write(unsigned char a);
  45          void MAX1293_Read(void);
  46          void System_Initial(void);
  47          void MAX1293_Disp(void);
  48          
  49          bit bdata int_flag,read_flag,time_flag;
  50          unsigned char data lowdata,highdata;
  51          /*********************************************************************
  52            函数名称: main
  53            函数功能: 主函数
  54            输入参数: 无
  55            输出参数: 无    
C51 COMPILER V7.01  MAX1293_1                                                              08/21/2006 21:24:24 PAGE 2   

  56            返回值:   无
  57          *********************************************************************/
  58          void main(void)
  59          {
  60   1          System_Initial();
  61   1          LCDInitial();
  62   1          WriteDatas();
  63   1              ClrLCD();
  64   1          MAX1293_Initial();                  //动作:上电延时,并设置MAX1293控制字为01000000 ??
  65   1          MAX1293_Write(0x99);                //使用内部时钟,单端单极输入,通道为CH1
  66   1          while(1)
  67   1              {
  68   2                  if(time_flag==1)                  //50ms启动一次转换
  69   2                      {
  70   3                          time_flag=0;
  71   3                          
  72   3                          MAX1293_Write(0x99);
  73   3                      }
  74   2                  MAX1293_Read();
  75   2                  MAX1293_Disp();
  76   2                  
  77   2              }    
  78   1      }
  79          /*********************************************************************
  80            函数名称: MAX1293_Initial
  81            函数功能: 初始化MAX1293
  82            输入参数: 无
  83            输出参数: 无    
  84            返回值:   无
  85          *********************************************************************/
  86          void MAX1293_Initial(void)
  87          {
  88   1          MAX1293_Delay(20);                         //MAX1293上电复位,至少500us
  89   1          MAX1293_Write(0x40);                       //MAX1293处于待机模式,时钟关闭0100 0000
  90   1      }
  91          /*********************************************************************
  92            函数名称: MAX1293_Delay
  93            函数功能: MAX1293延时,延时时间为 2*25*d us
  94            输入参数: d(延时调节变量)
  95            输出参数: 无    
  96            返回值:   无
  97          *********************************************************************/
  98          void MAX1293_Delay(unsigned char d)
  99          {
 100   1          unsigned char data t;
 101   1          for(;d>0;d--)
 102   1             {
 103   2                  for(t=25;t>0;t--)
 104   2                      {
 105   3                          ;
 106   3                      }
 107   2              }
 108   1      }
 109          /*********************************************************************
 110            函数名称: MAX1293_Write
 111            函数功能: 写控制字给MAX1293
 112            输入参数: a(控制代码)
 113            输出参数: 无    
 114            返回值:   无
 115          *********************************************************************/
 116          void MAX1293_Write(unsigned char a)
 117          {
C51 COMPILER V7.01  MAX1293_1                                                              08/21/2006 21:24:24 PAGE 3   

 118   1          MAX1293_CS=0;
 119   1          MAX1293_Delay(1);                          //延时50us  
 120   1          MAX1293_WR=0;
 121   1          MAX1293_Delay(1);                          //延时50us
 122   1          MAX1293_IO=a;
 123   1          MAX1293_Delay(1);                          //延时50us
 124   1          MAX1293_WR=1;                              //当4个内部时钟下降沿后,开始转换
 125   1          MAX1293_CS=1;                              
 126   1         
 127   1      }
 128          /*********************************************************************
 129            函数名称: MAX1293_Read
 130            函数功能: 读出MAX1293的转换结果
 131            输入参数: 无
 132            输出参数: 无    
 133            返回值:   无
 134          *********************************************************************/
 135          void MAX1293_Read(void)
 136          {
 137   1          if(int_flag==1)
 138   1              {
 139   2                  int_flag=0;
 140   2                  MAX1293_HBEN=0;
 141   2                  MAX1293_CS=0;
 142   2                  MAX1293_Delay(1);                  //延时50us
 143   2                  MAX1293_RD=0;
 144   2                  MAX1293_Delay(1);                  //延时50us
 145   2                  lowdata=MAX1293_IO;
 146   2                  MAX1293_HBEN=1;
 147   2                  MAX1293_Delay(1);                  //延时50us
 148   2                  highdata=MAX1293_IO;
 149   2                  MAX1293_Delay(1);                  //延时50us
 150   2                  MAX1293_RD=1;
 151   2                  MAX1293_CS=1;
 152   2                  read_flag=1;
 153   2      
 154   2                              lowdata=0x00;
 155   2                              highdata=0xf0;
 156   2              }
 157   1      }
 158          /*********************************************************************
 159            函数名称: MAX1293_Interrupt
 160            函数功能: 检测转换状况,并给予标志
 161            输入参数: 无
 162            输出参数: 无    
 163            返回值:   无
 164          *********************************************************************/
 165          void MAX1293_Interrupt(void) interrupt 0 using 1
 166          {
 167   1          int_flag=1;
 168   1      }
 169          void MAX1293_timer(void) interrupt 1  using 2
 170          {
 171   1          TH0=(65536-50000)/256;
 172   1          TL0=(65536-50000)%256;
 173   1          time_flag=1;
 174   1      }
 175          /*********************************************************************
 176            函数名称: System_Initial
 177            函数功能: 系统初始化
 178            输入参数: 无
 179            输出参数: 无    
C51 COMPILER V7.01  MAX1293_1                                                              08/21/2006 21:24:24 PAGE 4   

 180            返回值:   无
 181          *********************************************************************/
 182          void System_Initial(void)
 183          {
 184   1          TH0=(65536-50000)/256;
 185   1          TL0=(65536-50000)%256;
 186   1          TMOD=0x01;
 187   1          ET0=1;
 188   1          EX0=1;
 189   1          EA=1;
 190   1          TR0=1;
 191   1          int_flag=0;
 192   1          read_flag=0;
 193   1          time_flag=0;
 194   1      
 195   1      }
 196          /*********************************************************************
 197            函数名称: MAX1293_Disp
 198            函数功能: 将转换结果显示到1602中
 199            输入参数: 无
 200            输出参数: 无    
 201            返回值:   无
 202          *********************************************************************/
 203          unsigned char code address1[]={0x8c,0x8b,0x8a,0x89,0x88,0x87,0x86,0x85};
 204          unsigned char code address2[]={0x83,0x82,0x81,0x80};
 205          void MAX1293_Disp(void)
 206          {
 207   1          unsigned char i,addr,dat;
 208   1          if(read_flag==1)
 209   1              {
 210   2                  read_flag=0;
 211   2                  for(i=0;i<8;i++)
 212   2                      {
 213   3                          dat=((lowdata>>i)&0x01)+0x30;
 214   3                          addr=address1[i];
 215   3                          Writeonedata(addr,dat);
 216   3                  
 217   3                      }
 218   2                  for(i=0;i<4;i++)
 219   2                      {
 220   3                          dat=((highdata>>i)&0x01)+0x30;
 221   3                          addr=address2[i];
 222   3                          Writeonedata(addr,dat);
 223   3                      }
 224   2              }        
 225   1      }
 226          


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