基于單片機(jī)遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)電氣自動(dòng)化專業(yè)
《基于單片機(jī)遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)電氣自動(dòng)化專業(yè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)電氣自動(dòng)化專業(yè)(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 基于單片機(jī)遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 本設(shè)計(jì)基于單片機(jī)和無(wú)線通信技術(shù),利用手機(jī)APP實(shí)現(xiàn)遠(yuǎn)程設(shè)備的控制,系統(tǒng)包括手機(jī)APP端、無(wú)線通信模塊。無(wú)線通信模塊由單片機(jī)控制器、按鍵和無(wú)線發(fā)射器、顯示器組成,其功能是通過(guò)接受來(lái)自手機(jī)APP不同的指令來(lái)實(shí)現(xiàn)不同設(shè)備的控制。手機(jī)APP通過(guò)WiFi或GPRS信號(hào)發(fā)送指令,具有較好的人機(jī)交互界面,可實(shí)現(xiàn)多機(jī)交互。系統(tǒng)的控制距離較遠(yuǎn),應(yīng)用方便,可用于對(duì)家庭電器遠(yuǎn)程控制,還可以對(duì)某些高危操作下的遠(yuǎn)程控制,以及戶外遠(yuǎn)距離通信。 本設(shè)計(jì)描述了系統(tǒng)的主要部件組成及功能特性、系統(tǒng)的模塊組成及系統(tǒng)的工作原理,控制程序及設(shè)計(jì)調(diào)試與操作。 關(guān)鍵詞:5
2、1單片機(jī);ESP8266無(wú)線設(shè)置;C語(yǔ)言;遠(yuǎn)程控制;手機(jī)APP Abstract This design is based on single-chip computer and wireless communication technology, using mobile phone APP to achieve remote device control, the system includes mobile phone APP, wireless communication module. The wireless communication module is comp
3、osed of a single-chip controller, buttons, a wireless transmitter, and a display. Its function is to realize the control of different devices by receiving different instructions from the mobile phone APP. The mobile phone APP sends commands through WiFi or GPRS signals, and has a good human-computer
4、 interaction interface, which can realize multi-machine interaction. The control distance of the system is relatively long and the application is convenient. It can be used for remote control of home appliances, remote control under certain high-risk operations, and outdoor long-distance communicati
5、on. This design describes the main components of the system and the functional characteristics of the system, the system components and the working principle of the system, control procedures and design debugging and operation. Keywords:51 SCM ;Remote Control; ESP8266 wireless settings; C langua
6、ge; Mobile APP 目 錄 1.課題研究意義 1 1.1課題研究背景 ..1 1.2課題研究的意義 1 1.3本文的研究?jī)?nèi)容 1 2.主要部件概述 2 2.1 STC89c51單片機(jī) 2 2.1.1 STC89C51簡(jiǎn)介 2 2.1.2主要功能特性 2 2.1.3引腳結(jié)構(gòu)圖 3 2.2 1602液晶顯示器 …………………3 2.2.1 液晶顯示原理 4 2.2.2液晶顯示器的分類 4 2.2.3液晶顯示器的優(yōu)點(diǎn) 5 2.3 ESP8266概述 5 2.3.1 Esp8266簡(jiǎn)介 5 2.3.2 ESP8266特點(diǎn) 5 2.3.4 ESP
7、8266的應(yīng)用 5 2.4供電方式 6 2.5 DHT11溫度采集模塊 6 2.6手機(jī)安卓APP 7 3.設(shè)計(jì)原理 7 3.1總設(shè)計(jì)原理 7 3.2 ESP8266無(wú)線通信設(shè)置 8 3.3 DC電源 9 3.4自鎖開(kāi)關(guān) 10 3.5 按鍵 10 3.6模塊化設(shè)計(jì) 11 3.6.1用戶人機(jī)交互界面 11 3.6.2紅外遙控通信,無(wú)線通信 11 3.6.3解析無(wú)線數(shù)據(jù)信號(hào),客戶端和服務(wù)端的交互 12 3.6.4 多機(jī)和界面操作 12 4 設(shè)計(jì)調(diào)試與操作 13 4.1設(shè)計(jì)調(diào)試 13 4.1.1 硬件調(diào)試 13 4.1.2 軟件調(diào)試 13 4.1.3整機(jī)調(diào)試 1
8、4 4.2 案例設(shè)計(jì)操作過(guò)程 14 5.設(shè)計(jì)總結(jié) 15 參 考 文 獻(xiàn) 17 附 錄 18 謝 辭 28 38 1.課題研究意義 1.1課題研究背景 這是一個(gè)智能化蓬勃發(fā)展的時(shí)代,科學(xué)技術(shù)是第一生產(chǎn)力,科技的力量是人們的生活質(zhì)量改善的決定因素。高效率,節(jié)省時(shí)間,操作方便不僅是我們這個(gè)時(shí)代的主題,更是科學(xué)發(fā)展所追求的方向。隨著科技高速發(fā)展,我們對(duì)于智能化生活的追求也隨之增長(zhǎng)。電子計(jì)算機(jī)的出現(xiàn)極大地豐富了這個(gè)世界的物質(zhì)性和精神性,同時(shí)也大大的簡(jiǎn)化了世界。當(dāng)然MCU系統(tǒng)也隨之出現(xiàn),并大量應(yīng)用在生產(chǎn)生活之中,利用MCU控制,操作一些事務(wù),勞動(dòng)時(shí)間相對(duì)減少,勞動(dòng)效率和精度隨之
9、提高。MCU的出現(xiàn)極大的改變了我們生產(chǎn)與生活方式。人們的生活與網(wǎng)絡(luò)和智能越來(lái)越緊密聯(lián)系在一起。物聯(lián)網(wǎng)大量的應(yīng)用在各行各業(yè)之中,在智能時(shí)尚、智能工農(nóng)業(yè)、智能交通運(yùn)輸、智能物流、智能教育教學(xué)、智能家居等方面都有著非凡意義。而WiFi無(wú)線網(wǎng)絡(luò)技術(shù)的應(yīng)用,可以實(shí)現(xiàn)手機(jī)端對(duì)WiFi模塊設(shè)備的控制,而且,可以通過(guò)手機(jī)和電腦對(duì)智能設(shè)備遠(yuǎn)程控制,多種多樣的設(shè)備控制方式,操作相對(duì)簡(jiǎn)單。應(yīng)用軟件采用安卓系統(tǒng)編程,數(shù)據(jù)信息可視化程度高,應(yīng)用軟件人機(jī)交互良好,改善人機(jī)對(duì)話技術(shù),可實(shí)現(xiàn)多機(jī)和界面直接操作,操作方便簡(jiǎn)單。同時(shí),遠(yuǎn)程控制技術(shù)也在現(xiàn)代生活生產(chǎn)中發(fā)揮著無(wú)可比擬的作用。大到航空航天,武器設(shè)備,小到電器家具,教學(xué)設(shè)
10、備,都有著遠(yuǎn)程控制的身影。 1.2課題研究的意義 隨著現(xiàn)代科學(xué)技術(shù)的快速發(fā)展,電子科技智能化和生活水平不斷進(jìn)步提高。人們對(duì)于生活質(zhì)量和科技服務(wù)的要求與向往也日益提高,不僅在功能上,人們更多開(kāi)始追求服務(wù),安全,人性化等方面,而科技也在一步步滿足人們的各式各樣的需求。 當(dāng)我們出門(mén)在外,或者各種情況下不方便對(duì)被操作對(duì)象進(jìn)行處理時(shí),我們就會(huì)需要遠(yuǎn)程控制,比如出門(mén)在外監(jiān)控家中情況,回家路上提前打開(kāi)空調(diào)、照明;大棚溫度采集并加熱或者制冷,等等,都會(huì)需要運(yùn)用遠(yuǎn)程控制技術(shù)。遠(yuǎn)程控制的優(yōu)點(diǎn)主要在于不受時(shí)間和空間地點(diǎn)的約束,從而避免浪費(fèi)必要資源。 1.3本文的研究?jī)?nèi)容 本設(shè)計(jì)是基于單片機(jī)的一套遠(yuǎn)程控制系
11、統(tǒng),它可以通過(guò)手機(jī)實(shí)現(xiàn)對(duì)溫度進(jìn)行采集顯示并加以操作加熱或制冷。因?yàn)槭謾C(jī)幾乎是現(xiàn)代人生活中不可缺少的電子產(chǎn)品,不像遙控一樣專物專用。手機(jī)又有連接WIFI網(wǎng)絡(luò)的功能,穿透能力比藍(lán)牙要好,性能比紅外穩(wěn)定,又不必考慮直線傳播。手機(jī)通過(guò)安裝APP文件作為上位機(jī)控制軟件,登陸服務(wù)器賬號(hào),連接主機(jī)(由STC89C51芯片組成)控制的ESP8266WIFI模塊對(duì)其發(fā)送指令,進(jìn)行連接。單片機(jī)接收到信號(hào)控制操作進(jìn)行加熱或者制冷。系統(tǒng)的主要設(shè)計(jì)框圖如圖1-1所示: DHT11溫度采集 Esp8266無(wú)線模塊 STC89C51單片機(jī) 手機(jī)APP模塊 LCD1602液晶顯示模塊
12、 USB充電模塊 圖1-1 設(shè)計(jì)框圖 2.主要部件概述 2.1 STC89c51單片機(jī) 單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)將中央處理器CPU、只讀存儲(chǔ)器ROM、隨機(jī)存儲(chǔ)器RAM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能集成到一塊硅片上構(gòu)成的單個(gè)微型計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于工業(yè)控制領(lǐng)域。 8051單片機(jī)一般是對(duì)和MCS-51兼容的單片機(jī)的統(tǒng)稱,題設(shè)要求使用8051開(kāi)發(fā)平臺(tái),而在本設(shè)計(jì)中,采用8051系列中的STC89C51這一具體型號(hào)的單片機(jī)為開(kāi)發(fā)平臺(tái),8951在我國(guó)單片機(jī)的教育教學(xué),產(chǎn)品設(shè)計(jì)中使用更為普遍。
13、2.1.1 STC89C51簡(jiǎn)介 STC89C51單片機(jī)是采用8051核的ISP在線可編程芯片。兼容MCS-51指令集和80C51的引腳結(jié)構(gòu)、支持在線編程功能、串口編程、集成Flash存儲(chǔ)芯片和通用8位中央處理器,是高速度/低功耗的新一代8051單片機(jī)。 2.1.2主要功能特性 STC89C51的主要功能特性是:低成本,高性能;原有程序直接使用,硬件無(wú)需改動(dòng)。如表2-1所示: 主要功能特性 兼容MCS51指令系統(tǒng) 4K可反復(fù)擦寫(xiě)Flash ROM 32個(gè)雙向I/O口 256x8bit內(nèi)部RAM 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷 時(shí)鐘頻率0-24MHz 2個(gè)串行中斷 可
14、編程UART串行通道 2個(gè)外部中斷源 共6個(gè)中斷源 2個(gè)讀寫(xiě)中斷口線 3級(jí)加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能 表2-1 主要功能特性 2.1.3引腳結(jié)構(gòu)圖 STC引腳結(jié)構(gòu)圖如圖2-2所示: 圖2-2引腳結(jié)構(gòu)圖 2.2 1602液晶顯示器 在日常生活中,液晶顯示器對(duì)于我們來(lái)說(shuō)極為熟悉。液晶顯示模塊在智能手表、萬(wàn)年歷、計(jì)算器,手機(jī)等電子設(shè)備中都發(fā)揮極其重要的作用,主要顯示數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交互界面中,一般通過(guò)發(fā)光管、LED數(shù)碼管、液晶顯示器等方式對(duì)外輸出。如圖2-3所示: 圖2-3 1602液晶顯示屏 2.2.1 液晶顯示原
15、理 液晶顯示屏的顯示原理是利用它的物理特性,通過(guò)電壓控制其顯示區(qū)域,對(duì)其通電,從而顯示出圖形。液晶原理如2-2所示: 其引腳簡(jiǎn)介:液晶1接GND,液晶2接VCC;3腳是液晶的灰度調(diào)整,通常3腳與GND(地)之間的之間的電阻數(shù)值為200Ω~1.5kΩ,3腳和電源之間的阻值大約為10kΩ。液晶的4~14與單片機(jī)的I/O口相接。15腳(A)和16腳(K)分別是為背光的電源和地。液晶顯示原理如圖2-2所示: 圖2-2 液晶原理 2.2.2液晶顯示器的分類 液晶顯示器主要按照顯示方式、顯示器色彩度、驅(qū)動(dòng)方式進(jìn)行分類。 如表2-3所示: 顯示方式 顯示器色彩度 驅(qū)
16、動(dòng)方式 段式 字符式 點(diǎn)陣式 黑白 多灰度 彩度 靜態(tài)驅(qū)動(dòng) 單純矩陣驅(qū)動(dòng) 主動(dòng)矩陣驅(qū)動(dòng) 表2-3 液晶顯示器的分類 2.2.3液晶顯示器的優(yōu)點(diǎn) 當(dāng)液晶顯示器作為對(duì)外顯示器件應(yīng)用在單片機(jī)系統(tǒng)中時(shí),有下列優(yōu)點(diǎn):體積小,重量輕,功耗低;畫(huà)質(zhì)高且不會(huì)閃爍;數(shù)字式接口,簡(jiǎn)單可靠。 2.3 ESP8266概述 2.3.1 Esp8266簡(jiǎn)介 ESP8266是一款高性能,低功耗的WiFi 模塊,是專為物聯(lián)網(wǎng)應(yīng)用和移動(dòng)設(shè)備而設(shè)計(jì),可將用戶的設(shè)備連接到Wi-Fi網(wǎng)絡(luò)上,實(shí)現(xiàn)聯(lián)網(wǎng)功能。ESP8266如圖2-4所示: 圖2-4 ESP8266 2.3.2 ESP82
17、66特點(diǎn) (1)32 位 Tensilica 處理器:ESP8266EX 內(nèi)置超低功耗Tensilica L106 32位RISC 處理器CPU時(shí)鐘速度最高可達(dá)160 MHz,支持實(shí)時(shí)操作系統(tǒng) (RTOS)和Wi-Fi協(xié)議棧,可將高達(dá) 80% 的處理能力留給應(yīng)用編程和開(kāi)發(fā)。 (2)低功耗:ESP8266作為專門(mén)為可穿戴電子產(chǎn)品、移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用而設(shè)計(jì)的產(chǎn)品,擁有多項(xiàng)專有技術(shù),從而實(shí)現(xiàn)了超低功耗。 (3)高度集成:ESP8266由 32 位Tensilica處理器、天線開(kāi)關(guān)、功率放大器、射頻balun、低噪放大器、標(biāo)準(zhǔn)數(shù)字外設(shè)接口、過(guò)濾器和電源管理模塊等組成。只需少量的外圍電路,就可降
18、低所占的PCB 空間。 (4)性能穩(wěn)定:ESP8266的工作溫度范圍大,性能保持相對(duì)穩(wěn)定,可以在惡劣的操作環(huán)境中使用。 2.3.4 ESP8266的應(yīng)用 ESP8266主要可以應(yīng)用在以下設(shè)備裝置中:智能電源插頭,智能家居,嬰兒監(jiān)控器,網(wǎng)絡(luò)攝像機(jī),可穿戴電子設(shè)備產(chǎn)品,工業(yè)無(wú)線控制,無(wú)線位置感知設(shè)備。 如圖2-5所示的嬰兒監(jiān)控器,屬于智能家居的一種,屬于無(wú)線安全防護(hù)系統(tǒng)。通過(guò)ESP8266模塊,家長(zhǎng)可通過(guò)顯示部分實(shí)時(shí)監(jiān)視嬰幼兒房間內(nèi)的具體畫(huà)面。 圖2-5 嬰兒監(jiān)控器 2.4供電方式 本設(shè)計(jì)供電方式選擇USB插口模式。如圖2-6所示: 圖2-6 USB
19、數(shù)據(jù)線 2.5 DHT11溫度采集模塊 DHT11模塊是一種具有標(biāo)定數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。該傳感器由電阻濕度傳感器和NTC溫度傳感器組成,與高性能8位微控制器連接。因此,該產(chǎn)品的優(yōu)點(diǎn)體現(xiàn)品質(zhì)卓越、性能穩(wěn)定、可靠性高、反應(yīng)速度快、抗干擾能力強(qiáng)、性價(jià)比高等等方面。每個(gè)DHT11傳感器都必須在極其精準(zhǔn)的校驗(yàn)室中進(jìn)行測(cè)試修正。單線制串行接口,從而使系統(tǒng)集成變得方便簡(jiǎn)潔。產(chǎn)品封裝模式為 4 針單排引腳,容易連接,而且可根據(jù)用戶需求而提供特殊封裝形式。如圖2-7所示: 圖2-7 DHT模塊 2.6手機(jī)安卓APP 通過(guò)網(wǎng)上相關(guān)論壇查詢,下載了適合本
20、設(shè)計(jì)作品的“WiFi數(shù)據(jù)傳輸”APP。此軟件可顯示實(shí)時(shí)溫度數(shù)值,并有加熱制冷按鍵。軟件外觀設(shè)計(jì)如圖2-8所示: 圖2-8 WiFi數(shù)據(jù)傳輸APP 3.設(shè)計(jì)原理 3.1總設(shè)計(jì)原理 本設(shè)計(jì)基于單片機(jī)和無(wú)線通信技術(shù),利用手機(jī)APP實(shí)現(xiàn)遠(yuǎn)程設(shè)備的控制,系統(tǒng)包括手機(jī)APP端、無(wú)線通信模塊。無(wú)線通信模塊由單片機(jī)控制器、按鍵和無(wú)線發(fā)射器、顯示器組成,其功能是通過(guò)接受來(lái)自手機(jī)APP不同的指令來(lái)實(shí)現(xiàn)不同設(shè)備的控制。手機(jī)APP通過(guò)WiFi或GPRS信號(hào)發(fā)送指令,具有較好的人機(jī)交互界面,可實(shí)現(xiàn)多機(jī)交互。系統(tǒng)的控制距離較遠(yuǎn),應(yīng)用方便,可用于對(duì)家庭電器遠(yuǎn)程控制,還可以對(duì)某些高危操作下的遠(yuǎn)程控制,以及戶外
21、遠(yuǎn)距離通信。 具體原理為:?jiǎn)纹瑱C(jī)板上的DHT11模塊采集溫度,并將溫度數(shù)值發(fā)送到LCD液晶顯示屏以及手機(jī)端APP界面加以顯示。ESP8266發(fā)送WiFi無(wú)線數(shù)據(jù),手機(jī)連上之后,APP自動(dòng)獲取IP地址,接收溫度數(shù)值,手機(jī)APP端發(fā)送加熱或者制冷指令,單片板上接收數(shù)據(jù),進(jìn)行對(duì)應(yīng)操作,從而完成遠(yuǎn)程控制的應(yīng)用。其原理圖、微控制單元mcu、操作分別如圖3-1、3-2、3-3所示: 圖3-1 原理圖 圖3-2微控制單元mcu圖 圖3-3 操作展示圖 3.2 ESP8266無(wú)線通信設(shè)置 本設(shè)計(jì)使用ESP8266WIFI模塊實(shí)現(xiàn)單片機(jī)超聲波測(cè)量數(shù)據(jù)向手機(jī)無(wú)線傳輸,讓
22、手機(jī)實(shí)時(shí)顯示測(cè)量結(jié)果。 ESP8266模塊供電采用3.3V電壓。將CH-PD引腳接VCC或者接上拉,其余三個(gè)引腳可選擇懸空,模塊便可從FLASH啟動(dòng)進(jìn)入AT系統(tǒng)。不同的測(cè)試系統(tǒng),接線方法也不盡相同,例如一種值得推薦的接法:CH-PD引腳接VCC后,將UTXD,GND,VCC,URXD與USB-TTL連接之后便可以進(jìn)行測(cè)試。 在本設(shè)計(jì)中,我們將單片機(jī)的串口中斷的波特率設(shè)為9600,記得在將ESP8266模塊與單片機(jī)硬件連接之前,先用USB模塊與ESP8266模塊連接好,再將ESP8266模塊用AT命令改為9600的波特率。使用的命令: (1)AT+UART=9600,8,1,0,0,如圖
23、3-4所示: 圖3-4 調(diào)試圖 (2)AT+CWSAP="wifi_yuan","123456789",11,4 //設(shè)置模塊SSID:WIFI, PWD:密碼 及安全類型加密模式(WPA2-PSK),如圖3-5所示: 圖3-5 調(diào)試圖 (3)完成上面兩步后,就可以將ESP8266模塊與單片機(jī)系統(tǒng)連接起來(lái)。 手機(jī)連接“WiFi”,輸入密碼:“12345678”,成功連接。如圖3-6所示: 圖3-6 WiFi連接 3.3 DC電源 DC電源插口的2、3引腳接GND,1腳實(shí)則是VCC,然而在電路中需要接藍(lán)色的自鎖開(kāi)關(guān)元器件,之后另一個(gè)引腳再去接電源。 電源插口原
24、理和硬件分別如3-7,3-8所示: 圖3-7 DC電源圖 圖3-8 DC電源原理圖 3.4自鎖開(kāi)關(guān) 自鎖開(kāi)關(guān)元器件在電路中相當(dāng)于電源開(kāi)關(guān),一組常開(kāi)觸點(diǎn)接電路的VCC(電源),另外一組常開(kāi)觸點(diǎn)接DC電源插口電源腳。硬件圖如3-9,原理圖如3-10所示: 圖3-9 自鎖開(kāi)關(guān)實(shí)體圖 圖3-10自鎖開(kāi)關(guān)原理圖 3.5 按鍵 按鍵解析如圖3-11所示: 圖3-11 按鍵解析圖 3.6模塊化設(shè)計(jì) 3.6.1用戶人機(jī)交互界面 下載好軟件之后,連接WiFi,輸入密碼,打開(kāi)WiFi數(shù)據(jù)傳輸APP,可以看到手機(jī)APP操作界面簡(jiǎn)單明了,沒(méi)有過(guò)多復(fù)雜的顯示。界面直
25、接顯示溫度數(shù)值,加熱按下左邊按鈕,制冷則按右邊按鈕,若退出,直接按“斷開(kāi)”即可。界面清楚,操作簡(jiǎn)單,老人孩子都可直接操作。WiFi數(shù)據(jù)傳輸APP頁(yè)面如圖3-12所示: 圖3-12 APP界面 3.6.2紅外遙控通信,無(wú)線通信 在本設(shè)計(jì)中,使用的是無(wú)線通訊,設(shè)計(jì)中采用了ESP8266Wi-Fi模塊,用手機(jī)連接名為“wifi”的無(wú)線網(wǎng),密碼是“12345678”,可實(shí)現(xiàn)無(wú)線通訊。本設(shè)計(jì)沒(méi)有采用紅外遙控,是因?yàn)樵O(shè)計(jì)要求對(duì)溫度高度敏感,然而溫度容易影響紅外遙控,使其靈敏度和按測(cè)度下降。 手機(jī)連接WiFi如圖3-13所示: 圖3-13 無(wú)線連接
26、 3.6.3解析無(wú)線數(shù)據(jù)信號(hào),客戶端和服務(wù)端的交互 單片機(jī)板上的ESP8266WiFi模塊作為服務(wù)端,通過(guò)手機(jī)連接,APP作為客戶端,服務(wù)端將采集到的溫度數(shù)據(jù)傳輸?shù)紸PP中并顯示;而手機(jī)APP作為客戶端,控制加熱或者制冷,將數(shù)據(jù)發(fā)送到單片機(jī)上,加熱或者制冷功能的警示燈發(fā)揮作用,給予提示。成功實(shí)現(xiàn)客戶端與服務(wù)端交互。 在單片機(jī)中植入相關(guān)代碼: void ESP8266_SERVER(void)//建立服務(wù)器 { Send_Str("AT\r\n"); delayms(500); Send_Str("AT\r\n"); delayms(500); Send_Str
27、("AT+CWMODE=2\r\n"); //服務(wù)器搭建在WIFI模塊上 delayms(500); Send_Str("AT+CWSAP=\"wifi\",\"12345678\",5,3\r\n"); //設(shè)置顯示名稱:wifi,密碼:12345678 delayms(500); Send_Str("AT+CIPMUX=1\r\n");//啟動(dòng)多連接,建立服務(wù)器都需要配置 delayms(500); Send_Str("AT+CIPSERVER=1,5000\r\n");//建立服務(wù)器 delayms(500); Send_Str("AT+
28、CIPSTO=0\r\n"); } 3.6.4 多機(jī)和界面操作 此模塊實(shí)現(xiàn)功能即一個(gè)操作界面可以直接操作多臺(tái)客戶機(jī),客戶機(jī)可同時(shí)進(jìn)行操作。ESP8266無(wú)線網(wǎng)絡(luò)可多個(gè)手機(jī)連接,而手機(jī)全部可以同時(shí)獨(dú)立操作,成功實(shí)現(xiàn)多級(jí)和界面直接操作。多機(jī)操作原理如圖3-14所示: 圖3-14 多機(jī)操作原理 4 設(shè)計(jì)調(diào)試與操作 硬件和軟件部分完成后,為確保設(shè)計(jì)作品成功,實(shí)現(xiàn)要求功能,所以進(jìn)行必備步驟:調(diào)試。最終,對(duì)調(diào)試成功的作品進(jìn)行操作。 4.1設(shè)計(jì)調(diào)試 調(diào)試分為對(duì)硬件,軟件,整體的調(diào)試三部分。 4.1.1 硬件調(diào)試 在完成硬件制作后,根據(jù)設(shè)計(jì)要求對(duì)硬件部分進(jìn)行了調(diào)試工作,首先是對(duì)器件進(jìn)行
29、檢測(cè),測(cè)試其能否正常工作,導(dǎo)線是否導(dǎo)通等等。接著是檢查對(duì)各個(gè)引腳的信號(hào),接通好電源,觸摸元器件,發(fā)熱的話,將電源關(guān)閉,再次進(jìn)行檢測(cè);若沒(méi)有發(fā)熱,則測(cè)試所有芯片的VCC端電壓,查看是否達(dá)到設(shè)計(jì)要求標(biāo)準(zhǔn),接地端是否都已經(jīng)接地,沒(méi)有錯(cuò)誤后,則開(kāi)始利用信號(hào)波形測(cè)試電路中所用到的引腳。最后進(jìn)行聯(lián)機(jī)調(diào)試,采用部分調(diào)試。 圖4-1元件圖 圖4-2充電線 圖4-3 充電之后的元件圖 4.1.2 軟件調(diào)試 本設(shè)計(jì)系統(tǒng)的程序是采用C語(yǔ)言編程,通過(guò)Keil uVision3 MCS-51編程軟件對(duì)C語(yǔ)言軟件部分進(jìn)行了調(diào)試。在該軟件的提示下,成功
30、完成修改。所以只需著重檢查頭文件是否正確與單片機(jī)的端口地址是否匹配即可。軟件調(diào)試如圖4-4所示: 圖4-4測(cè)試圖 4.1.3整機(jī)調(diào)試 整機(jī)調(diào)試主要是實(shí)體運(yùn)行時(shí)對(duì)按鍵和接線進(jìn)行測(cè)試等。通過(guò)測(cè)試各個(gè)功能模塊,并對(duì)錯(cuò)誤加以改進(jìn),使得本設(shè)計(jì)最終達(dá)到要求。 4.2 案例設(shè)計(jì)操作過(guò)程 (1)將USB端接入電腦,另一端與dc電源端連接,按下自鎖開(kāi)關(guān),LCD顯示屏顯示溫度,打開(kāi)手機(jī)APP,如圖4-5、4-6所示: 圖4-5手機(jī)APP界面圖 圖4-6 溫度顯示圖 (2)溫度顯示:連接WiFi,輸入密碼,手機(jī)和單片機(jī)板LCD液晶
31、顯示板同時(shí)呈現(xiàn)溫度具體數(shù)值。 輸入密碼,相關(guān)操作如圖4-7、4-8所示: 圖4-7 輸入密碼 圖4-8 操作圖 (3)按下左邊的開(kāi)按鈕,紅燈亮,提示加熱。操作如圖4-9所示: 圖4-9 加熱操作 (4)按下右邊的開(kāi)按鈕,紅燈亮,提示制冷。 制冷操作如圖4-10所示: 圖4-10 制冷操作 5.設(shè)計(jì)總結(jié) 何為遠(yuǎn)程控制?即在網(wǎng)絡(luò)上,由主控端Remote遠(yuǎn)距離控制被控端Host的技術(shù)。其中,主控端又稱為客戶端,被控端又稱為服務(wù)端。遠(yuǎn)程控制系統(tǒng)應(yīng)用在實(shí)際生活的方方面面,對(duì)于我們來(lái)說(shuō),極為熟
32、悉。比如,遠(yuǎn)程監(jiān)控,人在外地可以實(shí)時(shí)監(jiān)控家中;QQ的遠(yuǎn)程桌面,可以實(shí)現(xiàn)控制對(duì)方電腦從而進(jìn)行操作,手機(jī)APP遠(yuǎn)程遙控家電,實(shí)現(xiàn)智能化家居生活等等。而本文中的遠(yuǎn)程控制加熱或制冷裝置,可以廣泛應(yīng)用在蔬菜大棚,花房等需要根據(jù)要求改變溫度的場(chǎng)所。設(shè)計(jì)過(guò)程中注重操作的直觀性和操作性,采用了實(shí)時(shí)顯示的交互界面,讓操作結(jié)果一目了然。 在設(shè)計(jì)過(guò)程中,遇到了一些棘手的問(wèn)題,比如C語(yǔ)言的編寫(xiě),esp8266模塊的設(shè)置,LCD液晶顯示屏的選擇,各個(gè)小零件的型號(hào),單片機(jī)的焊接等,最后這些問(wèn)題,在經(jīng)過(guò)查詢圖文資料,老師細(xì)心的指導(dǎo)和同學(xué)間的討論之后成功解決,完成了設(shè)計(jì),也熟悉了C語(yǔ)言的編寫(xiě),keil軟件的應(yīng)用,電子元器件
33、的的焊接等。 總而言之,設(shè)計(jì)過(guò)程和論文的修改雖然經(jīng)歷很多的困難,但通過(guò)查詢相關(guān)資料和指導(dǎo)老師的幫助下,最終完成作品。通過(guò)這次畢業(yè)設(shè)計(jì),我感覺(jué)所學(xué)知識(shí)的重要性和融合性,也明白自己在專業(yè)學(xué)習(xí)上有很大的不足,但總體有所進(jìn)步,將理論與操作結(jié)合,鞏固了以往所學(xué)的知識(shí),為以后的應(yīng)用打下了一定的基礎(chǔ)。 參 考 文 獻(xiàn) [1] 楊凡. 淺談單片機(jī)發(fā)展歷程及其趨勢(shì)[J]. 科技創(chuàng)造家,2016. [2] 王熔熔. 基于單片機(jī)的溫度采集報(bào)警系統(tǒng)的設(shè)計(jì)[J]. 計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2016. [3] 曹瑞. 基于單片機(jī)的計(jì)算器的設(shè)計(jì)[J]. 科技視界,2017. [4] 梁強(qiáng). 字符型液晶模
34、塊1602快速應(yīng)用[J].科技信息,2012. [5] 劉包利.淺談單片機(jī)及其擴(kuò)展應(yīng)用 [J].內(nèi)蒙古科技與經(jīng)濟(jì),2010,22:96-97 [6] 凌玉華.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)[M].中南大學(xué)出版社,2006-5-1 [7] 呂娓,劉雁開(kāi),房理想 .家用電器遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)[J].電子世界, 2015. [8] 樂(lè)鑫.ESP8266 Overview[EB/OL]. ,2018. [9] ESP8266 數(shù)據(jù)手冊(cè)和產(chǎn)品信息;ESP8266開(kāi)發(fā)教程與資源[DB/OL]. 2018年03月11日 [10] Libo Yang. Intelligent Home Contro
35、l System Based on Single Chip Microcomputer[J]. IOP Conference Series: Materials Science and Engineering 2017. [11] Noraini Azmi. Design and Development of Multi-Transceiver Lorafi Board consisting LoRa and ESP8266-Wifi Communication Module[J]. IOP Conference Series: Materials Science and Engineeri
36、ng 2018. [12] Hanhong Tan. Design of Water Temperature Control System Based on Single Chip Microcomputer[J]. IOP Conference Series: Materials Science and Engineering 2017. 附 錄 附錄一: 設(shè)計(jì)元件清單 元件名稱 數(shù)量 元件名稱 數(shù)量 STC89C51 1 LED 3 LCD1602 1 精密電阻 1 DS18B20 1 排阻10K 1 ESP8266 1 晶振11
37、.0592M
1
AMS1117
1
繼電器
2
按鍵
1
自鎖按鍵
1
8550
2
USB線
1
電阻電容
10K(1個(gè))1K(5個(gè))4.7K(1個(gè))
10uf (1個(gè))30pf (2個(gè))220uf (1個(gè))
附錄二:
相應(yīng)代碼
#include
38、();_nop_();_nop_();_nop_();} uchar code str1[]={"TEMP: "}; sbit DQ = P1^0; //溫度傳送數(shù)據(jù)IO口 uchar flag=0; //顯示狀態(tài)位 uint Wendu; //用來(lái)存儲(chǔ)采集實(shí)際使用的溫度 unsigned int temp; sbit LED1=P2^0; //定義單片機(jī)I/O口p2.0偽名稱為led1 sbit LED2=P3^7; //定義單片機(jī)I/O口p3.7偽名稱為led2 unsigned char idata Rxbuff[50
39、],Rxnum; //聲明一個(gè)類型為無(wú)字符型的對(duì)象 unsigned char Recwifi_data[5],led[2]; //聲明一個(gè)類型為無(wú)字符型的對(duì)象 char *strx=0; char clinetid;//連接ID unsigned char getflag;//獲取標(biāo)志 /*************DS18B20溫度讀取模塊*************/ void delay_1ms(uint z) //傳遞延時(shí)1ms { uint x,y; //循環(huán) for(x=z;x>0;x--) for(y=110;y>0;y--);
40、} void tmpDelay(int num)//延時(shí)函數(shù) { while(num--) ; } void Init_DS18B20()//初始化ds1820 { unsigned char x=0; DQ = 1; //DQ復(fù)位 tmpDelay(8); //稍做延時(shí) DQ = 0; //單片機(jī)將DQ拉低 tmpDelay(80); //精確延時(shí) 大于 480us DQ = 1; //拉高總線 tmpDelay(14); x=DQ; //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 tmpDela
41、y(20); } unsigned char ReadOneChar()//讀一個(gè)字節(jié) { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; // 給脈沖信號(hào) dat>>=1; DQ = 1; // 給脈沖信號(hào) if(DQ) dat|=0x80; tmpDelay(4); } return(dat); //返回 } void WriteOneChar(unsigned char dat)//寫(xiě)一個(gè)字節(jié) { unsigne
42、d char i=0; for (i=8; i>0; i--) //for循環(huán) { DQ = 0; DQ = dat&0x01; tmpDelay(5); DQ = 1; dat>>=1; } } uchar Readtemp()//讀取溫度 { uchar tmp[2]; Init_DS18B20(); WriteOneChar(0xCC); // 跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44); // 啟動(dòng)溫度轉(zhuǎn)換 delay_1ms(10); Init_DS18B20();
43、 WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE); //讀取溫度寄存器 tmp[0]=ReadOneChar(); //連續(xù)讀兩個(gè)字節(jié)數(shù)據(jù) //讀低8位 tmp[1]=ReadOneChar(); //讀高8位 temp = ((tmp[1]<<4)&0xF0)|((tmp[0]>>4)&0x0F); //數(shù)返回?cái)?shù)值 if(temp>127) //判斷temp { temp = ~temp + 1
44、; } return (temp); } void InitUART(void) //這是串口的基本配置,配置他的波特率是9600.這些參數(shù)都是標(biāo)準(zhǔn)的。 { TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = TH1; PCON = 0x00; EA = 1; ES = 1; TR1 = 1; } /**********************************************************************
45、********/ void delayms(unsigned int x) //延時(shí)函數(shù) { unsigned int i; while(x--) //while循環(huán) for(i=125;i>0;i--); } /* * UART 發(fā)送一字節(jié) */ void UART_send_byte(char dat) { SBUF = dat; //發(fā)送 while (TI == 0); //等待發(fā)送完畢 TI = 0; //清發(fā)送完畢中斷請(qǐng)求標(biāo)志位 } /* * UART 發(fā)送字符串 */ void Send_
46、Str(unsigned char *buf) { while (*buf != '\0') { UART_send_byte(*buf++); } } void ESP8266_SERVER(void)//建立服務(wù)器 { Send_Str("AT\r\n"); delayms(500); Send_Str("AT\r\n"); delayms(500); Send_Str("AT+CWMODE=2\r\n"); //服務(wù)器搭建在WIFI模塊上 delayms(500); Send_Str("AT+CWSAP=\"wifi\"
47、,\"12345678\",5,3\r\n"); //設(shè)置顯示名稱:wifi,密碼:12345678 delayms(500); Send_Str("AT+CIPMUX=1\r\n");//啟動(dòng)多連接,建立服務(wù)器都需要配置 delayms(500); Send_Str("AT+CIPSERVER=1,5000\r\n");//建立服務(wù)器 delayms(500); Send_Str("AT+CIPSTO=0\r\n"); } void Get_Clinet(void)//判斷是否獲取到了客戶端接入 { if((Rxbuff[0]=='0')&&
48、(Rxbuff[1]==',')&&(Rxbuff[3]=='O'))//返回連接值 { getflag=1; } if((Rxbuff[0]=='0')&&(Rxbuff[1]==',')&&(Rxbuff[3]=='L'))//返回連接值 { getflag=0; } } void Send_DATA(uchar *buffer) //發(fā)送數(shù)據(jù) { Send_Str("AT+CIPSEND=0,7\r\n"); delayms(100); Send_Str(buffer);//發(fā)送數(shù)據(jù) delayms(
49、200); if((Rxbuff[9]=='1')&&(Rxbuff[10]=='0'))//關(guān)燈 LED1=1; if((Rxbuff[9]=='1')&&(Rxbuff[10]=='1'))//開(kāi)燈 LED1=0; if((Rxbuff[9]=='2')&&(Rxbuff[10]=='0')) //關(guān)燈 LED2=1; if((Rxbuff[9]=='2')&&(Rxbuff[10]=='1'))//開(kāi)燈 LED2=0 ; } void main() //main函數(shù) { unsigned char Tx_Buf[10];
50、 unsigned char LEDstatus;//燈的狀態(tài) InitUART(); ESP8266_SERVER(); Init_1602(); //1602初始化 Init_DS18B20(); //18B20初始化 LCD_write_str(1,4,str1); while(1) { if(flag==0) { Wendu=Readtemp(); //采集溫度回來(lái) Lcd_Display_2Date(1,9,Wendu);
51、} /////////////////////////////////////////////// Get_Clinet(); if(getflag) { Lcd_Display_2Date(1,9,Wendu); //顯示溫度 Tx_Buf[0]='T'; //幀頭 Tx_Buf[1]=Wendu/10+0x30; //將溫濕度數(shù)據(jù)送往發(fā)送數(shù)組,送給模塊讓手機(jī)APP顯示 Tx_Buf[2]=Wendu%10+0x30; Tx_Buf[3]=0+0x30; Tx_B
52、uf[4]=0+0x30; LEDstatus=LED1; Tx_Buf[5]=LEDstatus+0x30;//發(fā)送燈的狀態(tài) LEDstatus=LED2; Tx_Buf[6]=LEDstatus+0x30; Send_DATA(Tx_Buf);//發(fā)送數(shù)據(jù) } } } /*****************串口接收中斷函數(shù),接收數(shù)據(jù)*********************/ void UARTInterrupt(void) interrupt 4 { if(RI) { ES=0;
53、
RI = 0;
Rxbuff[Rxnum]=SBUF;
if(Rxbuff[Rxnum]=='\n') //if循環(huán)語(yǔ)句
{
Rxnum=0;
}
else
{
Rxnum++;
if(Rxnum>22)
Rxnum=0;
}
ES=1;
}
}
//LCD1602.c//
#include
54、t sbit lcden=P1^7; //LCD使能位引腳定義 sbit lcdrs=P1^6; //LCD數(shù)據(jù)命令選擇引腳定義 //---------------------------------------------------------------- void delay(uint z)//延時(shí)子程序 { uint x,y; for(x=z;x>0;x--) //for循環(huán) for(y=100;y>0;y--); }
55、 void write_com(uchar com) //寫(xiě)命令 { lcdrs=0; P0=com; delay(1); lcden=1; delay(1); lcden=0; } void write_data(uchar date) //寫(xiě)數(shù)據(jù) { lcdrs=1; P0=date; delay(1); lcden=1; delay(1);
56、 lcden=0; } void Init_1602() //初始化 { lcden=0; write_com(0x38);//顯示模式設(shè)置 write_com(0x0c);//不顯示光標(biāo) write_com(0x06); write_com(0x01);//顯示清零 write_com(0x80+0x10); } //寫(xiě)地址函數(shù) void LCD_set_rc( uchar r, uchar c ) {
57、 uchar address; // if (r == 1) //if循環(huán) address = 0x80 + c; else if(r == 2) address = 0xc0 + c; write_com( address ); } //在第X列Y行開(kāi)始顯示,指針*S所指向的字符串 void LCD_write_str(uchar X,uchar Y,uchar *s) { LCD_set_rc(X,Y);//設(shè)置初始字符顯示地
58、址 while(*s)//逐次寫(xiě)入顯示字符,直到最后一個(gè)字符"/0" { write_data(*s);//寫(xiě)入當(dāng)前字符并顯示 s++;//地址指針加1,指向下一個(gè)待寫(xiě)字符 } } void show_str(uchar *s) //lcd液晶顯示屏顯示函數(shù) { while(*s != '\0') { write_data(*s); s++; // delay_ms(1); } } void Lcd_Display_2Date(uchar line,uchar list,uint Date)
59、//LCD顯示屏顯示函數(shù) { // uchar i; uchar ta[]={0,0,0,0,'\0'}; // // list=list &0x07; // switch(line){ case 1: write_com(0x80+list);break; // case 2: write_com(0xC0+list);break; // default : break; } ta[0]=Date/10%10+48; ta[1]=Date%10+48; ta
60、[2]=0XDF; ta[3]= 'C' ; show_str(ta); } 謝 辭 本文是在李紅霞老師和潘學(xué)美老師的悉心教導(dǎo)下,由本人獨(dú)立完成。 在此,我要感謝我的指導(dǎo)老師李紅霞和潘學(xué)美老師。從論文的立意,構(gòu)思,設(shè)計(jì)的選擇,代碼的修改,成品的調(diào)試,李紅霞老師不厭其煩的給予指導(dǎo);潘學(xué)美老師則在論文的開(kāi)題,修改,定稿,相關(guān)資料的查詢等方面給予我無(wú)私的幫助,兩位老師的指導(dǎo),使我能夠最后順利完成論文寫(xiě)作工作。 在此,誠(chéng)心感謝自動(dòng)化與電氣工程學(xué)院全體老師的支持,感謝青軟實(shí)訓(xùn)的老師的指導(dǎo),感謝本篇論文中涉及到的各位學(xué)者老師,感謝我的各位同學(xué)的幫助,感謝我的家人的理解,在此一并表示感謝。 最后誠(chéng)摯感謝臨沂大學(xué)為我?guī)Ыo了寶貴的學(xué)習(xí)機(jī)會(huì),使我能夠走上一個(gè)新的平臺(tái),開(kāi)始一段新的人生! 2018年3月24日
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生經(jīng)濟(jì)政策分析課件
- 向時(shí)間要效率-主題班會(huì)課件
- 小崗村之行課件
- 孝道與感恩課件
- 測(cè)量小燈泡的電功率ppt課件6(人教版物理九年級(jí)全冊(cè))
- 瑞豐高材公司章程(7月)
- 現(xiàn)代銷售學(xué)創(chuàng)造顧客價(jià)值(第11版)Manning11e11
- 幼兒園教師禮儀培訓(xùn)
- 《說(shuō)和做》(新版優(yōu)秀教案)【優(yōu)質(zhì)】教學(xué)課件
- 伊斯蘭園林特點(diǎn)解析課件
- 企業(yè)環(huán)保自覺(jué)性與公政策導(dǎo)向分析課件
- 焦慮癥的針灸治療課件
- 服裝企業(yè)生產(chǎn)設(shè)備簡(jiǎn)介講義課件
- 人才資源統(tǒng)計(jì)報(bào)表課件
- 化學(xué)品危害及防護(hù)