• 大小: 158KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: C8051F020  C  单片机  ADC  

资源简介

利用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\cyglink.txt

     文件      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


评论

共有 条评论