用单片机普通IO口(不用ADC功能)采集模拟量
?
http://www.51hei.com/bbs/dpj-126017-1.html
以下介紹的這個(gè)方法是用沒有 ADC 功能的芯片來檢測(cè)模擬量,采集溫度:
1. 溫度檢測(cè)電路圖 :
?
2. 溫度檢測(cè)步驟 :
第一步:放電
P85?和?P86?設(shè)置為高阻態(tài),?P87?輸出“1”,電容放電
第二步:測(cè)標(biāo)準(zhǔn)電阻
P85?和?P87?設(shè)置為高阻態(tài),?P86?輸出“0”,電容充電,并對(duì)充電時(shí)間計(jì)時(shí)
計(jì)時(shí)功能說明:計(jì)時(shí)最小時(shí)基為?30US,用定時(shí)器中斷來實(shí)現(xiàn)。每?30US?中斷一次,
計(jì)時(shí)器+1。 計(jì)時(shí)器長(zhǎng)度=16BIT, 高字節(jié)的?BIT4?代表溢出位。 所以實(shí)際有效長(zhǎng)度為?12?位,
超出則判為溢出,可能是被測(cè)電阻開路和電容短路等故障引起的。?
第三步:放電
P85?和?P86?設(shè)置為高阻態(tài),?P87?輸出“1”,電容放電
第四步:測(cè)溫度電阻
P86?和?P87?設(shè)置為高阻態(tài),?P85?輸出“0”,電容充電,并對(duì)充電時(shí)間計(jì)時(shí)
計(jì)時(shí)功能說明:(同第二步)
第五步:計(jì)算電阻比率
計(jì)算公式:
電阻比率=溫度電阻÷標(biāo)準(zhǔn)電阻
=溫度電阻充電時(shí)間÷標(biāo)準(zhǔn)電阻充電時(shí)間?
第六步:查表求溫度
根據(jù)電阻比率查表求溫度攝氏值
為了提高查表時(shí)的分辨率,在上一步驟計(jì)算比率時(shí)應(yīng)該將比率值乘以一定系數(shù)(在本
項(xiàng)目中該系數(shù)=256*64=16384).在表格中的數(shù)據(jù)也應(yīng)該同步乘以該系數(shù)?
第七步:溫度單位轉(zhuǎn)換
如果是溫度單位=華氏值,則將攝氏值轉(zhuǎn)化為華氏值;否則跳過
溫度轉(zhuǎn)換公式:
華氏值?=?攝氏值×1.8+32
攝氏值?=?(華氏值-32)÷1.8
第八步:數(shù)字濾波
采用遞推中位平均濾波方法:保留最新?10?個(gè)采樣值,去掉一個(gè)最大值,去掉一個(gè)最小
值,剩余?8?個(gè)采樣值取平均數(shù)?
?
總結(jié)
以上是生活随笔為你收集整理的用单片机普通IO口(不用ADC功能)采集模拟量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Source Insight 4.0与3
- 下一篇: zephyr 测试框架