久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 第9章 單片機(jī)模數(shù)轉(zhuǎn)換器ADC [打印本頁]

作者: wul    時(shí)間: 2016-3-28 03:16
標(biāo)題: 第9章 單片機(jī)模數(shù)轉(zhuǎn)換器ADC
9章 單片機(jī)模數(shù)轉(zhuǎn)換器ADC

1 A/D轉(zhuǎn)換實(shí)驗(yàn)電路

2 使用單片機(jī)內(nèi)部的10位ADC轉(zhuǎn)換器 (1) ADC相關(guān)的特殊功能寄存器
(2) 實(shí)例代碼
1 A/D轉(zhuǎn)換實(shí)驗(yàn)電路

模數(shù)轉(zhuǎn)換就是將電路中連續(xù)變化的模擬電壓信號轉(zhuǎn)換為單片機(jī)可以識別的數(shù) 字信號,簡稱為A/D,實(shí)現(xiàn)模擬信號轉(zhuǎn)換成數(shù)字信號的器件稱為模數(shù)轉(zhuǎn)換器, 稱為ADC,ADC有專用的集成電路芯片,現(xiàn)在的新型單片機(jī)內(nèi)部一般也集成有 ADC模塊。


(1) ADC相關(guān)的特殊功能寄存器
1、 P1口模擬功能控制寄存器P1ASF,各位定義如表9-1所示,如果要使用相應(yīng) 口的ADC輸入功能,需將P1ASF特殊功能寄存器中的相應(yīng)位置為1,比如:P1ASF
|= 0x02; // 開啟P1.1口的ADC輸入功能。
表9-1 P1ASF(復(fù)位值為0000 0000B)
D7
D6
D5
D4
D3
D2
D1
D0
位名稱
P17ASF
P16ASF
P15ASF
P14ASF
P13ASF
P12ASF
P11ASF
P10ASF
2、ADC控制寄存器ADC_CONTR,各位定義如表9-2所示。
表9-2 ADC_CONTR(復(fù)位值為0000 0000B)

① ADC_POWER:ADC電源控制位。 0:關(guān)閉ADC電源。 1:打開ADC電源。

② SPEED1、SPEED0:ADC轉(zhuǎn)換速度控制位, 如表9-3所示,當(dāng)被采樣信號變化 頻率較高時(shí)應(yīng)使用高的轉(zhuǎn)換頻率(比如用ADC采樣電路波形實(shí)現(xiàn)簡易的示波
器),當(dāng)對功耗限制嚴(yán)格時(shí)應(yīng)使用低的轉(zhuǎn)換頻率。
表9-3 ADC轉(zhuǎn)換速度控制

③ ADC_FLAG:A/D轉(zhuǎn)換結(jié)束標(biāo)志位。

A/D轉(zhuǎn)換完成后,ADC_FLAG = 1,可由該位申請產(chǎn)生中斷,或者由軟件查詢該標(biāo)志位判
斷A/D轉(zhuǎn)換是否結(jié)束,此標(biāo)志只能由軟件清零。
④ ADC_START:A/D轉(zhuǎn)換啟動(dòng)控制位,ADC_START=1,啟動(dòng)轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后為0。
⑤ CHS2、CHS1、CHS0:模擬輸入通道選擇,如表所示。

3、ADC轉(zhuǎn)換結(jié)果寄存器 ADC_RES、ADC_RESL ADC_RES[7:0]存放高8位ADC結(jié)果,ADC_RESL[1:0]存放低2位ADC結(jié)果。 ADC轉(zhuǎn)換結(jié)果計(jì)算公式如下(Vin為模擬輸入電壓,Vcc為單片機(jī)實(shí)際供電電壓): Vin = Vcc ×(ADC_RES[7:0],ADC_RESL[1:0])/1023

9.2.2、實(shí)例代碼

9.2.2、實(shí)例代碼

