adc.c

来自「KIT RTC按键设置闹钟程序!」· C语言 代码 · 共 78 行

C
78
字号

 #include<lpc214x.h>
 #include <code.h>




//10K的热敏电阻0-50度所对应的码表值
const unsigned  int Temp_code[]=
{
//	0-25
	2843,2718,2599,2486,2379,2277,2180,2087,1999,1916,1836,1760,1688,1619,1553,1490,1430,1373,1319,1266,1217,1169,1124,1081,1039,1000,
//	26--50
	962,925,891,857,826,795,766,738,711,686,661,638,615,593,573,553,534,515,497,480,464,449,433,419,405,
//	51-75
//	392,379,366,355,343,332,321,311,301,292,283,274,265,257,249,242,234,227,220,214,208,201,195,190,184,
//	76--100
//	179,174,169,164,159,155,150,146,142,138,134,131,127,124,120,117,114,111,108,105,102,100,97,94,92
		
	
};

/***********************************************************************
//查电阻值所对应的温度是多少
***********************************************************************/


unsigned char check_code(unsigned int k)
{
	unsigned char i;
	if(k<405)return(51);	//大于50度以上都显示为51度
	for(i=0;k<Temp_code[i];i++);
	return (i-1);
	
}
 
/***********************************************************************
//R=30K或20K
//RT=10K
***********************************************************************/


unsigned int Totemp(unsigned int AD)
{	
	unsigned int Itemp;
	unsigned int Tk;
	Tk=1023-AD;

	Itemp=(unsigned int)(((unsigned long)1000*AD)/Tk);		//扩大100倍
	return(Itemp);
}


unsigned char  Get_Temp(unsigned int i)
{
return (check_code(Totemp(i)));	//转换温度
}




void Ad_fun (void) {                             /* Delay function */
  unsigned int val;
  unsigned char t;
  AD0CR |= 1<<24;                          /* Start A/D Conversion */
  do {
    val = AD0DR1;                                /* Read A/D Data Register */
  }                    while ((val & 0x80000000) == 0);            /* Wait for end of A/D Conversion */
  AD0CR &= ~0x01000000;                         /* Stop A/D Conversion */
  val = (val >> 6) & 0x03FF;                    /* Extract AIN0 Value */

  t=Get_Temp(val)-2;			               //校准

  Draw_a(t/10,88,0,8); 
  Draw_a(t%10,96,0,8);
  Draw_a(13,104,0,8);

  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?