亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 612|回復(fù): 0
收起左側(cè)

第14章 實(shí)踐項(xiàng)目開發(fā)——智能溫控系統(tǒng)14.5(上

[復(fù)制鏈接]
ID:1167894 發(fā)表于 2026-5-14 14:47 | 顯示全部樓層 |閱讀模式
14.5項(xiàng)目實(shí)戰(zhàn)
開始進(jìn)入本章的重頭戲,也是本書即將結(jié)束的綜合訓(xùn)練,實(shí)實(shí)在在的實(shí)戰(zhàn)項(xiàng)目--智能溫控系統(tǒng)。當(dāng)接到一個(gè)具體項(xiàng)目開發(fā)任務(wù)后,要根據(jù)項(xiàng)目做出框架規(guī)劃,整理出邏輯思路,設(shè)計(jì)電路圖,寫出規(guī)范的代碼,調(diào)試代碼最終完成功能。
14.5.1項(xiàng)目需求分析
作為一個(gè)空調(diào)的溫控器,基本功能以及使用Kingst51開發(fā)板上的電子元件包含:
1、顯示當(dāng)前室內(nèi)溫度,使用18B20溫度傳感器和數(shù)碼管完成。
2、記錄當(dāng)前設(shè)定的溫度值,以便下次開機(jī)直接使用,使用EEPROM完成。
3、當(dāng)室內(nèi)溫度高于設(shè)定溫度時(shí),啟動(dòng)壓縮機(jī)開始工作,使用繼電器完成。
4、當(dāng)空調(diào)壓縮機(jī)損壞,無法降低室內(nèi)溫度,溫度高到一定值,系統(tǒng)報(bào)警,使用蜂鳴器完成。
5、手動(dòng)調(diào)整制冷溫度值和報(bào)警溫度值,使用按鍵和數(shù)碼管和LED小燈完成。
6、使用LED點(diǎn)陣顯示一個(gè)愛心圖像。
14.5.2硬件電路布局和選型
設(shè)計(jì)一個(gè)產(chǎn)品,并不是一個(gè)所需功能的簡(jiǎn)單雜亂堆積,而是要從功能設(shè)計(jì),產(chǎn)品布局讓人用起來更舒服、更愉悅、更符合人性化,這才是一個(gè)優(yōu)秀的設(shè)計(jì)。比如以Kingst51開發(fā)板作為智能溫控器的設(shè)計(jì)參考產(chǎn)品,硬件設(shè)計(jì)和開發(fā)充分考慮的幾個(gè)方面。
1、主控芯片通常放到整個(gè)線路板的偏中心位置,方便走線。
2、顯示部分的LED小燈、數(shù)碼管和點(diǎn)陣都放到線路板右上方比較醒目的位置。
3、按鍵輸入部分,放到線路板的右下角,方便右手按按鍵。
4、繼電器、蜂鳴器放到左上方;USB供電和通信放到左下方。
對(duì)于器件的選擇,考慮的因素有:
1、所選器件是否可靠和穩(wěn)定,根據(jù)產(chǎn)品的定位考量。如果是DIY練習(xí)為主,器件選擇可以能方便購買就行;如果是批量產(chǎn)品,要充分考慮器件品質(zhì),能否耐用,長(zhǎng)期使用,盡量不選一些最近半年出的新的器件。
2、所選器件是否滿足批量生產(chǎn)、長(zhǎng)期生產(chǎn)的需求。首先避免所選器件為市場(chǎng)淘汰產(chǎn)品,市場(chǎng)上僅有一些二手拆機(jī)件,容易造成整個(gè)產(chǎn)品次品率大幅提高,生產(chǎn)供應(yīng)跟不上。其次要確保所選器件廠家的品質(zhì)和實(shí)力,能否確保長(zhǎng)期使用不斷貨。
3、選擇器件時(shí)考慮部分器件是否方便替代,是否可以有備選方案。
4、所選器件是否方便生產(chǎn)。原則上能用SMT貼片的,就不選插件的;能選機(jī)器完成焊接的,就不能選人工組裝的。
5、滿足穩(wěn)定可靠的基礎(chǔ)上,選擇價(jià)格合理的,控制整體產(chǎn)品的硬件成本。
6、最后還可以有美觀上的加分項(xiàng),比如Kingst51開發(fā)板的器件,整個(gè)板子設(shè)計(jì)成紅色,需要手動(dòng)操作的部件包括插針都選了藍(lán)色。
14.5.3程序結(jié)構(gòu)規(guī)劃
項(xiàng)目需求和硬件規(guī)劃已經(jīng)確定,那就要開始研究如何實(shí)現(xiàn)所需要的軟件功能,程序結(jié)構(gòu)如何組織。一個(gè)項(xiàng)目,如果需要參與工作的器件比較多,同時(shí)實(shí)現(xiàn)的功能也很多,為了方便程序編寫和維護(hù),整個(gè)程序必須采用模塊化編程,也就是每個(gè)功能模塊對(duì)應(yīng)一個(gè).c文件來實(shí)現(xiàn),這種用法在前邊的章節(jié)已經(jīng)開始使用了。一方面,所有的代碼堆到一起會(huì)顯得雜亂無章,更重要的是容易造成意外錯(cuò)誤,程序一旦有邏輯上的問題或者功能增加或者程序更新的需求,修改程序代碼將是一種災(zāi)難。另外一方面,如果一個(gè)項(xiàng)目程序很大的時(shí)候,可能需要多個(gè)程序開發(fā)人員共同參與編程,多模塊的方式也可以讓每位程序員之間的代碼最終很靈活的融合到一起。
模塊的劃分沒有什么教條可以遵循,而是根據(jù)具體需要靈活處理,就以這個(gè)智能溫控器項(xiàng)目為例。這個(gè)項(xiàng)目在實(shí)際開發(fā)中算是一個(gè)微型產(chǎn)品,所以功能和模塊規(guī)劃也比較簡(jiǎn)單。
1、LED小燈、數(shù)碼管和LED點(diǎn)陣,都是顯示部件,因此合并一個(gè)功能模塊led.c
2、矩陣按鍵驅(qū)動(dòng)部分程序代碼,作為單獨(dú)的功能模塊keyboard.c
3、溫度傳感器作為一個(gè)獨(dú)立的功能模塊DS18b20.c
4、雖然EEPROMI2C在本項(xiàng)目中是一起用的,但是依然做成了兩個(gè)模塊,方便做成通用的程序用來移植。
5、系統(tǒng)工作模式分為三種模式:正常工作模式,設(shè)置繼電器動(dòng)作溫度和設(shè)置蜂鳴器報(bào)警溫度,主程序不斷地掃描目前系統(tǒng)所處的模式,掃描按鍵并執(zhí)行相應(yīng)的動(dòng)作,同時(shí)主程序定時(shí)掃描進(jìn)行溫度顯示。
隨著程序量逐步增多,程序功能逐步增強(qiáng),對(duì)于程序的劃分需要逐步有分層的思路。其中按鍵、LEDI2CEEPROM18B20這些都屬于底層驅(qū)動(dòng)的范疇,它們要共同為上層應(yīng)用服務(wù),那么上層是什么呢?就是根據(jù)最終需要顯示的效果來調(diào)度各種驅(qū)動(dòng)函數(shù),根據(jù)按鍵的輸入來實(shí)現(xiàn)模式切換和溫度調(diào)整,并且控制系統(tǒng)進(jìn)行繼電器動(dòng)作和蜂鳴器報(bào)警動(dòng)作,這些都屬于應(yīng)用層的功能。

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表