コードも載せときます。
プロジェクト全部は
こちらから。
//---------------------------------------------------
// C main line
//---------------------------------------------------
#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
#include <stdlib.h>
#define ADC 4096.0
#define PGAGAIN 4.0
#define VREF 2.6
#define SUM 50
void main()
{
// Insert your main routine code here.
int data , i, j;
float temp ;
char *ostr ;
LCD_1_Init() ;
LCD_1_Position(0,0) ;
LCD_1_PrCString("PSoC Thermometer") ;
M8C_EnableGInt ; // global interrupt enabling macro
PGA_1_SetGain(PGA_1_G4_00) ;
PGA_1_Start(PGA_1_HIGHPOWER) ;
ADCINC_1_Start(ADCINC_1_HIGHPOWER) ;
ADCINC_1_GetSamples(0) ; // read AD convert continuously
for(;;) {
temp = 0 ;
for( i=0; i<SUM; i++) {
while(ADCINC_1_fIsDataAvailable() == 0 ) ;
ADCINC_1_iClearFlagGetData() ;
data = ADCINC_1_iGetData() ;
temp += (data * VREF * 100 ) / ( ADC * PGAGAIN) ; //calculate AD --> temp
}
temp /= SUM ;
ostr = ftoa(temp,&j) ;
ostr[5] = '\0' ;
LCD_1_Position(1,2) ;
LCD_1_PrHexInt(data) ;
LCD_1_Position(1,7) ;
LCD_1_PrString(ostr) ;
}
}
2007年11月30日金曜日
PSoC温度計を作ってみた(その4)
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