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

?

基于單片機(jī)的智能風(fēng)扇研究

2023-06-09 04:12張仕寬莫坤羅旭蘇婷段明明
電子制作 2023年8期
關(guān)鍵詞:低電平時(shí)序按鍵

張仕寬,莫坤,羅旭,蘇婷,段明明

(興義民族師范學(xué)院,貴州黔西,562400)

0 引言

風(fēng)扇是人們?cè)谙奶旖禍乇苁畹睦?,因其具有價(jià)格便宜和使用方便的優(yōu)點(diǎn)而深受人們的喜愛(ài)。但是由于傳統(tǒng)風(fēng)扇的控制是通過(guò)按鍵旋鈕控制這一特點(diǎn),所以出現(xiàn)當(dāng)人們?cè)谑焖臅r(shí)候,忘記關(guān)閉風(fēng)扇的現(xiàn)象,溫度降低之后風(fēng)扇還在轉(zhuǎn)動(dòng),導(dǎo)致人們因?yàn)榇碉L(fēng)扇而感冒和電能的浪費(fèi)。因此,針對(duì)上述的問(wèn)題,設(shè)計(jì)一款以溫度為控制信號(hào)的智能風(fēng)扇,該風(fēng)扇具有室內(nèi)溫度和擋位顯示、溫度可調(diào)和自動(dòng)開(kāi)啟功能。

1 硬件系統(tǒng)設(shè)計(jì)

■1.1 硬件系統(tǒng)結(jié)構(gòu)及其功能

硬件系統(tǒng)由6 部分組成,它們分別是單片機(jī)及其最小系統(tǒng)部分、電源部分、溫度采集部分、按鍵輸入部分、數(shù)據(jù)顯示部分和電機(jī)部分。系統(tǒng)總體框圖如圖1所示。

圖1 系統(tǒng)總體框圖

(1)單片機(jī)及其最小系統(tǒng)部分

本次設(shè)計(jì)使用的單片機(jī)為STC89C52R 單片機(jī)作為核心控制部件,通過(guò)其數(shù)據(jù)處理和IO口輸入輸出功能來(lái)實(shí)現(xiàn)智能風(fēng)扇的控制。單片機(jī)及其最小系統(tǒng)是保證單片機(jī)能夠正常工作的系統(tǒng)組成,它們分別是單片機(jī)供電電源、單片機(jī)、時(shí)鐘及其復(fù)位電路和程序下載口。

(2)電源部分

電源部分采用USB 轉(zhuǎn)TTL 電路供電,給電路系統(tǒng)提供所需的電能。

(3)溫度采集部分

溫度采集部分使用的傳感器是DS18B20,DS18B20 能夠精確地將外界的溫度進(jìn)行采集,能夠?qū)⒉杉臏囟饶M信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),方便單片機(jī)進(jìn)行數(shù)據(jù)處理。其溫度測(cè)試范圍為-55℃~+125℃,測(cè)溫誤差為1℃。

(4)按鍵輸入部分

按鍵輸入部分使用的是獨(dú)立按鍵。獨(dú)立按鍵具有按鍵恢復(fù)功能,當(dāng)按鍵按下時(shí),按鍵導(dǎo)通,當(dāng)按鍵松開(kāi)時(shí),按鍵斷開(kāi)。

(5)數(shù)據(jù)顯示部分

數(shù)據(jù)顯示部分使用的是LCD1602 液晶顯示器。LCD1602 能夠顯示32個(gè)字符,其內(nèi)部自帶有字符庫(kù),能夠顯示英文字母、阿拉伯?dāng)?shù)字、日文假名和一遍特殊符號(hào),通過(guò)編程可以控制其需要顯示的字符和字符顯示的位置。

(6)電機(jī)及其驅(qū)動(dòng)部分

電機(jī)的轉(zhuǎn)動(dòng)是通過(guò)單片機(jī)輸出的PWM 波進(jìn)行控制,由于單片機(jī)的輸出電流不能夠直接驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),所以采用了PNP 提供驅(qū)動(dòng)電流來(lái)驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。

■1.2 電路搭建及其工作原理

1.2.1 電路搭建

使用Proteus 軟件進(jìn)行電路搭建,電路原理圖如圖2所示。

圖2 電路原理

在圖2 中,晶振與電容C1、C2 給單片機(jī)提供了時(shí)鐘信號(hào),電阻R1 和電解電容C3 構(gòu)成了單片機(jī)的復(fù)位電路。

在 圖2 中,單 片 機(jī) 的P1.0 引 腳 與DS18B20的DQ 引腳進(jìn)行連接,用于數(shù)據(jù)傳輸,在DS18B20的VCC 上接入5V 電壓,并且在DQ 與VCC 之間接入一個(gè)大電阻作為上拉電阻使用。GVD端接地。

