📄 zu.c
字号:
/****************************************************************************
文件名:main.c
编写者:czhang
描述:适用比较器A测电阻值模块。用于13xx 14xx 15xx 16xx系列。
MCLK:DCO ACLK:32.768kHz
版本:2005-4 V1.0
*****************************************************************************/
#include <msp430x14x.h>
#include "general.h"
#include "comparator.h"
#include "df_bh_timera.h"
#include "zu.h"
#define RDIR P1DIR
#define ROUT P1OUT
#define REF BIT0 //参考电阻接 P1.0
#define RSEN BIT1 //被测电阻接 P1.1
#define REF_ZHI 10 //参考电阻的阻值,K欧姆
/****************************************************************************
测量电阻阻值
返回值:电阻值
*****************************************************************************/
float MeasureR()
{
unsigned int time_ref0,time_ref1,time_rsen0,time_rsen1,iq0,iq1;
float fr;
unsigned char t0,t1;
//充电
RDIR |= REF; //通过REF充电
ROUT |= REF;
DelayMs(15); //延时15ms
//测REF放电时间
ClearBuHuo();
time_ref0=TAR;
ROUT &= ~REF; //通过REF放电
while(GetTime(&time_ref1)==0); //读REF放电的时间
iq1=time_ref1-time_ref0;
//充电
RDIR |= REF; //通过REF充电
ROUT |= REF;
DelayMs(15); //延时15ms
//测RSEN放电时间
ClearBuHuo();
time_rsen0=TAR;
RDIR &= ~REF; //停止通过REF充电
ROUT &= ~RSEN; //通过RSEN放电
RDIR |= RSEN;
while(GetTime(&time_rsen1)==0); //读REF放电的时间
iq0=time_rsen1-time_rsen0;
RDIR &= ~RSEN; //停止放电
//计算电阻值
fr=(float)REF_ZHI*iq0;
fr=fr/iq1;
return fr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -