|
|
/******************* IOÅäÖú¯Êý *******************/
void GPIO_config(void)
{
P0_MODE_IN_HIZ(GPIO_Pin_LOW | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6); //P0.0~P0.6 ÉèÖÃΪ¸ß×èÊäÈë
P1_MODE_IN_HIZ(GPIO_Pin_All); //P1.0~P1.7 ÉèÖÃΪ¸ß×èÊäÈë
P3_MODE_IO_PU(GPIO_Pin_0 | GPIO_Pin_1); //P3.0,P3.1 ÉèÖÃΪ׼˫Ïò¿Ú
}
/******************* ADÅäÖú¯Êý *******************/
void ADC_config(void)
{
ADC_InitTypeDef ADC_InitStructure; //½á¹¹¶¨Òå
ADC_InitStructure.ADC_SMPduty = 31; //ADC Ä£ÄâÐźŲÉÑùʱ¼ä¿ØÖÆ, 0~31£¨×¢Ò⣺ SMPDUTY Ò»¶¨²»ÄÜÉèÖÃСÓÚ 10£©
ADC_InitStructure.ADC_CsSetup = 0; //ADC ͨµÀÑ¡Ôñʱ¼ä¿ØÖÆ 0(ĬÈÏ),1
ADC_InitStructure.ADC_CsHold = 1; //ADC ͨµÀÑ¡Ôñ±£³Öʱ¼ä¿ØÖÆ 0,1(ĬÈÏ),2,3
ADC_InitStructure.ADC_Speed = ADC_SPEED_2X16T; //ÉèÖà ADC ¹¤×÷ʱÖÓÆµÂÊ ADC_SPEED_2X1T~ADC_SPEED_2X16T
ADC_InitStructure.ADC_AdjResult = ADC_RIGHT_JUSTIFIED; //ADC½á¹ûµ÷Õû, ADC_LEFT_JUSTIFIED,ADC_RIGHT_JUSTIFIED
ADC_Inilize(&ADC_InitStructure); //³õʼ»¯
ADC_PowerControl(ENABLE); //ADCµçÔ´¿ª¹Ø, ENABLE»òDISABLE
NVIC_ADC_Init(DISABLE,Priority_0); //ÖжÏʹÄÜ, ENABLE/DISABLE; ÓÅÏȼ¶(µÍµ½¸ß) Priority_0,Priority_1,Priority_2,Priority_3
}
/*************** ´®¿Ú³õʼ»¯º¯Êý *****************/
void UART_config(void)
{
COMx_InitDefine COMx_InitStructure; //½á¹¹¶¨Òå
COMx_InitStructure.UART_Mode = UART_8bit_BRTx; //ģʽ, UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART_9bit_BRTx
COMx_InitStructure.UART_BRT_Use = BRT_Timer1; //Ñ¡Ôñ²¨ÌØÂÊ·¢ÉúÆ÷, BRT_Timer1,BRT_Timer2 (×¢Òâ: ´®¿Ú2¹Ì¶¨Ê¹ÓÃBRT_Timer2)
COMx_InitStructure.UART_BaudRate = 115200ul; //²¨ÌØÂÊ, 110 ~ 115200
COMx_InitStructure.UART_RxEnable = ENABLE; //½ÓÊÕÔÊÐí, ENABLE»òDISABLE
UART_Configuration(UART1, &COMx_InitStructure); //³õʼ»¯´®¿Ú UART1,UART2,UART3,UART4
NVIC_UART1_Init(ENABLE,Priority_1); //ÖжÏʹÄÜ, ENABLE/DISABLE; ÓÅÏȼ¶(µÍµ½¸ß) Priority_0,Priority_1,Priority_2,Priority_3
UART1_SW(UART1_SW_P30_P31); //UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17,UART1_SW_P43_P44
}
/**********************************************/
void main(void)
{
u8 i;
u16 j;
WTST = 0; //ÉèÖóÌÐòÖ¸ÁîÑÓʱ²ÎÊý£¬¸³ÖµÎª0¿É½«CPUÖ´ÐÐÖ¸ÁîµÄËÙ¶ÈÉèÖÃΪ×î¿ì
EAXSFR(); //À©Õ¹SFR(XFR)·ÃÎÊʹÄÜ
CKCON = 0; //Ìá¸ß·ÃÎÊXRAMËÙ¶È
GPIO_config();
//UART_config();
ADC_config();
EA = 1;
//printf("STC32G AD to UART Test Programme!\r\n"); //UART·¢ËÍÒ»¸ö×Ö·û´®
while (1)
{
//for(i=0; i<16; i++)
{
delay_ms(200);
//Get_ADCResult(i); //²ÎÊý0~15,²éѯ·½Ê½×öÒ»´ÎADC, ¶ªÆúÒ»´Î
j = Get_ADCResult(0); //²ÎÊý0~15,²éѯ·½Ê½×öÒ»´ÎADC, ·µ»ØÖµ¾ÍÊǽá¹û, == 4096 Ϊ´íÎó
//printf("AD%02d=%04d ",i,j);
//if((i & 7) == 7) printf("\r\n");
}
//printf("\r\n");
}
} |
-
|