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

📄 zu.c

📁 MSP430系列单片机资料-7册-46.3M-pdf.zip
💻 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 + -