在圖2 中,單片機(jī)的P0.1~P0.7 引腳分別與LCD1602的D0~D7 引腳進(jìn)行連接,用于數(shù)據(jù)傳輸,在P0口和LCD1602的D口之間增加了一個(gè)排阻,因?yàn)閱纹瑱C(jī)的P0口內(nèi)部沒(méi)有接上拉電阻,所以外部接入了排阻作為上拉電阻使用,LCD1602的RS 引腳與單片機(jī)的P2.5 引腳進(jìn)行連接,用于LCD1602的寄存器選擇操作,LCD1602的RW 引腳與單片機(jī)的P2.6 引腳進(jìn)行連接,用于LCD1602的讀寫(xiě)操作,LCD1602的E 引腳與單片機(jī)的P2.7 引腳進(jìn)行連接,用于使能控制,LCD1602的VSS、VEE、VDD 接入一個(gè)滑動(dòng)變阻器,用于調(diào)節(jié)背光使用。

在圖2 中,獨(dú)立按鍵溫度設(shè)置鍵、溫度加鍵和溫度減鍵分別與單片機(jī)的P3.2、P3.3、P3.4 引腳進(jìn)行連接,另一端接低電平。

在圖2 中,電機(jī)通過(guò)一個(gè)限流電阻和NPN 管與單片機(jī)的P3.7 引腳進(jìn)行連接,通過(guò)P3.7端口控制電機(jī)工作狀態(tài),由于單片機(jī)的輸出電流不能夠直接驅(qū)動(dòng)電機(jī)進(jìn)行工作,所以外接了一個(gè)NPN 管作為驅(qū)動(dòng)管使用。

1.2.2 工作原理

使用獨(dú)立按鍵進(jìn)行鍵值輸入,設(shè)定自己所需的溫度閾值,可以通過(guò)LCD1602 看到當(dāng)前自己設(shè)置的溫度閾值。DS18B20 會(huì)對(duì)周?chē)鷾囟冗M(jìn)行采集,并將采集的溫度通過(guò)串口傳遞給單片機(jī),單片機(jī)在接收到DS18B20 采集的溫度之后,將接受到的溫度值進(jìn)行處理之后與溫度閾值進(jìn)行比較,控制電機(jī)的工作狀態(tài),選擇合適的擋位進(jìn)行轉(zhuǎn)動(dòng),并且控制LCD1602 顯示器顯示當(dāng)前的溫度和擋位。

2 軟件系統(tǒng)設(shè)計(jì)

■2.1 溫度采集程序設(shè)計(jì)

2.1.1 初始化時(shí)序

初始化目的是為了讓單片機(jī)檢測(cè)總線上的DS18B20是否能夠正常通信,為通信做準(zhǔn)備。開(kāi)始時(shí),單片機(jī)將總線的電平拉低,持續(xù)時(shí)間為480μs,接著單片機(jī)釋放總線,由于上拉電阻的存在,會(huì)將總線電平拉高,持續(xù)時(shí)間是50~60μs,接著單片機(jī)檢測(cè)總線是否被DS18B20 拉低,持續(xù)時(shí)間60~240μs,初始化時(shí)序圖見(jiàn)圖3所示。

圖3 初始化時(shí)序圖

2.1.2 寫(xiě)時(shí)序

寫(xiě)時(shí)序是向DS18B20 內(nèi)部寫(xiě)入命令,寫(xiě)時(shí)序可分為寫(xiě)“0”時(shí)序和寫(xiě)“1”時(shí)序,不管是寫(xiě)“0”時(shí)序還是“1”時(shí)序,都需要維持至少60uS的時(shí)間,兩次寫(xiě)操作之間要間隔至少1μs的時(shí)間。在進(jìn)行寫(xiě)操作之前,單片機(jī)將總線拉低在15μs 內(nèi)必須釋放總線。寫(xiě)時(shí)序圖如圖4所示。

圖4 寫(xiě)時(shí)序圖

2.1.3 讀時(shí)序

讀時(shí)序是單片機(jī)在總線上讀取DS18B20 在總線上傳遞的命令,分為讀“0”時(shí)序和讀“1”時(shí)序。這兩個(gè)時(shí)序讀取的時(shí)間都要維持至少60μs的時(shí)間,其中包括1μs的恢復(fù)時(shí)間,在單片機(jī)拉低總線15μs 內(nèi)必須釋放總線。讀時(shí)序圖如圖5所示。

圖5 讀時(shí)序圖

2.1.4 操作順序

初始化——>寫(xiě)相應(yīng)的控制指令(用寫(xiě)數(shù)據(jù)函數(shù)完成)——>讀取DS18B20 所采集到的數(shù)據(jù)(用讀數(shù)據(jù)函數(shù)完成)— —>把采集的數(shù)據(jù)轉(zhuǎn)化成實(shí)際的溫度。

■2.2 LCD1602 顯示程序

