您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > cc2530AD通道采值
/*********************头文件*************************************************/#includeioCC2530.h#includestring.h/*********************宏定义*************************************************/#defineuintunsignedint#defineucharunsignedchar//----------------LED控制端口------------------------------------------------//#defineGLEDP1_0//绿色LED定义#defineRLEDP1_1//红色LED定义//----------------按键输入端口-----------------------------------------------//#defineKEY1P0_0/*********************全局变量**********************************************/unsignedcharUart0_Rx;unsignedcharAD_Data[]=ADC通道7电压测量值为:0.000V\r\n;//测量电压值floatAD_Value;unsignedcharAD_Temp[2];unsignedintAD_Temp1;/*********************函数声明***********************************************/voidDelay(uint);voidInit_LED(void);voidInit_Uart0(void);voidInit_Sysclk(void);voidUart0_TX_Data(unsignedchar*Data,intlen);/*******************************************************************************函数名称:voidDelay(uintn)*函数功能:软件延时函数*入口参数:*出口参数:*备注:******************************************************************************/voidDelay(uintn){uinti;for(i=0;in;i++);for(i=0;in;i++);for(i=0;in;i++);for(i=0;in;i++);for(i=0;in;i++);}/*******************************************************************************函数名称:voidInit_Uart0(void)*函数功能:Uart0初始化设置*入口参数:*出口参数:*备注:******************************************************************************/voidInit_Uart0(void){PERCFG=0x00;//位置1P0口P0SEL=0x3c;//P0_2,P0_3用作串口P2DIR&=~0XC0;//P0优先作为UART0U0CSR|=0x80;//UART方式U0GCR|=8;U0BAUD|=59;//波特率设为9600bpsUTX0IF=0;//UART0TX中断标志初始置位0U0CSR|=0X40;//允许接收IEN0|=0x84;//开总中断,接收中断}/*******************************************************************************函数名称:voidUart0_TX_Data(unsignedchar*Data,intlen)*函数功能:串口0发送一组数据*入口参数:*出口参数:*备注:******************************************************************************/voidUart0_TX_Data(unsignedchar*Data,intlen){intj;for(j=0;jlen;j++){U0DBUF=*Data++;while(UTX0IF==0);UTX0IF=0;}}/*******************************************************************************函数名称:voidInit_AD(void)*函数功能:AD初始化函数*入口参数:*出口参数:*备注:******************************************************************************/voidInit_AD(void){ADCH&=0X00;//清EOC标志ADCCON3=0xb7;//单次转换,参考电压为电源电压,对AIN7进行A/D转换,14位分辨率P0.7ADCCON1=0X30;//停止A/DADCCON1|=0X40;//启动A/D}/*******************************************************************************函数名称:voidInit_Sysclk()*函数功能:设置系统时钟*入口参数:*出口参数:*备注:******************************************************************************/voidInit_Sysclk(void){CLKCONCMD&=~0x40;//设置系统时钟源为32MHZ晶振while(CLKCONSTA&0x40);//等待晶振稳定CLKCONCMD&=~0x47;//设置系统主时32MHZ}/*******************************************************************************函数名称:voidInit_LED(void)*函数功能:初始化LED*入口参数:*出口参数:*备注:******************************************************************************/voidInit_LED(void){P1DIR=0x03;//P1.0P1.1设置为输出RLED=1;//初始化LED状态GLED=1;}/*******************************************************************************函数名称:voidmain(void)*函数功能:主函数*入口参数:*出口参数:*备注:******************************************************************************/voidmain(void){Init_Sysclk();//初始化系统时钟Init_Uart0();//串口0设置Init_LED();//初始化LEDInit_AD();//AD转换初始化while(1){if(ADCCON1=0x80){AD_Temp[1]=ADCL;AD_Temp[0]=ADCH;Init_AD();//启动下一次AD转换AD_Temp[1]=AD_Temp[1]2;AD_Temp[1]|=AD_Temp[0]6;AD_Temp[0]=AD_Temp[0]2;//数据处理AD_Temp[0]&=0x3f;AD_Value=(AD_Temp[0]*256+AD_Temp[1])*3.3/8192;//定参考电压为3.3V,14位精确度,有一位符号位,取2^13=8192AD_Value=AD_Value*1000;//放大1000倍AD_Temp1=(unsignedint)AD_Value;AD_Data[21]=(unsignedchar)(AD_Temp1/1000)+48;AD_Data[23]=(unsignedchar)((AD_Temp1%1000)/100)+48;AD_Data[24]=(unsignedchar)((AD_Temp1%100)/10)+48;AD_Data[25]=(unsignedchar)(AD_Temp1)%10+48;Uart0_TX_Data(AD_Data,28);//串口输出电压值Delay(50000);Delay(50000);Delay(50000);Delay(50000);}}}/*******************************************************************************函数名称:voidUART0_ISR(void)*函数功能:Uart0中断服务子程序*入口参数:*出口参数:*备注:******************************************************************************/#pragmavector=URX0_VECTOR__interruptvoidUART0_ISR(void){URX0IF=0;//清中断标志Uart0_Rx=U0DBUF;}/*********************结束*************************************************/
本文标题:cc2530AD通道采值
链接地址:https://www.777doc.com/doc-2903639 .html