这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 基于AT89c52的精密微小电阻测量

共4条 1/1 1 跳转至

基于AT89c52的精密微小电阻测量

菜鸟
2019-05-27 16:00:37     打赏
电阻.z电阻.zipip
#include "XPT2046.h"
/****************************************************************************
*º¯ÊýÃû£ºTSPI_Start
*Êä  È룺ÎÞ
*Êä  ³ö£ºÎÞ
*¹¦  ÄÜ£º³õʼ»¯´¥ÃþSPI
****************************************************************************/
void SPI_Start(void)
{
 CLK = 0;
 CS  = 1;
 DIN = 1;
 CLK = 1;
 CS  = 0;  
}
/****************************************************************************
*º¯ÊýÃû£ºSPI_Write
*Êä  È룺dat£ºÐ´ÈëÊý¾Ý
*Êä  ³ö£ºÎÞ
*¹¦  ÄÜ£ºÊ¹ÓÃSPIдÈëÊý¾Ý
****************************************************************************/
void SPI_Write(uchar dat)
{
 uchar i;
 CLK = 0;
 for(i=0; i<8; i++)
 {
  DIN = dat >> 7;   //·ÅÖÃ×î¸ßλ
  dat <<= 1;
  CLK = 0;   //ÉÏÉýÑØ·ÅÖÃÊý¾Ý
  CLK = 1;
 }
}
/****************************************************************************
*º¯ÊýÃû£ºSPI_Read
*Êä  È룺ÎÞ
*Êä  ³ö£ºdat£º¶ÁÈ¡ µ½µÄÊý¾Ý
*¹¦  ÄÜ£ºÊ¹ÓÃSPI¶ÁÈ¡Êý¾Ý
****************************************************************************/
uint SPI_Read(void)
{
 uint i, dat=0;
 CLK = 0;
 for(i=0; i<12; i++)  //½ÓÊÕ12λÊý¾Ý
 {
  dat <<= 1;
  CLK = 1;
  CLK = 0;
  dat |= DOUT;
 }
 return dat; 
}
/****************************************************************************
*º¯ÊýÃû£ºRead_AD_Data
*Êä  È룺cmd£º¶ÁÈ¡µÄX»òÕßY
*Êä  ³ö£ºendValue£º×îÖÕÐźŴ¦Àíºó·µ»ØµÄÖµ
*¹¦  ÄÜ£º¶ÁÈ¡´¥ÃþÊý¾Ý
****************************************************************************/
uint Read_AD_Data(uchar cmd)
{
 uchar i;
 uint AD_Value;
 CLK = 0;
 CS  = 0;
 SPI_Write(cmd);
 for(i=6; i>0; i--);  //ÑÓʱµÈ´ýת»»½á¹û
 CLK = 1;   //·¢ËÍÒ»¸öʱÖÓÖÜÆÚ£¬Çå³ýBUSY
 _nop_();
 _nop_();
 CLK = 0;
 _nop_();
 _nop_();
 AD_Value=SPI_Read();
 CS = 1;
 return AD_Value; 
}



关键词: AT89c52     精密     微小     电阻     测量    

菜鸟
2019-05-27 16:09:55     打赏
2楼

楼主可以说明一下这个程序吗?


工程师
2019-05-27 20:15:31     打赏
3楼

没看懂


工程师
2019-06-11 21:10:30     打赏
4楼

木有看懂


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]