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

歷史上的今天

今天是:2025年02月26日(星期三)

正在發(fā)生

2020年02月26日 | PIC單片機實現(xiàn)AD轉(zhuǎn)換的設計方案

發(fā)布者:腦洞飛揚 來源: elecfans關鍵字:pic單片機  ad轉(zhuǎn)換 手機看文章 掃描二維碼
隨時隨地手機看文章

pic單片機功能較強,現(xiàn)實中的諸多器件均可借助pic單片機完成。由此可見,pic單片機的使用意義較大。關注本網(wǎng)站的朋友都知道,小編曾帶來諸多pic單片機相關文章。如果你對pic單片機比較感興趣,可在閱讀完本文后翻閱往期文章。本文對于pic單片機的講解,將為大家?guī)韕ic單片機的AD轉(zhuǎn)換實例,一起來了解下吧。


AD轉(zhuǎn)換就是模數(shù)轉(zhuǎn)換。顧名思義,就是把模擬信號轉(zhuǎn)換成數(shù)字信號。主要包括積分型、逐次逼近型、并行比較型/串并行型、Σ-Δ調(diào)制型、電容陣列逐次比較型及壓頻變換型。A/D轉(zhuǎn)換器是用來通過一定的電路將模擬量轉(zhuǎn)變?yōu)閿?shù)字量。模擬量可以是電壓、電流等電信號,也可以是壓力、溫度、濕度、位移、聲音等非電信號。但在A/D轉(zhuǎn)換前,輸入到A/D轉(zhuǎn)換器的輸入信號必須經(jīng)各種傳感器把各種物理量轉(zhuǎn)換成電壓信號。


一、PIC單片機如何表示電壓

PIC用十位二進制位的數(shù)來表示電壓,也就是數(shù)值0~1023來表示電壓。那比如現(xiàn)在這個數(shù)值是400那這代表多少的電壓?這就要根據(jù)參考電壓來確定了。


比如我們設置正參考電壓為3.3V ,當輸入的電壓為0時,數(shù)值就為0。當輸入的電壓為3.3V時,數(shù)值就是1023. 那如果輸入的電壓是1.2V代表多少電壓。


首先,先算出一個數(shù)值代表多少的電壓 3.3V除以1023 約等于 0.003V 。

然后,1.2V除以0.003V 等于400. 這就得出了400代表的是1.2V。

見下圖我們可以看AN0~AN7.這些都是可以配置成模擬輸入的端口。只有這些引腳才能做為AD轉(zhuǎn)換的端口。

PIC單片機實現(xiàn)AD轉(zhuǎn)換的設計方案

二、實例講解

例如:下面的原理圖,從RA0/AN0腳輸入個模擬量如果電壓大于1.2v則LED亮否則LED滅。

PIC單片機實現(xiàn)AD轉(zhuǎn)換的設計方案

AD的設置步驟

1.設置端口

將RA0口設置為輸入 TRISA = 0x01;

將RA0口設置為模擬 ANSELA = 0x01;


2.配置ADC模塊

選擇ADC的轉(zhuǎn)換時鐘。

如何選擇轉(zhuǎn)換時鐘呢 要根據(jù)現(xiàn)在的時鐘頻率進行選擇。可以根據(jù)數(shù)據(jù)手冊中的表格進行選擇 。


我們設置單片機的時鐘頻率為32MHZ ,選擇ADC周期關鍵不要選擇陰影部分,在32MHz 這一列 我們隨意選擇了ADC時鐘周期1us,對應的時鐘源為Fosc/32.,AD控制寄存器1 ADCON1的ADCS《2:0》=010注:ADCS《2:0》代表的意思就是 ADCS的0到2位。

PIC單片機實現(xiàn)AD轉(zhuǎn)換的設計方案

配置參考電壓

我們這里選擇右對齊,所以AD控制寄存器1 ADCON1的 ADFM=1

PIC單片機實現(xiàn)AD轉(zhuǎn)換的設計方案

上面將有關ADCON1寄存器的配置說完了。下面來講解ADCON0

選擇ADC輸入通道

AD轉(zhuǎn)換模塊只有一個,而AD輸入通道有8個AN0~AN7.所以不可能同時進行AD轉(zhuǎn)換,那個需要用我們就分配給那個,根據(jù)硬件我們將AD轉(zhuǎn)換模塊分配給AN0.

所以 ADCON0 的CHS《4:0》=0000;

開啟ADC模塊

ADC模塊開啟,ADCON0的ADON=1,只是單純的啟用ADC模塊。并不開始AD轉(zhuǎn)換。如果不用ADC模塊時候建議關閉。可以省點電哦!!!

開始AD轉(zhuǎn)換

ADCON0的GO/DONE=1開啟AD轉(zhuǎn)換。