液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示LCD 此時(shí)不忙,這時(shí)才能寫(xiě)指令和數(shù)據(jù),否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址(寫(xiě)指令),也就是告訴模塊在,哪里顯示字符,然后再寫(xiě)入需要顯示的字符(寫(xiě)數(shù)據(jù)),才能夠正常顯示字符。

當(dāng)我們要寫(xiě)指令的時(shí)候,RS 置為低電平,RW 置為低電平,EN 置為低電平,然后將指令數(shù)據(jù)送到數(shù)據(jù)口D0~D7, 延 時(shí)tsp1, 讓1602準(zhǔn)備接收數(shù)據(jù),這時(shí)候?qū)N 拉高,產(chǎn)生一個(gè)上升沿,這時(shí)候指令就開(kāi)始寫(xiě)入LCD,延時(shí)一段時(shí)間,將EN 置低電平。

當(dāng)我們要寫(xiě)數(shù)據(jù)的時(shí)候,RS 置為高電平,RW 置為低電平,EN 置為低電平,然后將指令數(shù)據(jù)送到數(shù)據(jù)口D0~D7,延時(shí)tsp1,讓1602 準(zhǔn)備接收數(shù)據(jù),這時(shí)候?qū)N 拉高,產(chǎn)生一個(gè)上升沿,這時(shí)候數(shù)據(jù)就開(kāi)始寫(xiě)入LCD,延時(shí)一段時(shí)間,將EN置低電平。讀時(shí)序操作圖如圖6所示,寫(xiě)時(shí)序操作圖如圖7所示。

圖6 讀時(shí)序操作

圖7 寫(xiě)時(shí)序操作圖

■2.3 主程序設(shè)計(jì)

首先進(jìn)行溫度讀取,將讀取的溫度通過(guò)顯示器顯示,然后再將讀取溫度與設(shè)置的溫度進(jìn)行比較,判斷是否開(kāi)啟風(fēng)扇。主程序流程圖如圖8所示。

圖8 主程序流程圖

3 仿真調(diào)試

根據(jù)圖8 主程序流程圖,使用Keil 軟件進(jìn)行程序編寫(xiě),將寫(xiě)好的程序生成HEX 文件。使用Proteus 軟件和Keil 軟件的聯(lián)合調(diào)試功能,進(jìn)行電路仿真。

如圖9所示,溫度傳感器DS18B20 采集的溫度為44℃,LCD1602 上顯示的溫度值也為44℃,說(shuō)明系統(tǒng)的溫度采集和溫度顯示沒(méi)有問(wèn)題;通過(guò)LCD1602 顯示屏我們可以清楚地看到TH的默認(rèn)值為40℃,而此時(shí)的采集溫度高于40℃,所以此時(shí)的擋位P 為2,設(shè)計(jì)概念符合,而TL的默認(rèn)值為10℃,如圖10所示,當(dāng)溫度低于40℃而高于或者等于10℃的時(shí)候,擋位P 為1,也符合設(shè)計(jì)的概念。接下來(lái)進(jìn)行按鍵設(shè)置測(cè)試。

圖9 TH 擋位測(cè)試圖

圖10 TL 擋位測(cè)試圖

如圖11所示,當(dāng)按下設(shè)置按鍵時(shí),LCD1602 顯示TH設(shè)置界面,通過(guò)加減按鍵可以進(jìn)行TH 值的設(shè)定,此時(shí)的TH 值為48℃。如圖12所示,當(dāng)再次按下設(shè)置按鍵時(shí),會(huì)進(jìn)入TL 值的設(shè)置界面,通過(guò)加減按鍵,可以進(jìn)行TL 值的設(shè)定,此時(shí)TL 值顯示為13℃。

圖12 TL 設(shè)置圖

如圖13所示,當(dāng)再次按下設(shè)置按鍵時(shí),就會(huì)退出設(shè)置界面,進(jìn)入顯示界面,此時(shí)的TH 為48℃,TL 為13℃,與設(shè)置界面設(shè)置的值相符合。

圖13 設(shè)置退出界面圖

4 結(jié)束語(yǔ)

利用溫度傳感器DS18C20 和單片機(jī)的控制技術(shù),可以實(shí)現(xiàn)風(fēng)扇的智能化設(shè)計(jì),其智能體現(xiàn)在能夠隨著外界的溫度變化自動(dòng)調(diào)節(jié)風(fēng)扇的啟動(dòng)。隨著科技的發(fā)展,家用電器的智能化將在我們生活中越來(lái)越常見(jiàn),基于物聯(lián)網(wǎng)的技術(shù)將會(huì)使得風(fēng)扇更加智能。

猜你喜歡
低電平時(shí)序按鍵
基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
鐵道車(chē)輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車(chē)型低電平參考電壓總線電路圖
基于FPGA 的時(shí)序信號(hào)光纖傳輸系統(tǒng)
一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
15-MeV電子直線加速器的低電平系統(tǒng)
DPBUS時(shí)序及其設(shè)定方法
按鍵的多種狀態(tài)檢測(cè)及消抖處理方法