国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STC15單片機(jī)的溫濕度計(jì)設(shè)計(jì)

2020-12-16 09:11呂小兵
山西電子技術(shù) 2020年6期
關(guān)鍵詞:熱敏電阻數(shù)碼管溫濕度

呂小兵

(廈門紫光展銳科技有限公司,福建 廈門 361000)

0 引言

溫度和濕度是兩個(gè)基本的環(huán)境參數(shù),在日常生活、環(huán)境保護(hù)、農(nóng)業(yè)、化工等領(lǐng)域,經(jīng)常需要對周圍環(huán)境的溫度和濕度進(jìn)行監(jiān)測[1]。目前,溫濕度的測量方法有很多種,傳統(tǒng)的溫濕度計(jì),精度不高,不易讀數(shù)。單片機(jī)集成度高、功耗低、可靠性高,本文以STC15單片機(jī)和熱敏電阻測量溫度、濕敏電容HS1101測量濕度為基礎(chǔ),進(jìn)行溫濕度計(jì)的設(shè)計(jì),并將溫濕度的數(shù)值顯示在數(shù)碼管上。

1 溫濕度計(jì)的硬件設(shè)計(jì)

該溫濕度系統(tǒng)采用STC15W4K32S4單片機(jī)作為微控制單元,MF52熱敏電阻模塊組成溫度測量電路,并通過數(shù)碼管進(jìn)行溫濕度的顯示。通過按鍵來實(shí)現(xiàn)溫濕度、時(shí)間、溫濕度上限值顯示的切換,通過按鍵也可以實(shí)現(xiàn)對溫濕度上限值的調(diào)整。當(dāng)前溫度或濕度超過溫濕度上限值時(shí),通過蜂鳴器進(jìn)行報(bào)警。其中,時(shí)鐘模塊用于記錄實(shí)時(shí)時(shí)鐘,采用PCF8563來實(shí)現(xiàn)。

圖1 溫濕度計(jì)系統(tǒng)框圖

1.1 單片機(jī)模塊

STC15W4K32S4是宏晶科技生產(chǎn)的單機(jī)器周期的單片機(jī),是寬電壓、低功耗、超強(qiáng)抗干擾的新一代的8051單片機(jī)。內(nèi)部集成高精度R/C時(shí)鐘,ISP編程時(shí)5 MHz~35 MHz寬范圍可設(shè)置,可省掉外部的晶振;內(nèi)置4k字節(jié)SRAM,32k字節(jié)片內(nèi)程序存儲器,8路高速10位A/D轉(zhuǎn)換器,共7個(gè)定時(shí)器[2]。

1.2 溫度模塊

溫度的測量方法有多種,熱敏電阻因其體積小、反應(yīng)靈敏和低成本的特點(diǎn)而被大量應(yīng)用于溫度測量中。在本設(shè)計(jì)中,采用了MF52型熱敏電阻。MF52型熱敏電阻器是采用新材料、新工藝生產(chǎn)的小體積的樹脂包封型NTC熱敏電阻器,具有高精度和快速反應(yīng)等優(yōu)點(diǎn)[3]。

圖2所示為溫度模塊電路,采用常規(guī)的串聯(lián)分壓電路,其中R31為10k,RT為MF52型B值為3950的熱敏電阻。TEMP_AN與單片機(jī)STC15W4K32S4的高速ADC輸入口P16相連。此處的P16IO口需設(shè)為高阻輸入模式,測出的AD的數(shù)值才會準(zhǔn)確,如若設(shè)為默認(rèn)的準(zhǔn)雙向口,則實(shí)際測出的AD的數(shù)值比真實(shí)值小。

圖2 溫度模塊電路

根據(jù)電路RT兩端的電壓為:

VRT=VCC×RT/(RTR31)

.

(1)

式中,VCC為電源電壓,為3.3V;R31為分壓電阻,為10kΩ。

“科技之光照亮了中國印刷業(yè)前進(jìn)的道路。而重視科技進(jìn)步是中國印工協(xié)與生俱來的基因、始終不渝的追求”,徐建國理事長總結(jié)道。產(chǎn)業(yè)不同發(fā)展階段,協(xié)會面臨的使命和挑戰(zhàn)也有所不同。他認(rèn)為,對協(xié)會來講,當(dāng)前的一個(gè)重要任務(wù)是,要積極探索在市場經(jīng)濟(jì)條件下如何推進(jìn)自身建設(shè),不能辦成“二政府”,且因?yàn)榄h(huán)境使然也很難像國外同業(yè)協(xié)會那樣完全市場化運(yùn)作?!皡f(xié)會據(jù)此提出一個(gè)思路:“企業(yè)家辦會,開放式辦會”,目的是,立足市場、深植企業(yè),在服務(wù)企業(yè)、服務(wù)產(chǎn)業(yè)中體現(xiàn)協(xié)會的價(jià)值。而今,通過幾年的實(shí)踐,成效顯著,良性互動的產(chǎn)業(yè)協(xié)作氛圍已然形成。