4 等待AD轉(zhuǎn)換結(jié)束


5 讀取結(jié)果

一般情況下我們并不取一次的AD轉(zhuǎn)換的值。而是取多次之后算平均值。這樣來確保轉(zhuǎn)換的準確性。 配置ADC模塊,有許多地方并沒有講解為什么這么配置,因為許多配置其實是比較隨意的。并不是那么的絕對的。一定非要選擇哪一個。當然實際的配置還是要根據(jù)你項目需求。


//開發(fā)環(huán)境MPLAB X IDE ,單片機PIC16LF1823.

#include 《pic.h》

__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON

&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);//這個要放到上一行去

__CONFIG(PLLEN_OFF&LVP_OFF) ;

#define ADC_NUM 8 //轉(zhuǎn)換的次數(shù)

#define LED LATA1

void init_GPIO(void)

{

TRISA = 0x01;//端口設置為輸入

ANSELA = 0x01;//設置為模擬輸入

PORTA = 0x00;

LATA = 0x00;

}

void init_fosc(void)

{

OSCCON = 0xF0;//32MHZ

}

void init_AD(void)

{

ADCON1= 0xA0;//右對齊,AD時鐘為Fosc/32,參考電壓為電源電壓,

ADCON0= 0x00;//選擇通道AN0

ADCON0bits.ADON = 1;//開啟模塊

}

unsigned int ADC_BAT_ONE(void)//轉(zhuǎn)換一次

{

unsigned int value;

value=0;

ADCON0bits.CHS =0;//選擇通道AN0

ADCON0bits.ADGO=1;//開始轉(zhuǎn)換

while(ADCON0bits.GO==1);//等待轉(zhuǎn)換結(jié)束

value=(unsigned int)ADRESH;//強制類型轉(zhuǎn)換,因為ADRESH是字符型的只能表示8位二進制。所以必須轉(zhuǎn)換成可以容納10位二進制的整型。

value= value《《8;// 將高兩位左移8位

value += ADRESL;//低八位加入ADRESL的值。

return value;

}

unsigned int ADC_BAT_contiue(void)

{

unsigned int ADV_MCU[ADC_NUM],ADV_CNT,ADV_ALL;

ADV_ALL=0;

for(ADV_CNT=0;ADV_CNT《ADC_NUM;ADV_CNT++)//進行多次AD轉(zhuǎn)換

{

ADV_MCU[ADV_CNT]=ADC_BAT_ONE();

}

for(ADV_CNT=0;ADV_CNT《ADC_NUM;ADV_CNT++)//計算多次AD轉(zhuǎn)換的平均值

{

ADV_ALL += ADV_MCU[ADV_CNT];

}

ADV_ALL= ADV_ALL/ADC_NUM;

return ADV_ALL;//得到結(jié)果返回

}

/*

*

*/

int main(int argc, char** argv) {

init_fosc();//設置時鐘

init_AD();//設置AD

while(1)

{

if( ADC_BAT_conTIue()》400)//判斷輸入電壓是否大于1.2V

{

LED=1;//燈亮

}

else

{

LED=0;//燈滅

}

}

}

關鍵字:pic單片機  ad轉(zhuǎn)換 引用地址:PIC單片機實現(xiàn)AD轉(zhuǎn)換的設計方案

上一篇:pic單片機程序設計的基本方法解析
下一篇:PIC單片機實現(xiàn)多回路溫度控制系統(tǒng)的設計

推薦閱讀

  雖然LG、索尼、松下等仍然在OLED電視圈耕耘,但是OLED面板的老大三星則是有很多年沒有涉足了,轉(zhuǎn)而投入QLED量子點陣營。下面就隨嵌入式小編一起來了解一下相關內(nèi)容吧。  QLED使用無機材料取代OLED的有機材料,使得耐用性更佳。  然而,本周有報道稱,三星集團副主席李在镕在聽取了業(yè)務部門的匯報后要求重新對OLED電視進行評估,似乎是要出現(xiàn)轉(zhuǎn)機的...
