STM32内部AD采样实现简易电压表同时显示直流电压波形.docx
《STM32内部AD采样实现简易电压表同时显示直流电压波形.docx》由会员分享,可在线阅读,更多相关《STM32内部AD采样实现简易电压表同时显示直流电压波形.docx(41页珍藏版)》请在冰豆网上搜索。
STM32内部AD采样实现简易电压表同时显示直流电压波形
//内部AD可显示正确的电压值。
ohyeah!
调了我两天呀!
总算调出来了yeah!
//我第一个想到的就是与大家一起分享我的程序。
ohyeah!
还请各位大侠多多指教呀!
大家一起学习交流。
/*******************************************************************************
*FileName:
main.c
*Author:
WuhanR&DCenter,Embest
*DateFirstIssued:
08/08/2008
*Description:
Mainprogrambody
********************************************************************************/
/*Includes------------------------------------------------------------------*/
#include"stm32f10x_"
#include"stdio.h"
//#include"monitor.h"
/************用于定义ITMViewer相关的ITM激励寄存器端口************************/
/*#defineITM_Port8(n)(*((volatileunsignedchar*)(0xE0000000+4*n)))
#defineITM_Port16(n)(*((volatileunsignedshort*)(0xE0000000+4*n)))
#defineITM_Port32(n)(*((volatileunsignedlong*)(0xE0000000+4*n)))
#defineDEMCR(*((volatileunsignedlong*)(0xE000EDFC)))
#defineTRCENA0x01000000*/
/*用于定义是否使用ITMViewer*/
//#defineDBG_ITM
/*Privatetypedef-----------------------------------------------------------*/
/*Privatedefine------------------------------------------------------------*/
#defineADC1_DR_Address((u32)0x4001244C)
floatAD_value;
intAD_value1;
//staticunsignedlongticks;
//unsignedcharClock1s;
u8adc_1[10]={0};//用来存放经ADC转换后的电压值的每一位数值。
/*Privatemacro-------------------------------------------------------------*/
/*Privatevariables---------------------------------------------------------*/
ADC_InitTypeDefADC_InitStructure;
DMA_InitTypeDefDMA_InitStructure;
vu16ADC_ConvertedValue;
ErrorStatusHSEStartUpStatus;
/*Privatefunctionprototypes-----------------------------------------------*/
voidRCC_Configuration(void);
voidGPIO_Configuration(void);
voidNVIC_Configuration(void);
voidSysTick_Configuration(void);
voidSetupClock(void);
/*Privatefunctions---------------------------------------------------------*/
/*******************************************************************************
*FunctionName:
main
*Description:
Mainprogram
*Input:
None
*Output:
None
*Return:
None
*******************************************************************************/
#defineLED1ONGPIO_SetBits(GPIOF,GPIO_Pin_0)
#defineLED1OFFGPIO_ResetBits(GPIOF,GPIO_Pin_0)//片选cs
#defineLED2ONGPIO_SetBits(GPIOF,GPIO_Pin_1)
#defineLED2OFFGPIO_ResetBits(GPIOF,GPIO_Pin_1)//复位rest
#defineLED3ONGPIO_SetBits(GPIOF,GPIO_Pin_2)
#defineLED3OFFGPIO_ResetBits(GPIOF,GPIO_Pin_2)//数据sdata
#defineLED4ONGPIO_SetBits(GPIOF,GPIO_Pin_3)
#defineLED4OFFGPIO_ResetBits(GPIOF,GPIO_Pin_3)//时钟sclk
unsignedcharVer='A';//驱动版本,默认为A版本,一共4个版本
unsignedcharzifu[]={
/*--文字:
--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
!
--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
/*--文字:
"--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x28,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
#--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x28,0x28,0xFC,0x28,0x50,0xFC,0x50,0x50,0x00,0x00,
/*--文字:
$--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x20,0x78,0xA8,0xA0,0x60,0x30,0x28,0xA8,0xF0,0x20,0x00,
/*--文字:
%--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x48,0xA8,0xB0,0x50,0x28,0x34,0x54,0x48,0x00,0x00,
/*--文字:
&--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x20,0x50,0x50,0x78,0xA8,0xA8,0x90,0x6C,0x00,0x00,
/*--文字:
'--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
(--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x04,0x00,
/*--文字:
)--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x40,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x00,
/*--文字:
*--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x20,0xA8,0x70,0x70,0xA8,0x20,0x00,0x00,0x00,
/*--文字:
+--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x20,0x20,0x20,0xF8,0x20,0x20,0x20,0x00,0x00,0x00,
/*--文字:
,--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x80,
/*--文字:
---*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
.--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,
/*--文字:
/--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x08,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x80,0x00,
/*--文字:
0--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00,
/*--文字:
1--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
/*--文字:
2--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x40,0x80,0xF8,0x00,0x00,
/*--文字:
3--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x88,0x08,0x30,0x08,0x08,0x88,0x70,0x00,0x00,
/*--文字:
4--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x10,0x30,0x50,0x50,0x90,0x78,0x10,0x18,0x00,0x00,
/*--文字:
5--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0xF8,0x80,0x80,0xF0,0x08,0x08,0x88,0x70,0x00,0x00,
/*--文字:
6--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x90,0x80,0xF0,0x88,0x88,0x88,0x70,0x00,0x00,
/*--文字:
7--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0xF8,0x90,0x10,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
/*--文字:
8--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x88,0x70,0x00,0x00,
/*--文字:
9--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x88,0x88,0x88,0x78,0x08,0x48,0x70,0x00,0x00,
/*--文字:
:
--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x00,
/*--文字:
;--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x00,
/*--文字:
<--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00,
/*--文字:
=--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,
/*--文字:
>--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00,
/*--文字:
?
--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x20,0x00,0x20,0x00,0x00,
/*--文字:
@--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x70,0x88,0x98,0xA8,0xA8,0xB8,0x80,0x78,0x00,0x00,
/*--文字:
A--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x20,0x20,0x30,0x50,0x50,0x78,0x48,0xCC,0x00,0x00,
/*--文字:
B--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0x48,0xF0,0x00,0x00,
/*--文字:
C--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是8的倍数,现调整为:
宽度x高度=8x12--*/
0x00,0x00,0x78,0x88,0x80,0x80,0x80,0x80,0x88,0x70,0x00,0x00,
/*--文字:
D--*/
/*--宋体9;此字体下对应的点阵为:
宽x高=6x12--*/
/*--宽度不是