日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]S3C2440擁有八通道的十位ADC, 最大轉(zhuǎn)換率為2.5MHz A/D轉(zhuǎn)換器時(shí)鐘下的500KSPS。A/D轉(zhuǎn)換器支持片上采樣-保持功能和掉電模式的操作。 八個(gè)通道中有四個(gè)通道適用于電阻屏的觸摸屏觸摸檢測(cè),另外四個(gè)是模擬輸入,分別是A[0:

S3C2440擁有八通道的十位ADC, 最大轉(zhuǎn)換率為2.5MHz A/D轉(zhuǎn)換器時(shí)鐘下的500KSPS。A/D轉(zhuǎn)換器支持片上采樣-保持功能和掉電模式的操作。

八個(gè)通道中有四個(gè)通道適用于電阻屏的觸摸屏觸摸檢測(cè),另外四個(gè)是模擬輸入,分別是A[0:3],


ADC的使用極其簡(jiǎn)單,選擇時(shí)鐘à選擇通道à啟動(dòng)轉(zhuǎn)換à轉(zhuǎn)換完成

主要用到如下幾個(gè)寄存器


負(fù)責(zé)選擇時(shí)鐘通道以及啟動(dòng)ADC


這里讀取ADC的值


注意這一位,這說明轉(zhuǎn)換完成讀取的時(shí)候還可以觸發(fā)轉(zhuǎn)換,也就是相當(dāng)于連續(xù)轉(zhuǎn)換


Adc.c

#include"adc.h"http://=====================================================================//名稱:ADCSelect(intch,U32preScaler)//功能:選擇轉(zhuǎn)換通道,轉(zhuǎn)換器預(yù)分頻值設(shè)置//參數(shù):ch:轉(zhuǎn)換通道preScaler:預(yù)分頻值//返回值:無//=======================================================================voidADCSelect(intch,u8preScaler){rADCCON=(1<<14)"(preScaler<<6)|(ch<<3);//選擇通道,選擇分頻數(shù)啟動(dòng)轉(zhuǎn)換}//=======================================================================//名稱:ADEnable()//功能:采用置位使能方式啟動(dòng)AD轉(zhuǎn)換,16次采樣取平均值//參數(shù):無//返回值:轉(zhuǎn)換后的值//=======================================================================u16ADEnable(void){inti;intval=0;for(i=0;i<16;i++){rADCCON|=0x1;//使能ADC轉(zhuǎn)換while(rADCCON&0x1);//判斷使能ADC轉(zhuǎn)換后被清零while(!(rADCCON&0x8000));//等待轉(zhuǎn)換結(jié)束val+=(rADCDAT0&0x3ff);//讀取ADC轉(zhuǎn)換的值}val=val>>4;//計(jì)算ADC轉(zhuǎn)換值returnval;}//=======================================================================//名稱:ADRead()//功能:采用讀控制器的方式啟動(dòng)AD轉(zhuǎn)換//參數(shù):無//返回值:轉(zhuǎn)換后的值//=======================================================================u16ADRead(void){inti;intval=0;rADCCON|=0x2;//ADC轉(zhuǎn)換通過讀操作來啟動(dòng)for(i=0;i<16;i++){rADCCON|=0x1;//使能ADC轉(zhuǎn)換while(rADCCON&0x1);//判斷使能ADC轉(zhuǎn)換后被清零while(!(rADCCON&0x8000));//等待轉(zhuǎn)換結(jié)束val+=(rADCDAT0&0x3ff);//讀取ADC轉(zhuǎn)換的值}val=val>>4;//計(jì)算ADC轉(zhuǎn)換值returnval;}


Adc.h

#ifndef__ADC_H#define__ADC_H#include"2440addr.h"#include"def.h"voidADCSelect(intch,u8preScaler);u16ADEnable(void);u16ADRead(void);#endif


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