由于STC15W4K32S4的ADC為10位,故有如下式(2)

VRT/VCC=AD/1024

.

(2)

從而得到式(3)

AD=1024×RT/(RT+R31)

.

(3)

AD即為STC15W4K32S4的10位ADC采到的數(shù)值。

1.3 濕度模塊

濕度模塊主要選用了濕度傳感器HS1101,它是一種將濕度變化轉(zhuǎn)化為電容變化的傳感器。HS1101具有濕度測量范圍寬、溫漂效應(yīng)較小、平均靈敏度較高和反應(yīng)快速等優(yōu)點(diǎn)[4]。

溫度模塊電路如圖3所示,采用的是HS1101的典型電路。HS1101與NE555搭建成多諧振蕩電路,其輸出為方波信號。輸出信號F_OUT與STC15單片機(jī)的P32(INT0)相連接。HS1101的一腳連接著555的TH與TRIG,另一腳連接著GND。R2,R1,HS1101構(gòu)成了充電回路;R1,HS1101構(gòu)成了放電回路。電路充放電的時(shí)間由R1,R2的阻值及HS1101的電容值來決定。

圖3 濕度模塊電路

T充電=CHS1101*(R1+R2)*ln2.

(4)

T放電=CHS1101*R1*ln2.

(5)

可得輸出方波的頻率為:

f=1/(T充電+T放電)=

1/(CHS1101*(2R1+R2)*ln2).

(6)

空氣濕度的變化,引起了HS1101的電容值變化,進(jìn)而使得555電路的輸出信號頻率發(fā)生變化。信號的頻率與相對濕度之間的關(guān)系如表1所示。

表1 輸出信號頻率與相對濕度之間的關(guān)系

1.4 數(shù)碼管和蜂鳴器

圖4所示為數(shù)碼管驅(qū)動電路。采用了8個(gè)共陽極的數(shù)碼管,通過兩片74HC595實(shí)現(xiàn)對單片機(jī)IO的擴(kuò)展并對數(shù)碼管的驅(qū)動。74HC595芯片是一種硅結(jié)構(gòu)的CMOS器件,可實(shí)現(xiàn)8位串行輸入并行輸出,在使用成本、驅(qū)動能力、操作便捷度等方面具備良好的性能優(yōu)勢[5]。由于人眼的視覺暫留效應(yīng),通過定時(shí)器進(jìn)行動態(tài)掃描,能使數(shù)碼管穩(wěn)定顯示。在此設(shè)計(jì)中,將定時(shí)器設(shè)為0.2 ms,每隔0.2 ms切換顯示8個(gè)數(shù)碼管中的一個(gè)。

圖4 數(shù)碼管電路

本設(shè)計(jì)采用的是有源蜂鳴器,通過單片機(jī)的IO來控制三極管S8550的通斷,從而控制蜂鳴器的開關(guān)。

1.5 時(shí)鐘模塊

時(shí)鐘模塊主要采用了PCF8563芯片。PCF8563是PHILIPS公司推出的一款工業(yè)級內(nèi)含I2C總線接口功能的,具有極低功耗的多功能時(shí)鐘/日歷芯片[6]。STC15單片機(jī)通過I2C接口控制PCF8563芯片以獲取時(shí)間信息。

1.6 按鍵電路

該電路共有4個(gè)獨(dú)立按鍵,分別為SW1、SW2、SW3、SW4。其中SW1相當(dāng)于主菜單鍵,用來切換顯示溫濕度值、時(shí)間、溫濕度閾值;SW2相當(dāng)于次級菜單鍵,當(dāng)前若處于時(shí)間顯示時(shí),用來選擇時(shí)鐘、分鐘或秒鐘的調(diào)整,當(dāng)前若處于溫濕度閾值,則用來選擇溫度或濕度閾值的調(diào)整;SW3、SW4則分別對當(dāng)前正在調(diào)整的數(shù)值進(jìn)行加或者減操作。

2 溫濕度計(jì)的軟件設(shè)計(jì)

2.1 主程序設(shè)計(jì)

本系統(tǒng)共有三組顯示界面,分別是溫濕度值的顯示、時(shí)分秒顯示,溫濕度閾值的顯示??梢酝ㄟ^按鍵來調(diào)整時(shí)分秒和溫濕度閾值的數(shù)值。當(dāng)前的溫濕度值超過閾值時(shí),單片機(jī)會控制蜂鳴器發(fā)出“嘀-嘀-嘀-”的報(bào)警聲。

本系統(tǒng)使用了STC15中的一個(gè)定時(shí)器進(jìn)行系統(tǒng)時(shí)鐘的控制。定時(shí)器進(jìn)行1 ms的設(shè)定,在定時(shí)器中斷函數(shù)時(shí),對100 ms、1 s的標(biāo)志位進(jìn)行置1,在main函數(shù)的循環(huán)里,根據(jù)需要,將不同的任務(wù)放在不同的時(shí)間間隔來處理,并且當(dāng)檢測到這些時(shí)間標(biāo)志為1時(shí)會對這些時(shí)間標(biāo)志進(jìn)行置0。

