本程序需要用到AD7705.淘宝10元就可以连接在里面都有注释。mini32F103可用。其他版本只要用移植AD7705。c和。h就可以,高速测量。
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "lcd.h"
- #include "adc.h"
- #include "ad7705.h"
- //ALIENTEK Mini STM32开发板范例代码15
- //ADC实验
-
- int main(void)
- {
- u32 adcx;
- float temp;
- delay_init(); //延时函数初始化
- uart_init(9600); //串口初始化为9600
- //LED_Init(); //初始化与LED连接的硬件接口
- LCD_Init();
- Adc_Init(); //ADC初始化
- SPIx_Init();
- POINT_COLOR=RED;//设置字体为红色
- LCD_ShowString(60,50,200,16,16,"Mini STM32");
- LCD_ShowString(60,70,200,16,16,"ADC TEST");
- LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
- LCD_ShowString(60,110,200,16,16,"2014/3/9");
- //显示提示信息
- POINT_COLOR=BLUE;//设置字体为蓝色
- LCD_ShowString(60,130,200,16,16,"ADC_CH1_VAL:");
- LCD_ShowString(60,150,200,16,16,"ADC_CH1_VOL:0.000000V");
- Init_AD7705(2);
- while(1)
- {
- //adcx=Get_Adc_Average(ADC_Channel_1,10);
-
-
-
- adcx=GetData7705_CH2();
- LCD_ShowxNum(156,130,adcx,5,16,0);//显示ADC的值
- temp=(float)adcx*(5.0/65535);
- //temp=(float)adcx*(3.3589/65535)*3/2;
- adcx=temp;
- LCD_ShowxNum(156,150,adcx,1,16,0);//显示电压值
- temp-=adcx;
- temp*=1000000;
- LCD_ShowxNum(172,150,temp,6,16,0X80);
- LED0=!LED0;
- delay_ms(250);
- }
- }
复制代码
所有资料51hei提供下载:
7705ADC实验.rar
(7.6 MB, 下载次数: 393)
|