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

📄 max195.lst

📁 MAX195的驱动程序,这是最简单和一种接法.16位的AD转换芯片.我的毕业设计时候用的
💻 LST
字号:
C51 COMPILER V7.06   MAX195                                                                11/04/2008 00:24:46 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAX195
OBJECT MODULE PLACED IN max195.OBJ
COMPILER INVOKED BY: F:\keil c\C51\BIN\C51.EXE max195.c BROWSE DEBUG OBJECTEXTEND TABS(16)

stmt level    source

   1          /***************************************
   2          毕业设计总程序
   3          日期:07。11。25
   4          *****************************************/
   5          #include<reg52.h>  
   6          #include<slcd12864.h>
   7          #include<max531.h>
   8          #include<max195.h>
   9          #define uchar unsigned char
  10          #define uint unsigned int  
  11          
  12          sbit red = P3^5;
  13          sbit green=P3^4;  
  14          
  15          uint j;
  16          
  17          uint  max531_data=0;
  18          
  19          uint max195_data0,max195_data1,max195_data2,
  20                 max195_data3,max195_data4,max195_data5,max195_data6;
  21          float  max195_data=0;
  22                                                                                                                            
  23          const uchar dis_0[]={"毫欧表          "};
  24          const uchar dis_1[]={"量程:4m 欧~400欧"};
  25          const uchar dis_2[]={"现在的电阻值:   "};  
  26          const uchar dis_6[]={"毫欧"};
  27          
  28          
  29          /*******************************************
  30          显示固定的函数
  31          ***********************************************/
  32          void dis()
  33          {
  34   1        uchar i;
  35   1        write_command(0x80);
  36   1        for(i=0;i<16;i++)
  37   1        {
  38   2          write_data(dis_0[i]);       
  39   2        }
  40   1      
  41   1        write_command(0x90);
  42   1        for(i=0;i<16;i++)
  43   1        {
  44   2          write_data(dis_1[i]);
  45   2                      
  46   2        }
  47   1      
  48   1        write_command(0x88);
  49   1        for(i=0;i<16;i++)
  50   1        {
  51   2          write_data(dis_2[i]);
  52   2        }              
  53   1          
  54   1        write_command(0x9e);
  55   1        for(i=0;i<4;i++)
C51 COMPILER V7.06   MAX195                                                                11/04/2008 00:24:46 PAGE 2   

  56   1        {
  57   2          write_data(dis_6[i]);
  58   2        }                
  59   1      
  60   1      }
  61          /**********************************************
  62           函数:void display()
  63           功能:显示函数
  64           ************************************************/
  65          void display()
  66          {
  67   1        uchar i;
  68   1        float da;
  69   1        uint d1;
  70   1        uint d2;
  71   1        uint d3;
  72   1      
  73   1        uint Test;
  74   1      
  75   1        uchar dis_3[5];
  76   1        uchar dis_4[4]; 
  77   1        
  78   1        da=max195_data0+max195_data1+max195_data2+max195_data3+max195_data4+max195_data5+max195_data6;
  79   1         
  80   1        //max195_data=(uint)(da/2);                                                     
  81   1        //Test=(uint)(20*(max195_data));                 
  82   1        //Test=max195_data;
  83   1      
  84   1        d1=max195_data0+max195_data1; 
  85   1        d1=d1/2;
  86   1      
  87   1        d2=(max195_data2+max195_data3);
  88   1        d2=d2/2;
  89   1      
  90   1        d3=max195_data4+max195_data5;
  91   1        d3=d3/2;
  92   1      
  93   1        da=(d1+d2+d3);
  94   1        Test=(uint)(da/1.301);
  95   1      
  96   1        dis_3[0]=Test/10000;
  97   1        dis_3[1]=Test%10000/1000;
  98   1        dis_3[2]=Test%1000/100;
  99   1        dis_3[3]=Test%100/10;
 100   1        dis_3[4]=Test%10;
 101   1         
 102   1       
 103   1        dis_4[0]=max531_data/1000;
 104   1        dis_4[1]=max531_data%1000/100;
 105   1        dis_4[2]=max531_data%100/10;
 106   1        dis_4[3]=max531_data%10;
 107   1      
 108   1        write_command(0x98);
 109   1        for(i=0;i<4;i++)
 110   1        {
 111   2         write_data(dis_4[i]+0x30);   
 112   2        }                             
 113   1      
 114   1        write_command(0x9b);
 115   1        for(i=0;i<5;i++)
 116   1        {
 117   2         write_data(dis_3[i]+0x30);   
C51 COMPILER V7.06   MAX195                                                                11/04/2008 00:24:46 PAGE 3   

 118   2        }                
 119   1      } 
 120          /****************************************
 121          函数:void time_0() interrupt 1
 122          功能:中断函数,计到一秒就赋值显示
 123          *****************************************/
 124          void time_0() interrupt 1
 125          {
 126   1        TH0=0x3c;
 127   1        TL0=0xb0;
 128   1        j++;                                                          
 129   1        if(j==10)                      //计到100ms
 130   1         { 
 131   2          TR0=0;  
 132   2                      display();      
 133   2                      j=0;            
 134   2         }
 135   1      }
 136          /************************************************************/
 137          void main()
 138          { 
 139   1        
 140   1        lcd_init();
 141   1        TMOD=0x01;    //T1计数,T0定时,都工作在方式1
 142   1        TH0=0x3c;
 143   1        TL0=0xb0;       //50ms中断一次,计数二十次
 144   1        ET0=1;
 145   1        TR0=0;
 146   1        EA=1; 
 147   1        dis(); 
 148   1        max531_data=1000;             
 149   1        while(1)
 150   1        {             
 151   2      
 152   2                      write_max531(max531_data); 
 153   2          max195_data0=max195_change();               
 154   2                      delay(10000);
 155   2      
 156   2                      write_max531(max531_data); 
 157   2          max195_data1=max195_change();               
 158   2                      delay(10000);
 159   2      
 160   2                      write_max531(max531_data); 
 161   2          max195_data2=max195_change();               
 162   2                      delay(10000);
 163   2      
 164   2                      write_max531(max531_data); 
 165   2          max195_data3=max195_change();               
 166   2                      delay(10000);
 167   2      
 168   2                      write_max531(max531_data); 
 169   2          max195_data4=max195_change();               
 170   2                      delay(10000);
 171   2                      
 172   2                      write_max531(max531_data); 
 173   2          max195_data5=max195_change();               
 174   2                      delay(10000);
 175   2      
 176   2                      write_max531(max531_data); 
 177   2          max195_data6=max195_change();               
 178   2                      delay(10000);
 179   2      //TR0=1;
C51 COMPILER V7.06   MAX195                                                                11/04/2008 00:24:46 PAGE 4   

 180   2                      display();      
 181   2          if(max195_data>60000){red=0;green=1;max531_data=20;}
 182   2          else{green=0;red=1;max531_data=1000;}  
 183   2        }
 184   1      }


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