用AD5933做的阻抗测量仪设计--带完整程序(5)

2019-02-17 17:36

23456484746454443424140393837PD7PD6PD5PD4PB4PB5PB6PB7PC0PC1PC2PC3

CSWCLK/TCK/PC00-//PSWDIO/TCMSPBC41C1-/PB5TRST/PB7C0+PB6SWO/TDO/PC3J162FCa0ulot/PD76CCP2/PD5CCP0/PD4TDI/PC2PC5/C1o/C1+PC4/CCP5PA0/U0RxPA2/SSIClkPA1/U0TxVADDP3/SSIFssGNDPA4/SSIRxPA5/SSITxVDDGND基于AD5933的阻抗测量仪

5VD23V3R2470K504RSTC2105C3103D1LED470R3R43V33V3LDOBY1OSC0R110KS12KEY3ENCAT811RRSNGNDOUT附图9 Luminary615 最小系统图

C4103C5103C6103C7104C8475C9475C10104C11105CRYSTALC1218pFC1318pFATitleSizeBDate:File:234519-Jun-2009Sheet of F:\\备战2009\\硬件原理图\\Luminary615\\615.ddbDrawn By:6NumberRevisionOSC1BC11475IN131415161718192021222324

DU16364PE51PE42PE33PE24LDO53V36GND7OSC08OSC19PC710PC6115V121234567891011126151615261546153131415161718192021222324ADC0ADC1PE3/CCP1PE2/CCP4RSTLDOVDDGNDOSC0OSC1PC7/C2-PC6/CCP3/C2+PWM5/PE1PWM4/PE0I2CSDA/PB3I2CSCL/PB2VDDGNDPWM3/PB1PWM2/PB0U1Tx/PD3U1Rx/PD2PWM1/PD1PWM0/PD0373839404142434445464748252627282930313233343536PC5PC43V3GNDPA0PA1PA2PA3PA4PA53V3GND131415161718192021222324PE51PE42PE33PE24RST5LDO63V37GND8OSC09OSC110PC711PC612363534333231302928272625PE1PE0PB3PB23V3GNDPB1PB0PD3PD2PD1PD0PE0PE1PB2PB3GND3V3PB0PB1PD2PD3PD0PD1373839404142434445464748PD6PD7PD4PD5PB5PB4PB7PB6PC1PC0PC3PC2252627282930313233343536CLM3S615GND3V3PA5PA4PA3PA2PA1PA0GND3V3PC4PC51D

A

1 基于AD5933的阻抗测量仪

附录三 程序清单

/******************************************************************************************************

**文件名:xiangwei.c

**功能:通过LM3S615实现对AD5933的控制,实现阻抗测量

**说明:AD5933是I2C接口的,LM3S通过模拟I2C接口实现对AD5933的控制。 ********************************************************************************************************/

#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \

#ifndef uchar

#define uchar unsigned char #endif

// I2C引脚的定义。

#define SDA GPIO_PIN_3 // 模拟I2C数据传送位

#define SCL GPIO_PIN_2 // 模拟I2C时钟控制位

#define SDAA GPIO_PIN_5 //模拟I2C数据传送位 #define SCLL GPIO_PIN_4 //模拟I2C时钟控制位

#define AD5933_addr 0x1A //从机地址

#define SET_POINT 0xB0 //0xB0命令表示写入地址

unsigned char j=0;

//---------------------------------------------------------------------------------------------------------------------

// 函数原形:void delays(unsigned int n) // 功能描述:延时数量为n个指令周期。

基于AD5933的阻抗测量仪

// 参数说明:unsigned int n,将要延时的时间数。 // 返回值:无

//---------------------------------------------------------------------------------------------------------------------

void delays(unsigned int n) // 软件延迟函数

{

volatile int i; for(;n>0;n--) {

for(i=0;i<10;i++); } }

//---------------------------------------------------------------------------------------------------------------------

// 函数原形:InitAD5933(void)

// 功能描述:AD5933初始化函数。

// 参数说明:无。 // 返回值:无

//---------------------------------------------------------------------------------------------------------------------

void InitAD5933(void)

{

ISend(AD5933_addr,0x82,0x00); //start frequency delays(5);

ISend(AD5933_addr,0x83,0xFA); //1kHz delays(5);

ISend(AD5933_addr,0x84,0x05); delays(5);

ISend(AD5933_addr,0x85,0x00); //increment frequency delays(5);

ISend(AD5933_addr,0x86,0x31); //500Hz delays(5);

ISend(AD5933_addr,0x87,0x81); delays(5);

ISend(AD5933_addr,0x88,0x01); //测量点数 delays(5);

ISend(AD5933_addr,0x89,0xFF);

delays(5);

ISend(AD5933_addr,0x80,0xB1); //标准模式 delays(5);

基于AD5933的阻抗测量仪

ISend(AD5933_addr,0x81,0x00); //选着内部时钟 delays(5);

ISend(AD5933_addr,0x81,0x10); //复位AD5933 delays(5);

ISend(AD5933_addr,0x81,0x00); delays(5);

ISend(AD5933_addr,0x80,0x11); //初始化频率 delays(5);

ISend(AD5933_addr,0x8A,0x03); //等待建立周期数 delays(5);

ISend(AD5933_addr,0x8B,0xFF); delays(5);

ISend(AD5933_addr,0x80,0x21); //启动频率扫描 delays(5); }

//---------------------------------------------------------------------------------------------------------------------

// // // //

函数原形:void display(unsigned int re,unsigned int im) 功能描述:显示函数。

参数说明:unsigned int re,unsigned int im ,实部和虚部 返回值:无

//---------------------------------------------------------------------------------------------------------------------

void display(signed int re,signed int im) {

unsigned char a[11],y=0,x=0,i=0; signed int revalu=0,imvalu=0; float valu=0; double xishu=0,regist; long int ll;

revalu=re;

imvalu=im;

if(revalu&0x8000) //把带符号的换算成无符号整数 {

revalu=(revalu-0x10000)*(-1); x=1;

}

if(imvalu&0x8000) //把带符号的换算成无符号整数 {

基于AD5933的阻抗测量仪

imvalu=(imvalu-0x10000)*(-1);

y=1; }

valu=sqrt(imvalu*imvalu+revalu*revalu); //计算幅值 switch(j) { case 0:

if((valu<13000)&&(valu>8000)) {

xishu=(1/(96.86810)); //计算系数 xishu=(1/(xishu*valu))*100000+0.5; //计算阻值 ll=xishu-250; i=1; } break; case 1:

if((valu<13000)&&(valu>1350)) {

xishu=(1/(13.33726)); //计算系数 xishu=(1/(xishu*valu))*1000000+0.5; //计算阻值 ll=xishu-100; i=1; }

break; case 3:

if((valu<12000)&&(valu>1050)) {

xishu=(1/(10.398994)); //计算系数 xishu=(1/(xishu*valu))*10000000+0.5; //计算阻值 ll=xishu; i=1; } break; case 4:

if((valu<12000)&&(valu>1000)) {

xishu=(1/(96.736596)); //计算系数 xishu=(1/(xishu*valu))*10000000+0.5; //计算阻值 ll=xishu; i=1; }

break; case 5:

if((valu<2130)&&(valu>1060))


用AD5933做的阻抗测量仪设计--带完整程序(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:海沧区关于赴福州学习考察情况的报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: