娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

S5PV210 ADC轉換

發布者:快樂舞步最新更新時間:2024-12-04 來源: cnblogs關鍵字:S5PV210  ADC轉換  數字信號 手機看文章 掃描二維碼
隨時隨地手機看文章

第一節 S5PV210的ADC
S5PV210的ADC可支持10bit和12bit,它支持10路輸入,然后將輸入的模擬的信號轉換為10bit或者12bit的二進制數字信號。
在5MHz的時鐘下,最大轉換速率是1MSPS。本章只是涉及到初步的ADC轉換,并不會講解觸摸屏相關知識,其結構圖如下:

  image
在Mini210S中,adc相關的原理圖如下:

image
通道0的輸入被接到可調電阻上,通過調節可調電阻,adc能轉換出不同的值。
第二節 程序相關講解
完整代碼見詳細代碼下載鏈接。
1. main.c
main()函數很簡單,主要是調用了adc_test()函數來測試adc,adc_test()的定義位于文件adc.c中。
2. adc.c
函數adc_test()的代碼如下:
void adc_test(void)
{
    printf('rn##################adc test################rn');
    while(1)
    {
        printf('adc = %drn',read_adc(0));
        delay(0x100000);
    }
}
通過一個while循環不斷的讀取通道0經過adc轉換的值,核心函數是read_adc(),它主要包括5個步驟:
第一步 設置時鐘。
相關代碼如下:
TSADCCON0 = (1<<16)|(1 << 14) | (65 << 6);
首先使用12bit adc,然后使能分頻,最后設置分頻系數為66。

image
第二步 選擇通道。
代碼如下:
ADCMUX = 0; //設置寄存器ADCMUX,選擇通道0。
第三步 啟動轉換。
代碼如下:
TSADCCON0 |= (1 << 0);
while (TSADCCON0 & (1 << 0));
首先設置寄存器TSADCCON0的bit[0],啟動A/D轉換,然后讀bit[0]以確定轉換已經啟動。
第四步 檢查轉換是否完成。
代碼如下:
while (!(TSADCCON0 & (1 << 15)) );
讀寄存器TsdACCON0的bit[15],當它為1時表示轉換結束。
第五步 讀數據。
代碼如下:
return (TsdATX0 & 0xfff);
由于我們使用的12bit的模式,所以只讀寄存器TsdATX0的前12bit。
第三節 實驗現象
串口終端上會不斷的打印出數字,數字的范圍是0~4095,這是因為我們使用的是12bit的ADC。
我們通過調節可變電阻可以改變ACD轉換值。效果如下:

image 


關鍵字:S5PV210  ADC轉換  數字信號 引用地址:S5PV210 ADC轉換

上一篇:WM8960音頻播放
下一篇:S5PV210初始化系統時鐘

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 黔南| 雷州市| 霸州市| 陵水| 龙里县| 保定市| 南澳县| 萨嘎县| 盐城市| 大邑县| 通海县| 吉木乃县| 土默特左旗| 子长县| 宝坻区| 深州市| 临夏市| 泾川县| 石楼县| 呼伦贝尔市| 尼玛县| 德江县| 金沙县| 安徽省| 普陀区| 榆树市| 敦化市| 郎溪县| 东宁县| 临城县| 托里县| 阿坝县| 全州县| 荥阳市| 南城县| 肇源县| 通道| 鲁甸县| 新化县| 临潭县| 南昌县|