資源簡介
利用C8051F系列單片機的內部ADC,對外部模擬電壓信號,采樣,進行轉化,通過串口連接到PC,通過串口調試工具,觀察數據變化,

代碼片段和文件信息
/****************************************************************************??
**--------------文件信息---------------------------------------------------------------------------
**?功能:實現ADC1采樣電壓AD轉換的值通過串口發給PC, ?
**?作者:CHAOZAI
**?時間:2009-08-16
注:
**?用內部基準:VREF和VREF1相連
**?Vref=2.44V
**?Gain=1
**?采用22.1184M晶振,二分頻;??
** 外部引腳連接
**??P1^1?——外部采樣電壓
**??P0^1?——RXD
**??P0^0?——TXD
*********************H.document*************************/
#include?????????????????
#include?
#include?
/********?16-bit?SFR?Definitions?for?‘F02x*************/ ??
sfr16?DP???????=?0x82;????//?data?pointer
sfr16?TMR3RL???=?0x92;????//?Timer3?reload?value
sfr16?TMR3?????=?0x94;????//?Timer3?counter
sfr16?ADC0?????=?0xbe;????//?ADC0?data
sfr16?ADC0GT???=?0xc4;????//?ADC0?greater?than?window
sfr16?ADC0LT???=?0xc6;????//?ADC0?less?than?window
sfr16?RCAP2????=?0xca;????//?Timer2?capture/reload
sfr16?T2???????=?0xcc;????//?Timer2
sfr16?RCAP4????=?0xe4;????//?Timer4?capture/reload
sfr16?T4???????=?0xf4;????//?Timer4
sfr16?DAC0?????=?0xd2;????//?DAC0?data
sfr16?DAC1?????=?0xd5;????//?DAC1?data
/********************宏定義*************************/
#define?BAUDRATE?????115200??????//?Baud?rate?of?UART?in?bps
#define?SYSCLK?????22118400??????//?SYSCLK?frequency?in?Hz
#define?SYSCLK_0???11059200
#define?SAMPLE_RATE??50000???????//?Sample?frequency?in?Hz
#define?INT_DEC??????256?????????//?integrate?and?decimate?ratio
#define AMX0SL_AIN???1 ?????????//?0=AIN0....7=AIN78=TEMP
/******************函數說明************************/
void?Init_Device(void);
void?UART0_Init?(void);
void?ADC_Init(void);
/******************定義全局變量********************/
unsigned?int?result;
float?ADNUM;
int?TEMP;?
unsigned?char?NUMHNUML;
/******************主函數*************************/
void?main?(void)?
{
???Init_Device();
???UART0_Init?();????//?initialize?UART0
???ADC_Init?();??????//?init?ADC
???EA?=?1;???
???ADC1CN?|=0X80;
???ADC1CN?|=0X90;
??????????????????
???while?(1)?
????{?
???while((ADC1CN&0XB0)==0);
???ADC1CN&=0X80;
??
???ADNUM=TEMP=result=ADC1;
???????printf(“THE?AD_NUMBER?float?is?%f\n“ADNUM);
???printf(“THE?AD_NUMBER?int?is?%d\n“TEMP);
???printf(“THE?AD_NUMBER?hex?is?%+4#x\n“result);
???ADC1CN|=0X90;
}
}
/*************關閉看門狗*********************/ ?
//?Peripheral?specific?initialization?functions
//?Called?from?the?Init_Device()?function
void?Reset_Sources_Init()
{
????WDTCN?????=?0xDE;
????WDTCN?????=?0xAD;
}
/**************ADC1初始化*******************/
void?ADC_Init()
{
????ADC1CF????=?0xF9;
????AMX1SL????=?0x01;
}
/*************電壓基準初始化****************/
void?Voltage_Reference_Init()
{
????REF0CN????=?0x03;
}
/**************I-O初始化*******************/
void?Port_IO_Init()
{
????P1MDIN????=?0x00;
????XBR2??????=?0xC0;
P1????????=?0XFF;
????XBR0????=?0x04;?????????????????????//?Enable?UART0
????P0MDOUT?|=?0x01;
}
/***********外部晶振初始化******************/
void
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4217??2009-08-18?15:41??ADC1-PORT\ADC.#1
?????文件????????510??2009-08-18?16:01??ADC1-PORT\ADC1-PORT.plg
?????文件?????????44??2009-08-18?15:56??ADC1-PORT\ADC1-PORT.lnp
?????文件??????11765??2009-08-18?16:00??ADC1-PORT\ADC1-PORT.M51
?????文件???????8190??2009-08-18?15:56??ADC1-PORT\ADC1-PORT.hex
????.......?????????0??2009-08-18?11:27??ADC1-PORT\ADC1-PORT_Uv2.Bak
?????文件???????2207??2009-08-18?11:46??ADC1-PORT\ADC1-PORT.Uv2
?????文件??????10271??2009-08-18?15:41??ADC1-PORT\ADC1-PORT.#3
?????文件??????32948??2009-08-18?15:52??ADC1-PORT\ADC1-PORT.wsp
?????文件???????4217??2009-08-18?16:01??ADC1-PORT\ADC.c
?????文件????????114??2009-08-18?16:00??ADC1-PORT\cygli
?????文件??????10271??2009-08-18?15:56??ADC1-PORT\ADC1-PORT.#2
?????文件??????10366??2009-08-18?16:00??ADC1-PORT\ADC1-PORT.#1
?????文件???????7264??2009-08-18?16:00??ADC1-PORT\ADC.LST
?????文件???????7695??2009-08-18?16:00??ADC1-PORT\ADC.OBJ
?????文件????????314??2009-08-18?16:00??ADC1-PORT\tmp.out
?????文件??????10366??2009-08-18?16:00??ADC1-PORT\ADC1-PORT
????.......??????1787??2009-08-18?15:50??ADC1-PORT\ADC1-PORT_Opt.Bak
?????文件???????1788??2009-08-18?16:01??ADC1-PORT\ADC1-PORT.Opt
?????文件???????2222??2002-08-27?21:39??串口調試助手\help.htm
?????文件????????242??2002-08-27?22:18??串口調試助手\readme.txt
?????文件?????266240??2002-08-27?22:59??串口調試助手\串口調試助手V2.2.exe
?????目錄??????????0??2009-08-18?11:15??ADC1-PORT
?????目錄??????????0??2009-08-18?15:51??串口調試助手
-----------?---------??----------?-----??----
???????????????393038????????????????????24
評論
共有 條評論