毕业设计
附录一:
A/D转换程序
#include<reg52.h>
sbit ad_cs=P1^1; //AD转换器AD7705硬件I/O定义 sbit ad_sclk=P1^0; sbit ad_dout=P1^4; //AD输入输出I/O sbit ad_din=P1^3; //AD输入输出I/O sbit ad_reset=P1^2; //AD7705复位 sbit ad_drdy=P1^5; //AD7705
data unsigned int lsb,msb; void delay()
{ data unsigned int i; i=0;
while(i<7000) { i++; } }
void ad_write(unsigned char command)//数据输入 { data unsigned char i; ad_sclk=1; ad_cs=0; i=8;
while(i!=0)
{ ad_sclk=0; ad_in=command&0x80; ad_sclk=1;
command=command<<1; i--; }
ad_din=1; //送完命令置'1',准备输入数据 ad_cs=1; }
//设置A/D转换模式.然后可以连续读出结果.
Void ad_set (unsigned char ch,unsigned char gain) // //ch=1,2;gain=0,1,2,3(1,2,4,8...) ch通道 gain 增益
{ data unsigned char i=0x46; //单极性,加缓冲器 data unsigned char j=gain; j=j<<3; i=i|j;
ad_write(0x0f+ch); //写通讯寄存器,选择通道1,2,并建立下一个操作为写设置寄存器