• 12为AD采样

    12位ad采样通过不同通道的采样 // C8051F020 AD采集示例程序 //******************************************************************* // C8051F020 AD采集 //*******************************************************************/ /************************预定义************************************/ #i nclude <C8051F020.h> #i nclude <intrins.h> #i nclude <stdio.h> #i nclude <math.h> /******************************************************************* 定义IO口和变量 *******************************************************************/ sbit LCDBUSY = P3^0; //LCD忙信号位 sbit REQ = P3^1; //LCD请求信号位 sbit RES = P3^2; //LCD复位信号位 sfr16 ADC0 = 0xbe; unsigned int xdata ADC0_data1[800]; //AD通道一采集数据存放数组 unsigned int xdata ADC0_data2[800]; //AD通道二采集数据存放数组 unsigned int data ADC0_data_n; //AD采集次数 unsigned int data ADC0_data_n1; //通道一采集次数 unsigned int data ADC0_data_n2; //通道二采集次数 bit m;//AD采集完标志 /******************************************************************* 函数声明 *******************************************************************/ void Sjcl(void);//AD采集完100次数据处理函数 void ADC0_ISR(void);//ADC0中断函数声明 void write_data(unsigned char writedata);//写数据到LCD void send_ascii8(unsigned char x,unsigned char y,unsigned char ascii);//显示8*8ASCII /******************************************************************** 子函数定义 ********************************************************************/ void delay_us(int timer)//us沿时 { timer*=20;//时钟周期调整 for(;timer>0;timer--) _nop_(); } void delay_ms(int i)//ms沿时 { for(;i>0;i--) delay_us(1000); } void lcd_init(void)//lcd初始化 { RES=0; delay_ms(20); RES=1; REQ=0; LCDBUSY=0; } /******************************************************************** 系统初始化函数

    4
    170
    8KB
    2013-05-19
    10
关注 私信
上传资源赚积分or赚钱