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

📄 zu.c

📁 MSP430单片机测量电阻及在LCM103的显示
💻 C
字号:
/****************************************************************************
文件名:main.c
编写者:czhang
描述:适用比较器A测电阻值模块。用于13xx 14xx 15xx 16xx系列。
      MCLK:DCO   ACLK:32.768kHz
版本:2005-4 V1.0
*****************************************************************************/
#include  <msp430xw42x.h>
//#include "general.h"
#include "comparator.h"
#include "df_bh_timera.h"   
#include "zu.h"

#define RDIR P3DIR
#define ROUT P3OUT
#define REF BIT3	//参考电阻接 P3.3
#define RSEN BIT4	//被测电阻接 P3.4

#define REF_ZHI 0.986	//参考电阻的阻值,K欧姆


void DelayMs(void)
{
 unsigned int k;
 for (k=0;k<10000;k++){};
}

/****************************************************************************
测量电阻阻值
返回值:电阻值
*****************************************************************************/
float MeasureR()
{
	unsigned int time_ref0,time_ref1,time_rsen0,time_rsen1,iq0,iq1;
	float fr;
	

  //充电                                
	RDIR |= REF;		//通过REF充电
	ROUT |= REF;
	DelayMs();		//延时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();		//延时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 + -