|
方法: 打開(kāi)超級(jí)終端,配置超級(jí)終端為 115200 8-N-1,將編譯好的程序下載到板子,即可看到超級(jí)終端打印出如下信息:當(dāng)調(diào)節(jié)的滑動(dòng)變阻器時(shí),ADC1 轉(zhuǎn)換的電壓值則會(huì)改變。
板載的是 20K 的精密電阻,旋轉(zhuǎn)的圈數(shù)要多點(diǎn)才能看到 ADC 值的明顯變化。(如下)
com.PNG (53.38 KB, 下載次數(shù): 33)
下載附件
2018-5-17 13:22 上傳
單片機(jī)源程序如下:- /*******************************************************************************
- --------------------------------------------------------------------------------
- * 實(shí) 驗(yàn) 名 : LCD-ADC-DMA實(shí)驗(yàn)
- * 實(shí)驗(yàn)說(shuō)明 : 通過(guò)將程序下載進(jìn)去后點(diǎn)擊復(fù)位,配置端口PA1內(nèi)的ADC,將電位器變化值轉(zhuǎn)換為
- 電壓值,通過(guò)配置DMA,將ADC和DMA連在一起,使其自動(dòng)進(jìn)行轉(zhuǎn)換搬運(yùn)。主函數(shù)
- 直接調(diào)用即可。LED指示燈閃爍效果,
- 按下復(fù)位開(kāi)關(guān)重新運(yùn)行,其他子函數(shù)注釋
- 可以參考之前的函數(shù)注釋
- * 連接方式 :
- * 注 意 : 所用函數(shù)在頭文件.c文件內(nèi)
- *******************************************************************************/
- #include "public.h"
- #include "dma.h"
- #include "systick.h"
- #include "gui.h"
- #include "led.h"
- #include "printf.h"
- /****************************************************************************
- * Function Name : main
- * Description : Main program.
- * Input : None
- * Output : None
- * Return : None
- ****************************************************************************/
- int main()
- {
- u16 value;
- u8 i,j,dat[6];
- float ad;
- dma_init(); //DMA初始化
- TFT_Init(); //TFT彩屏初始化
- LED_Init(); //端口初始化
- printf_init(); //printf初始化
- TFT_ClearScreen(BLACK); //清屏
- GUI_Show12ASCII(10,10,"This is a ADC1-DMA1 Check!",YELLOW,BLACK);
- GUI_Show12ASCII(10,27,"PA1 is AD Input!",YELLOW,BLACK);
- GUI_Show12ASCII(10,100,"The AD Volage is:",YELLOW,BLACK);
- while(1)
- {
- value=0;
- for(i=0;i<10;i++)//讀取10次的AD數(shù)值取其平均數(shù)較為準(zhǔn)確
- {
- value=value+adc_data[0];
- }
- delay_ms(500);
- value=value/10;
- ad=value*3.3/4095;
- value=(u16)(ad*100);
- dat[0]=value/100+0x30;
- dat[1]='.';
- dat[2]=value%100/10+0x30;
- dat[3]=value%100%10+0x30;
- dat[4]='V';
- dat[5]='\0';
- GUI_Show12ASCII(160,100,dat,YELLOW,BLACK);
- if(j>1)
- {
- j=0;
- GPIO_SetBits(GPIOC,GPIO_Pin_0);
- }
- else
- {
- j++;
- GPIO_ResetBits(GPIOC,GPIO_Pin_0);
- }
-
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
LCD-ADC-DMA.7z
(746.83 KB, 下載次數(shù): 37)
2022-12-16 04:24 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|