圖5所示為主程序的流程圖,在系統(tǒng)初始化里實(shí)現(xiàn)了對各個(gè)模塊的初始化,當(dāng)檢測到100 ms時(shí)間到了以后,進(jìn)行按鍵處理、數(shù)碼管緩沖區(qū)填充、蜂鳴器時(shí)間控制、時(shí)間讀取;當(dāng)檢測到1 s時(shí)間到了以后,進(jìn)行溫度采集、濕度計(jì)算、報(bào)警處理。

圖5 主程序流程圖

2.2 溫度計(jì)算程序設(shè)計(jì)

STC15W4K32S4的10位ADC采到的數(shù)值可以反映溫度的數(shù)值。此次設(shè)計(jì)采用的是B值為3950的NTC熱敏電阻,通過查閱資料,選取部分R-T數(shù)據(jù),如表2所示。

表2 R-T關(guān)系

根據(jù)式(3)可以推得部分AD的數(shù)值與溫度之間的關(guān)系如表3所示。

表3 AD-T關(guān)系

在STC15單片機(jī)程序中,通過查AD-T的表格,就可以計(jì)算出具體的溫度的數(shù)值。

2.3 濕度計(jì)算程序設(shè)計(jì)

濕度模塊的頻率信號與STC15單片機(jī)的P32(INT0)相連。將單片機(jī)的外部中斷0的工作方式設(shè)為下降沿有效,并開啟外部中斷0。對于外部中斷0的中斷服務(wù)程序,每一次外部中斷0響應(yīng)時(shí),shidu_cnt++,每當(dāng)系統(tǒng)時(shí)間過去1 s,則令freq_value=shidu_cnt,shidu_cnt=0。此處的freq_value則為濕度模塊的頻率信號的頻率值。

根據(jù)表1就能算出當(dāng)前的濕度所處的區(qū)間值,再通過雙線性插值的方法,就可以算出具體的濕度值。假設(shè)當(dāng)前的Freq值處在表1中的Freq1與Freq2之間,F(xiàn)req1對應(yīng)的濕度值為RH1,Freq2對應(yīng)的濕度值為RH2,并且RH2-RH1=10,則可以根據(jù)式(7)算出當(dāng)前濕度的數(shù)值。

RH=RH1+10*(Freq1-Freq)/(Freq1-Freq2)

.

(7)

3 溫濕度計(jì)測試

在測試過程中,采用了美德時(shí)家用溫濕度計(jì)JR900與本設(shè)計(jì)進(jìn)行對比,測試結(jié)果如表4所示。從測試結(jié)果來看,本設(shè)計(jì)所測得的溫濕度數(shù)值基本一致,二者所測得的溫度相差不超過1℃,所測得的濕度相差不超過5%。

表4 溫濕度測試結(jié)果數(shù)據(jù)

4 結(jié)語

本設(shè)計(jì)是基于單片機(jī)STC15W4K32S4的溫濕度計(jì)的設(shè)計(jì),包含溫度檢測、濕度檢測、實(shí)時(shí)時(shí)鐘、數(shù)碼管顯示等功能。本設(shè)計(jì)電路簡單可靠、操作方便、成本低,測量誤差在可接受范圍內(nèi),基本達(dá)到日常溫濕度測量要求。

猜你喜歡
熱敏電阻數(shù)碼管溫濕度
基于幾何畫板軟件的熱敏電阻溫度計(jì)參數(shù)優(yōu)化
基于51單片機(jī)的分?jǐn)?shù)計(jì)數(shù)器設(shè)計(jì)
微課教學(xué)設(shè)計(jì)之“數(shù)碼管動態(tài)顯示”
基于AT89C51的數(shù)字型蠶用溫濕度計(jì)的設(shè)計(jì)
微安表內(nèi)阻值對熱敏電阻溫度計(jì)設(shè)計(jì)的影響
復(fù)合NTC熱敏電阻材料的制備與電性能研究
Arduino編程
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
基于溫濕度控制的天氣預(yù)測裝置
基于DSP和μcos的溫濕度檢測系統(tǒng)的設(shè)計(jì)
咸阳市| 东阳市| 石渠县| 谢通门县| 成安县| 富锦市| 深水埗区| 余江县| 定边县| 泰兴市| 临颍县| 屏东市| 东阳市| 惠安县| 柳江县| 延长县| 高陵县| 阿坝| 大同县| 体育| 双柏县| 云阳县| 上饶县| 柯坪县| 沅陵县| 偏关县| 云安县| 汉沽区| 淄博市| 台江县| 迁安市| 磐石市| 六安市| 治县。| 绿春县| 嘉义县| 阿克陶县| 湘西| 益阳市| 集安市| 砚山县|