英特爾5G芯片開發(fā)受阻?蘋果iPhone手機5G基帶芯片恐面臨斷炊。外電報導蘋果5G手機因基帶芯片供應商開發(fā)不順遞延推出,英特爾高層主管坦言,若蘋果今年仍計劃推出5G手機,將無法提供蘋果5G基帶芯片協(xié)助,臺廠聯(lián)發(fā)科(2454)打入蘋果供應鏈機會大增。根據(jù)外電路透社報導指出,蘋果很可能今年推出支援5G功能手機,但5G基帶芯片供應商英特爾恐跟不上蘋果腳步,...
內(nèi)容說明本發(fā)明屬于測試計量技術(shù)領域,具體涉及一種折疊式樹徑生長量實時精密測量儀。發(fā)明背景森林作為陸地生態(tài)主體,能有效地吸收大氣中的CO2并將其固定在植被或土壤中,而評價植物固定CO2量(即其生長量)主要通過樹徑和樹高這兩個量來實現(xiàn)。由于樹高這一參數(shù)測量時的不準確性,在測量植物生長量時,樹木直徑這一參數(shù)顯得尤為重要。樹干依據(jù)環(huán)境或其生理...
2月25日凌晨消息,據(jù)報道,和全世界諸多國家的電信運營商一樣,美國電信行業(yè)也正在增加5G網(wǎng)絡的基站建設信號覆蓋,這些計劃的前提是從政府手中買到足夠多的電信頻譜牌照。美國聯(lián)邦通信委員會日前表示,美國三大電信巨頭在新一輪5G頻譜拍賣中,贏得了價值780億美元的頻譜使用牌照。 據(jù)悉,美國政府對電信行業(yè)拍賣的5G頻譜分批次逐步進行,這一次拍賣的頻率...

史海拾趣

問答坊 | AI 解惑

點陣lcd的驅(qū)動原理

點陣lcd的驅(qū)動原理…

查看全部問答∨

最新集成電路應用手冊

集成電路應用手冊,分享給大家。…

查看全部問答∨

消費類電子熱門討論

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 編輯 內(nèi)容來自EEWORLD合作qq群:arm linux fpga 嵌入0群 49900581(超級群) 群主在壇子里ID:wangkj 消費類電子:高清網(wǎng)絡媒體播放機,手機\\mp3\\Mp4\\Mp5音響、RMVB播放器等,這些產(chǎn)品還可以! ...…

查看全部問答∨

幾個深圳的高手請留郵箱吧,,我單位QQ封了

我郵箱puyiyue1980@126.com,,上班只能上郵箱   …

查看全部問答∨

做開關電源的請進

本帖最后由 paulhyde 于 2014-9-15 03:56 編輯 做出來這個題的,曬曬自己的經(jīng)驗心得吧!你們的方案是怎么樣的,怎么解決分流的?   沒做出來的壇友們期待高手們的回答。   沒做出來的也說說自己失誤在那?是不夠努力,還是這個題確 ...…

查看全部問答∨

M4 Hanker開發(fā)板:uc/GUI的移植(加觸摸功能+心得體會)

發(fā)現(xiàn)Triton.zhang老大提供的uc/GUI例程沒有觸摸功能,所以將觸摸功能加入,同時跑了幾個uc/GUI的小例子,因為下周有好多考試,所以沒有進行深入的擴展,不足之處還請見諒!順便請假一周!不然要掛啦!要說uc /GUI的c文件,那叫一個多呀!為了方便編 ...…

查看全部問答∨

avr studio 6.0 下 mega 64 串口中斷問題

我是AVR 新手,在avr studio 6.0 下學習 mega64 的串口0 ,波特率已經(jīng)配置成9600,發(fā)送函數(shù)調(diào)試成功,現(xiàn)在調(diào)不通中斷方式下的接收程序,程序片段如下,望知道的好友指導指導,謝謝 中斷使能 void Usart0InterruptConfig() {    &nb ...…

查看全部問答∨

大森!俺的LM3S9B96開發(fā)板,咋不能debuger,無論是CCS5還是Keil4.5是俺的軟件版本....

棒棒忙,俺的板子就是用不了,真懷疑板子壞了,就是用ulink仿真器 還是不能調(diào)試和下載,有哪位大森遇到過這種事情嗎?俺的板子一次 也沒能調(diào)試和下載過。同樣的軟件(CCS5和Keil4.5)都可以調(diào)試和下載 launchpad120H5RQ,M4的板子。why? .…

查看全部問答∨

STM32 USART2 發(fā)送字符錯位

STM32  USART2  共發(fā)送3個字符{0x55,0x55,0x55},但串口調(diào)試助手接收到的第一個總為00,后面再顯示兩個0x55,幫忙看看為什么,困擾一天了,非常感謝各位大俠…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 富阳市| 武隆县| 泸定县| 阿坝县| 兴隆县| 高清| 明星| 汉寿县| 郧西县| 信丰县| 大足县| 滕州市| 翼城县| 甘德县| 射洪县| 行唐县| 安平县| 辽宁省| 灵山县| 高安市| 湘乡市| 茶陵县| 瑞金市| 嘉定区| 苏尼特左旗| 安丘市| 桂林市| 黄梅县| 龙岩市| 常州市| 鄂托克前旗| 阳泉市| 班玛县| 宁化县| 樟树市| 澄城县| 罗田县| 蛟河市| 原平市| 马尔康县| 封开县|