-
大小: 37KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-06-10
- 語言: 其他
- 標簽: zigbeecc2530??ADC??電壓表??原創??
資源簡介
基于zigbeecc2530的電壓表實例,12位分辨率,將所測電壓通過串口發送到電腦,注釋詳細。歡迎下載

代碼片段和文件信息
/**********************************************************************
****************采用通道6(P06)采集電壓信號,通過串口發送到電腦*******
*****************參考電壓為AVDD_SOC(3.3V),12位分辨率****************
**********************************************************************/
#include?
#include?“adc.h“
#include?“uart.h“
#include?“led.h“
#include?
#include?
/***********************************************************
延時函數
*************************************************************/
void?delay(uint?z)
{
????uint?xy;
????for(x=z;?x>0;?x--)
???????for(y=590;?y>0;?y--);
??????
}
/***********************************************************
初始化時鐘參數
*************************************************************/
void?ClockInit(void)
{
????CLKCONCMD?=?0x28;???????????//時器計數時鐘設定為1M?Hz??系統時鐘設定為32?MHz?
????while(CLKCONSTA?&?0x40);????//等晶振穩定
}
/***********************************************************
串口初始化
*************************************************************/
void?UARTInit(void)
{
??
??PERCFG?=?0;???????//配置UART0的IO位置為備用位置1
??P0SEL??=?0x3c;????//P0.2-PO.5設置為外設功能的端口
??P2DIR??&=?~(3<<6);//設置UART0為第一優先級,UART1為第二優先級,
??U0CSR??|=?(1<<7);?//select?the?mode?as?UART?mode
??U0GCR??|=?0x09;????
??U0BAUD?|=?59;?????//19200
??UTX0IF?=?1;???????//clear?the?interrupt?flag
??U0CSR?|=?(1<<6);??//enable?receive?bit
??IEN0?|=?0x84;
}
/*********************************************************
發送函數?note:?“length“?is?the?length?of?one?line
**********************************************************/
void?UartTX_Send_String(char?*Dataint?len)
{
??int?j;
??for(j=0;j ??{
????U0DBUF?=?*Data++;
????while(UTX0IF?==?0);
????UTX0IF?=?0;
??}
??U0DBUF?=?0x0A;????????//?換行
??while(UTX0IF?==?0);
????UTX0IF?=?0;
}
/*********************************************************
格式化函數?將電壓值轉換成數組
**********************************************************/
void?format(float?vol?char?a[6])
{
????char?ge?=?0;//個位
????char?fen?=?0;//分位
????char?shifen?=?0;//十分位
????char?baifen?=?0;//百分位
????uint?i?=?0;
????vol?=?vol*1000;//擴大1000倍
????i?=?(uint)vol;//轉換為整形
????ge?=?(i?/?1000)?+?0x30;//變成asicc
????fen?=?(i?/?100?%?10)?+?0x30;
????shifen?=(i?%?100?/?10)?+?0x30;
????baifen?=?(i?%?10)?+?0x30;
????a[0]?=?ge;
????a[1]?=?‘.‘;
????a[2]?=?fen;
????a[3]?=?shifen;
????a[4]?=?baifen;
????a[5]?=?‘v‘;
}
/**************************************************************
*function:ADInit()
*This?funciton??is?order?to?initialize?ADC?of?CC2530
*單次采樣,采用端口為P0.6
**************************************************************/
float?getVol(void)
{
??uchar?i?=?0;
??uint?value?=?0;
??long?uint?AdcValue?=?0;//防止溢出
??float?vol?=?0.0;
??SET_IO_PORT_DIR(06IO_IN);//設置P0..6為輸入模式
??ADC_ENABLE_CHANNEL(6);????//使能通道6作為ADC的采樣通道
??for(i=0;?i<4;?i++)
??{
????ADC_SINGLE_CONVERSION(ADC_REF_AVDD?|?ADC_12_BIT?|?ADC_AIN6);//片上3.3V參考電壓12位,6通道
????ADC_SAMPLE_SINGLE();?
????while(!(ADCCON1?&?0x
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-03-25?13:08??ad?for?voltage\
?????文件????????4403??2013-03-25?13:00??ad?for?voltage\adc.h
?????目錄???????????0??2013-03-25?13:08??ad?for?voltage\Debug\
?????目錄???????????0??2013-03-25?13:08??ad?for?voltage\Debug\Exe\
?????文件???????21660??2013-03-25?13:07??ad?for?voltage\Debug\Exe\voltageAD.d51
?????目錄???????????0??2013-03-25?13:08??ad?for?voltage\Debug\List\
?????目錄???????????0??2013-03-25?13:08??ad?for?voltage\Debug\Obj\
?????文件???????35032??2013-03-25?13:07??ad?for?voltage\Debug\Obj\main.r51
?????文件?????????158??2013-03-25?13:07??ad?for?voltage\Debug\Obj\voltageAD.pbd
?????文件????????4969??2012-02-29?21:51??ad?for?voltage\hal_defs.h
?????文件????????3834??2012-02-29?21:46??ad?for?voltage\hal_types.h
?????文件????????2645??2013-03-22?10:24??ad?for?voltage\led.h
?????文件????????4460??2013-03-25?13:07??ad?for?voltage\main.c
?????目錄???????????0??2013-03-25?13:08??ad?for?voltage\settings\
?????文件????????2181??2013-03-25?13:07??ad?for?voltage\settings\voltageAD.cspy.bat
?????文件????????5245??2013-03-25?13:07??ad?for?voltage\settings\voltageAD.dbgdt
?????文件?????????614??2013-03-25?13:07??ad?for?voltage\settings\voltageAD.dni
?????文件????????2876??2013-03-25?13:07??ad?for?voltage\settings\voltageAD.wsdt
?????文件?????????183??2012-06-05?16:35??ad?for?voltage\uart.h
?????文件????????2711??2013-03-25?13:07??ad?for?voltage\voltageAD.dep
?????文件???????26857??2013-03-25?13:07??ad?for?voltage\voltageAD.ewd
?????文件???????53184??2013-03-25?13:07??ad?for?voltage\voltageAD.ewp
?????文件?????????163??2013-03-25?12:55??ad?for?voltage\voltageAD.eww
評論
共有 條評論