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

📄 ad7705.lst

📁 单片机实现AD7705采集
💻 LST
字号:
C51 COMPILER V7.08   AD7705                                                                10/17/2007 14:10:40 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE AD7705
OBJECT MODULE PLACED IN ad7705.OBJ
COMPILER INVOKED BY: E:\软件安装\kc\C51\BIN\C51.EXE ad7705.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include <stdio.h>
   3          #include <intrins.h>
   4          #include<3310.h>
   5          #include <INTRINS.H>
   6          #define uchar unsigned char
   7          #define uint  unsigned int
   8          unsigned int voltage;
   9          unsigned int ad7705timer;
  10          uchar as_0[7];
  11          sbit sclk_0=P1^0;//时钟脉冲
  12          sbit rs=P1^1;
  13          sbit dy=P1^2;
  14          sbit dout=P1^3;
  15          sbit din=P1^4;
  16          void UART_INIT();//串口初始化
  17          void chushi();
  18          void a3310dis();
  19          void writetoreg(uchar byteword);//写入数据
  20          unsigned int read();//读数据
  21          unsigned int Read();
  22          void process(long x);
  23          //======================
  24          /*void delay(int n)//延时
  25          { int i;
  26            for(i=0;i<n;i++);
  27            
  28          }*/
  29          //================================
  30          //================================
  31          void writetoreg(uchar byteword)//数据写入
  32          {
  33   1        uint  i,j,x;
  34   1        dy=0;
  35   1         for(i=0;i<16;i++)
  36   1         {
  37   2            dy=0;
  38   2           sclk_0=0;
  39   2           _nop_ ();
  40   2           sclk_0=1;
  41   2           j=byteword<<1;
  42   2              din=j&0x80;
  43   2              x=!din;
  44   2        }
  45   1        P0=x; 
  46   1      }   
  47          //================================
  48          unsigned int Read()//读数据
  49          {
  50   1        uchar jx,out,dk;
  51   1        rs=0;
  52   1         dy=0;
  53   1        for(jx=0;jx<16;jx++)
  54   1        {
  55   2         dy=0;
C51 COMPILER V7.08   AD7705                                                                10/17/2007 14:10:40 PAGE 2   

  56   2         rs=1;
  57   2         sclk_0=0;
  58   2         _nop_ ();
  59   2         _nop_ ();
  60   2         sclk_0=1;
  61   2         jx|=dout;
  62   2         dk=jx<<1;
  63   2         out=dk&0x80;
  64   2        }
  65   1        
  66   1        return(out);
  67   1      }
  68          //=============================
  69          void process(long x)//数据处理
  70          {
  71   1        as_0[5]=x/100000;
  72   1        x=x%100000;
  73   1        as_0[4]=x/10000;
  74   1        x=x%10000;
  75   1        as_0[3]=x/1000;
  76   1        x=x%1000;
  77   1        as_0[2]=x/100;
  78   1        x=x%100;
  79   1        as_0[1]=x/10;
  80   1        as_0[0]=x%10;
  81   1      }
  82          //=======================================
  83          void a3310dis()//数据显示
  84          {
  85   1           display1(22,0,number[as_0[5]]);
  86   1           display1(30,0,number[as_0[4]]);
  87   1           display1(38,0,number[as_0[3]]);
  88   1           display1(46,0,number[as_0[2]]);
  89   1           display1(54,0,number[as_0[1]]);
  90   1               display1(62,0,number[as_0[0]]);
  91   1      }
  92          //====================================
  93          //====================================
  94          //主函数
  95          void main()
  96          { 
  97   1       unsigned int a;
  98   1         init();//液晶初始化  
  99   1          clr();//清屏
 100   1        // UART_INIT();//串口初始化
 101   1       /*  writetoreg(0x01);
 102   1         writetoreg(0x02);//选择时钟寄存器+
 103   1         writetoreg(0x0c);//50HZ转换频率*/
 104   1         writetoreg(0x03);//选择设置寄存器
 105   1         writetoreg(0x01);//自校准模式,增益为1
 106   1         dy=0;
 107   1         while(1)
 108   1         {  
 109   2            dy=0; 
 110   2             writetoreg(0x38);//自校准模式,增益为1
 111   2                  a=Read();//读数据
 112   2                // delay(2);
 113   2                 process(a);//数据处理
 114   2                 a3310dis();//3310显示
 115   2         }
 116   1      }
 117          /***************************************/
C51 COMPILER V7.08   AD7705                                                                10/17/2007 14:10:40 PAGE 3   

 118          //--------------------------串口初始化
 119          /*void  UART_INIT()
 120          {
 121           SCON=0X53;//选择串口方式1;
 122           TMOD=0X20;//定时器1方式1;
 123           TH1=0XFA;
 124           TL1=0XFA;
 125           TR1 =1;              //启动定时器T1
 126           ET1 =0; 
 127           ES=1;                //允许串行口中断
 128          // PS=1;                //设计串行口中断优先级
 129           EA =1;               //单片机中断允许
 130           PCON=0X80;//波特率加倍为9600
 131          }*/
 132          //=====================数据处理
 133          //=============================
 134          


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