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

📄 ad7705.lst

📁 Ad7705.c程序,供大家学习,希望对大家有帮助!!!
💻 LST
字号:
C51 COMPILER V8.02   AD7705                                                                02/22/2009 11:38:18 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE AD7705
OBJECT MODULE PLACED IN AD7705.OBJ
COMPILER INVOKED BY: E:\Proteus_keil\Keil\C51\BIN\C51.EXE AD7705.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<intrins.h>
   3          #define uchar unsigned char
   4          
   5          uchar datah,datal;
   6          
   7          sbit cs_7705=P1^0;               //AD7705片选
   8          sbit din_7705=P1^1;              //数据输入口
   9          sbit dout_7705=P1^2;     //数据输出口
  10          sbit clk_7705=P1^3;              //同步时钟
  11          sbit drdy_7705=P1^4;     //转换结束标志位
  12          
  13          
  14          
  15          void delay_7705(uchar count_7705)
  16          {
  17   1               uchar i;
  18   1               for(;count_7705>0;count_7705--)
  19   1               for(i=0;i<200;i++)                        //1ms
  20   1               {
  21   2                _nop_();_nop_();_nop_();_nop_();_nop_();
  22   2               }
  23   1      }
  24          
  25          void write_7705(uchar dat)              //写入一个字节
  26          {
  27   1               uchar i;
  28   1               clk_7705=1;
  29   1               cs_7705=0;
  30   1               for(i=0;i<8;i++)
  31   1               {
  32   2                dat=dat<<1;
  33   2                din_7705=CY;
  34   2                clk_7705=0;
  35   2                clk_7705=1;
  36   2               }
  37   1               clk_7705=1;
  38   1               din_7705=1;
  39   1               cs_7705=1;
  40   1      }
  41          
  42          
  43          void init_7705()                  //初始化
  44          {
  45   1               uchar i;
  46   1               clk_7705=1;              //
  47   1               din_7705=1;              //
  48   1               for(i=0;i<40;i++)        // 防止接口迷失                                 (011数据)
  49   1               {                                        // STBY写1进入等待                      (010时钟)
  50   2                clk_7705=0;             //                                                     (001设置)
  51   2                clk_7705=1;             //                                                    (000通信)                              (0:正常)
  52   2               }                                        //                                       (0)(先寄存器)(0写)     (1:等待) (通道选择)
  53   1               write_7705(0x20);        //通道1,下一个写时钟    DRDY RS2 RS1 RS0    R/W  STBY        CH1 CH0
  54   1               write_7705(0x06);        //设置时钟
  55   1               write_7705(0x10);        //通道1,下一个写设置
C51 COMPILER V8.02   AD7705                                                                02/22/2009 11:38:18 PAGE 2   

  56   1               write_7705(0x44);        //写设置
  57   1               delay_7705(50);          //延时50ms
  58   1      }
  59          
  60          uchar read_byte()
  61          {
  62   1        uchar i,temp;
  63   1        temp=0;
  64   1        for(i=0;i<8;i++)
  65   1        {
  66   2         temp=temp<<1;
  67   2         clk_7705=0;
  68   2         if(dout_7705)temp=temp|0x01;
  69   2         clk_7705=1;
  70   2        }
  71   1        return temp;
  72   1      }
  73          
  74          
  75          void read_7705(uchar channel)
  76          {
  77   1       write_7705(0x38|channel);
  78   1       while(drdy_7705==1);
  79   1       clk_7705=1;
  80   1       cs_7705=0;
  81   1       datal=read_byte();
  82   1       datah=read_byte();
  83   1       clk_7705=1;
  84   1       din_7705=1;
  85   1       cs_7705=1;
  86   1      }
  87          
  88          
  89          void main()
  90          {
  91   1       init_7705();
  92   1      
  93   1       read_7705(0);   //0:通道1  1:通道2   读通道1的16位数据到datah,datal
  94   1      
  95   1      }
  96          
  97          


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