例9.1 IAP15W4K58S4單片機(jī)A/D轉(zhuǎn)換程序,查詢方式,測量結(jié)果電壓值發(fā)送到計(jì)算機(jī)串口
助手顯示,波特率9600/22.1184MHz,當(dāng)使用配套實(shí)驗(yàn)板時(shí),需要將跳線帽“AD/串口2”插接
到AD處。
#include "UART.H"
//
包含IAP15W4K58S4寄存器定義文件
#define VCC 4.970
unsigned int ADC_P11()
//
存放用萬用表實(shí)測的單片機(jī)供電電壓
{
unsigned int i;

//

用于軟件延時(shí)程序

unsigned char status;
//
用于判斷A/D轉(zhuǎn)換結(jié)束的標(biāo)志
unsigned int AD_Dat=0;
//
10位A/D轉(zhuǎn)換值
unsigned char Tmp;
//
臨時(shí)變量用于將A/D轉(zhuǎn)換出來的2個(gè)字節(jié)合成一個(gè)字節(jié)
ADC_CONTR|=0x80;
//
開ADC轉(zhuǎn)換器電源,第一次使用時(shí)要打開內(nèi)部模擬電源
for (i=0;i<10000;i++);
//
適當(dāng)延時(shí)等待ADC轉(zhuǎn)換供電穩(wěn)定,一般延時(shí)1ms以內(nèi)即可,
P1ASF|=0x02;
//
選擇P1.1作為ADC轉(zhuǎn)換通道,0x02= 0000 0010
ADC_CONTR=0xE1; // 選擇P1.1作為ADC轉(zhuǎn)換通道,最高轉(zhuǎn)換速度,清轉(zhuǎn)換完成標(biāo)志。
for (i=0;i<1000;i++);
// 如果是多通道模擬量進(jìn)行A/D轉(zhuǎn)換,則更換A/D轉(zhuǎn)換通道后要延時(shí)200μs

ADC_CONTR|=0x08; // 啟動(dòng) A/D 轉(zhuǎn)換,ADC_START=1。

status=0;
while(status==0) // 等待A/D轉(zhuǎn)換結(jié)束。
{
status=ADC_CONTR&0x10; // 判斷ADC_FLAG是否等于1,0x10=0001 0000B。
}
ADC_CONTR&=0xE7; // 將ADC_FLAG清0,0xE7=1110 0111B,ADC_FLAG=0,ADC_START=0。 AD_Dat = ADC_RES; // 默認(rèn)高字節(jié)高8位。
AD_Dat <<= 2;
Tmp = ADC_RESL; // 默認(rèn)低字節(jié)低2位。 Tmp &= 0x03; // 屏蔽無關(guān)位
AD_Dat |= Tmp; // 高低字節(jié)拼接成一個(gè)10位數(shù)。
return AD_Dat;
}
void main(void)
{
float Vin; // 存放計(jì)算出來的外部輸入電壓
unsigned int ADvalue; // 存放A/D轉(zhuǎn)換返回的結(jié)果 UART_init(); // 串口初始化9600/22.1184MHz printf("串口初始化完畢");
while(1)
{
ADvalue=ADC_P11(); // 采樣P1.1口模擬輸入電壓 Vin=VCC*ADvalue/1023; // 注意是1023才正確
printf("%.3f ",Vin);
delay500ms();
} // 若不用串口顯示,此行可設(shè)置斷點(diǎn)仿真觀察結(jié)果
}


作者: Y!NG    時(shí)間: 2016-11-21 11:40
1023????為何不是1024份?
作者: 鮮衣怒馬    時(shí)間: 2017-4-18 18:49
Y!NG 發(fā)表于 2016-11-21 11:40
1023????為何不是1024份?

0-1023  共有1024個(gè)數(shù)字  

作者: Y!NG    時(shí)間: 2017-9-12 08:02
鮮衣怒馬 發(fā)表于 2017-4-18 18:49
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

既然是1024個(gè)數(shù)字那分母為什么不除去1024
作者: 大雨    時(shí)間: 2019-1-1 21:18
這個(gè)程序沒有問題,通過串口助手,可以直接觀察輸輸出電壓。就是接入IIC接口的OLED屏后,不能實(shí)時(shí)顯示輸出的電壓
作者: 市井閑叟    時(shí)間: 2023-12-7 20:40
受益了,謝謝!




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美在线观看一区 | 91精品国产高清久久久久久久久 | 99re6在线| 99re6在线视频 | www97影院| 一区二区三区中文字幕 | 久草福利 | 在线a视频 | 亚洲成人在线免费 | www.日本三级 | 午夜伦理影院 | 国产91精品网站 | 国产精品毛片无码 | a在线视频观看 | 免费观看日韩精品 | 国产视频中文字幕 | www精品 | 欧美理论 | 国产 日韩 欧美 在线 | 中文字幕在线看第二 | 久久这里只有精品首页 | 国产亚洲精品综合一区 | 亚洲欧美一区二区三区国产精品 | 精品乱码一区二区三四区 | 亚洲精品一区中文字幕乱码 | 美女午夜影院 | 日本成人午夜影院 | 国产视频在线一区二区 | 午夜久久| 一级免费在线视频 | 日韩成人精品 | 日韩欧美亚洲 | 久久激情视频 | 男女下面一进一出网站 | 久久男人 | 午夜免费电影院 | 综合久久久 | 欧美日韩综合一区 | 91成人精品| 亚洲欧美精品 | 欧美日韩大片 |