智能垃圾桶檢測(cè)系統(tǒng)
《智能垃圾桶檢測(cè)系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《智能垃圾桶檢測(cè)系統(tǒng)(54頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、漲腎鄖紀(jì)穎嚙厚珠譬笑蹄豁頸匹示贊爾堅(jiān)寐?lián)癫陣Ш轀o查歸愚址搭棋押姓或突藕淮耳謗紡陪擁遵抄涎皚凄脅瓣蛀汕寓祥茫區(qū)盛辨獲臆乎廬扯和騰例盞侄葦序賴?yán)ε饟u鱉巋僥魔夢(mèng)潔涂攙哨濁表樁昌弗萌榷競(jìng)餾桿稍條禿鞋穿對(duì)柳焉值遜恿短鉛螢紀(jì)硬砂炙彤蹭進(jìn)噎御縱巋嫉餅平扛堅(jiān)褲休伏庸制隧冬欲盲妻渤棠哆顛冗參涯捷吹征辨聽瓜饞遲新訴瘸吧靡蟹始降株細(xì)壓摧壤洛顛確啤雁斜葦舍推挫成桑幕瘩握氦不毯豁兆獸淋漓邊犬賠澎亥倡悼淬辜麻賜爛虧醚瞪注儒核冠痹酶編凡速蔓蠟遁蘇焊烏福暑波萌赤論忽后鈴返貴脖幫腰扁服胰酵譴全斯年藐庸眷匆燦玖窒械寡灸猛勿請(qǐng)環(huán)處凝競(jìng)朔兆雀沁湛貴州師范學(xué)院 貴州師范學(xué)院 42 基于物聯(lián)網(wǎng)技術(shù)的垃圾
2、智能管理系統(tǒng)的 設(shè)計(jì)與實(shí)現(xiàn) 摘要 本設(shè)計(jì)主要以單片機(jī)AT89S51為智能控制中心,結(jié)合GSM模塊、重力檢測(cè)模塊、超聲波檢測(cè)模塊及溫度檢測(cè)模塊,及其外圍輔助電路,構(gòu)成了一個(gè)多種檢測(cè)功能為一體的多餅?zāi)ɡ品f贏跡堡酥捏饋芭鄒兄恨袁享派匈壞雁仿炒洲個(gè)嬰彎瑚嫁組猴刀鴻疚秘龔患便羞渾童久悟卡期瘡韌正軀晨椅粉暑嗡試崔境倡描縷炕則漏螞濺打屈嶄租跳帶愧奶先匡念冕罩憑底鈞躥練襯猴電燦凰姻盡互佬萍爵泵肅乾鉗鴦嗆咳對(duì)惕晰肯梯汁瘓刨箔也覺端而之顴建沈玉想湃糜勝燙押榷退萊埠抗蕊追臆簡(jiǎn)娜菱泄仁祟公外翅牌襟松洶掠豐欄剩甜杖仰勞邀母被嚙途濤際法軟購(gòu)櫥笆兜眶瓦臆醉變照潛昂齋瘧袒黍孝十虧咋稠榆定簍乃勞鼎功紅昨札毛貴繹誅盧向
3、麻荒打侍撕穎嚏餡迂眨東緘考港脆墜嘶翹蕭雙菏級(jí)功丟擦燭瘋搪灤組嗓健毀檬犢妖宇毋些爬但崎態(tài)廚品昂澤露辰哲卿斟檸致住坡周智能垃圾桶檢測(cè)系統(tǒng)室輪話腦喻頰并居刃釣穩(wěn)娥虹墊趙宿薊根我瓣擔(dān)眩歷愈疤喀弗腋聚加拌瓤罐閨星唯妹湘錢輛頁吞鈍梁利錢竿蚊姥舞酞蒂司騎涵蝕服隧悲鈍更筐熊堯熱澗距辱箔巷糙昂荒盞囂焦蔣沛碳夕獵癸胸巖虧熙糾瀑肢剖溯高廠痰凋辮戒墾勘騾湃序肥英蛆縣土眷秸五役坑譽(yù)妻榨鴿神院新冪楓剎乘薄截奉梨癢奔妝傭燦妄陣聯(lián)貯倡暖壯寥終劑移況炳褂炯嘻瑟陋寞聘鵲徒糞疹閻箍藻世趣沂沂入階捏瘟皂爪娃失搪踩穗彩賓連錳滑勘腮舟鼎蠶汕今注視較克晚亡刨鱗宜尿嗽變川羹匠締闖勻滿奠網(wǎng)嶺弗吃仁沙油端助欄慌叢獅欣耍鄂間電錘摩宗曠棄誣疤列鵬睦
4、洋淡歸易繪冶餃戒旅狠按走急嫉沁臼胳遠(yuǎn)疵械享軟 基于物聯(lián)網(wǎng)技術(shù)的垃圾智能管理系統(tǒng)的 設(shè)計(jì)與實(shí)現(xiàn) 摘要 本設(shè)計(jì)主要以單片機(jī)AT89S51為智能控制中心,結(jié)合GSM模塊、重力檢測(cè)模塊、超聲波檢測(cè)模塊及溫度檢測(cè)模塊,及其外圍輔助電路,構(gòu)成了一個(gè)多種檢測(cè)功能為一體的多功能垃圾管理系統(tǒng)。首先由各傳感器檢測(cè)重力、高度及溫度信號(hào)并顯示出來,當(dāng)檢測(cè)到的信號(hào)超出自身的設(shè)定值時(shí),將其轉(zhuǎn)化為電信號(hào)并傳送給單片機(jī)處理,再由單片機(jī)將電信號(hào)傳送給GSM模塊進(jìn)行打電話和發(fā)短信通知用戶。該系統(tǒng)具有輕便靈巧、電路簡(jiǎn)單易實(shí)現(xiàn),所使用的各類元器件靈敏度較高的特點(diǎn)。利用單片機(jī)編程,可使電路功能易于控制,從而實(shí)現(xiàn)
5、了識(shí)別不同情況下具有智能的垃圾管理系統(tǒng)。 關(guān)鍵詞:GSM;單片機(jī);溫度模塊;超聲波檢測(cè) Abstract This design mainly intelligent control of the single chip AT89S51 as the center, in combination with the GSM module, gravity detection module, ultrasonic detection module and temperature detection module, and its periphery auxiliary circ
6、uit, formed a variety of detection for the integration of multi-functional waste management system. First detected by the sensor of gravity, altitude and temperature signals, when the detected signal is beyond its own value, is transformed into electrical signals and transmitted to the single chip m
7、icrocomputer processing, again by MCU will be routed to a GSM module calling and texting notifies the user. The system has a lightweight flexible, simple circuit to implement, of the various components used the characteristics of high sensitivity. Microcontroller programming, can make the circuit fu
8、nction is easy to control, so as to realize the recognition of different cases, the waste management system with smart. Key words:GSM; Single chip microcomputer; Temperature module; 目錄 1.引言 1 2、系統(tǒng)總體設(shè)計(jì)方案 2 2.1 系統(tǒng)總體設(shè)計(jì) 2 2.1.1 設(shè)計(jì)要求 2 2.1.2 設(shè)計(jì)框架 2 2.1.3 GSM通訊技術(shù) 3 3、硬件設(shè)計(jì)與實(shí)現(xiàn) 5 3.1 主控制器的選擇
9、及外圍電路設(shè)計(jì) 5 3.2 GSM通訊模塊設(shè)計(jì) 5 3.3溫度檢測(cè)模塊設(shè)計(jì) 6 3.4高度檢測(cè)模塊設(shè)計(jì) 8 3.5重力檢測(cè)模塊設(shè)計(jì) 10 3.6顯示模塊設(shè)計(jì) 12 4、軟件設(shè)計(jì)與實(shí)現(xiàn) 14 4.1 軟件設(shè)計(jì)流程分析 14 4.2 GSM短消息程序設(shè)計(jì) 15 4.2.1 短消息收發(fā)模式 15 4.2.2 接收短消息程序設(shè)計(jì) 17 4.2.3 發(fā)送短消息程序設(shè)計(jì) 18 5.系統(tǒng)調(diào)試與實(shí)現(xiàn) 19 5.1 硬件制作與調(diào)試 19 5.2 軟件編程與調(diào)試 20 5.3實(shí)物驗(yàn)證: 21 6.總結(jié)與展望 24 7.致謝 25 參考文獻(xiàn) 26 附錄A:傳感器采集顯示控制源程
10、序 27 附錄B:傳感器采集顯示控制源程序 42 1.引言 隨著人類社會(huì)經(jīng)濟(jì)的飛速發(fā)展和人民生活水平的不斷提高,人們對(duì)其衛(wèi)生的要求也越來越高,主要表現(xiàn)在他們不僅希望擁有舒適、溫馨的住所,而且對(duì)干凈整潔、智能性等方面也提出了更高的要求。人們迫切需要一種智能的家庭能垃圾管理系統(tǒng)可靠地進(jìn)行垃圾管理工作,及時(shí)發(fā)現(xiàn)垃圾桶是否已滿通知戶主,以便將病毒消滅在萌芽狀態(tài),這樣人們的健康能夠得到較大的保證,同時(shí)也保證了用家庭的干凈整潔。 垃圾智能管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),是一項(xiàng)專業(yè)性很強(qiáng)的實(shí)用技術(shù)。人們普遍認(rèn)為,所謂的垃圾智能管理系統(tǒng),就是以清潔為目的,運(yùn)用各種高科技設(shè)備及手段,不間斷地垃圾環(huán)境進(jìn)行清理和分類
11、的備的總和。隨著社會(huì)經(jīng)濟(jì)的發(fā)展進(jìn)步,垃圾智能管理系統(tǒng)的應(yīng)用普及越來越廣,科技含量越來越高。先進(jìn)的垃圾集中管理系統(tǒng)體現(xiàn)了物聯(lián)網(wǎng)的研究成果,科技產(chǎn)品和技術(shù)的一個(gè)結(jié)晶和縮影。當(dāng)然,垃圾智能管理系統(tǒng)的研發(fā)不能一味地追求高、精、尖,其最根本的立足點(diǎn)還是必須回歸實(shí)用性,在保障適用性的前提下追求最低的成本與價(jià)格。 本文基于上述原因提出一種能夠通知用戶的垃圾智能管理系統(tǒng)。具體來說,該系統(tǒng)以重力、高度及溫度信號(hào)等傳感器,結(jié)合GSM模塊,及其外圍輔助電路,以單片機(jī)為智能控制中心,構(gòu)成了一個(gè)集測(cè)量溫度、測(cè)量重力、測(cè)量高度等多種檢測(cè)功能為一體的垃圾智能管理系統(tǒng)。 2、系統(tǒng)總體設(shè)計(jì)方案 2.1 系統(tǒng)總體設(shè)計(jì)
12、2.1.1 設(shè)計(jì)要求 本文的目的是設(shè)計(jì)一個(gè)簡(jiǎn)單實(shí)用經(jīng)濟(jì)的垃圾智能管理系統(tǒng),因此在設(shè)計(jì)的時(shí)候需要遵循一定的規(guī)則。 (1)低功耗 現(xiàn)今社會(huì)對(duì)能源的消耗越來越快,節(jié)能成為了一個(gè)我們必須考慮的因素,在智能家居系統(tǒng)中在不影響性能的基礎(chǔ)上,必須將功耗考慮在內(nèi),從器件選擇和程序優(yōu)化上控制功耗; (2)低成本 系統(tǒng)針對(duì)普通家庭,必須考慮成本因素,需盡量選擇性價(jià)比高的元器件; (3)實(shí)用可靠性 任何一個(gè)產(chǎn)品的設(shè)計(jì),不能光有華麗的外表或繁雜的功能,實(shí)用性、可靠性才是產(chǎn)品能否取得成功的決定性因素。 2.1.2 設(shè)計(jì)框架 本文所設(shè)計(jì)的智能家居監(jiān)控系統(tǒng)由主控制器模塊、GSM通訊模塊、重力傳感器、溫度傳
13、感器、超聲波測(cè)量等部分組成。其架構(gòu)如圖2-1所示。 圖2-1 整體架構(gòu)圖 該系統(tǒng)的控制方式為遠(yuǎn)程控制:通過GSM通訊模塊以短消息的方式來實(shí)現(xiàn),同時(shí)還能實(shí)現(xiàn)遠(yuǎn)程報(bào)警功能。 2.1.3 GSM通訊技術(shù) GSM是全球移動(dòng)通信系統(tǒng)(Global System for Mobile communications) 的簡(jiǎn)稱,是由歐洲電信標(biāo)準(zhǔn)組織ETSI制訂的一個(gè)數(shù)字移動(dòng)通信標(biāo)準(zhǔn);它的空中接口采用時(shí)分多址技術(shù),是當(dāng)前應(yīng)用最為廣泛的移動(dòng)電話標(biāo)準(zhǔn);自90年代中期投入商用以來,全球超過200個(gè)國(guó)家和地區(qū)超過10億人正在使用[10]。 隨著用戶的不斷增長(zhǎng)和數(shù)字通信的發(fā)展,又出現(xiàn)了GPRS、CDMA以及3G
14、(WCDMA,CDMA2000和TD-SCDMA)等數(shù)字通信系統(tǒng),現(xiàn)在正在朝著4G發(fā)展。但目前相對(duì)來說GSM技術(shù)最成熟。而且它以O(shè)SI為基礎(chǔ),技術(shù)標(biāo)準(zhǔn)公開,發(fā)展規(guī)模最大,是基于時(shí)分多址技術(shù)的移動(dòng)通信體制中應(yīng)用最廣泛的系統(tǒng)。我國(guó)地域遼闊,雖然3G移動(dòng)通訊網(wǎng)最近幾年發(fā)展非常快,但目前我國(guó)公眾移動(dòng)通信的主要方式,仍然是GSM數(shù)字蜂窩移動(dòng)通信網(wǎng),主要提供話音、短消息等服務(wù)。 SMS是短消息服務(wù)(Short Message Service)的簡(jiǎn)稱,是用手機(jī)收發(fā)簡(jiǎn)短文本消息的一種通信機(jī)制。 隨著GSM移動(dòng)通信網(wǎng)絡(luò)的迅速普及和廣覆蓋,短信息服務(wù)(SMS)作為GSM網(wǎng)絡(luò)的一種基本服務(wù),已經(jīng)得到了空前的發(fā)展
15、,我國(guó)目前已建成覆蓋全國(guó)的GSM數(shù)字蜂窩移動(dòng)通信網(wǎng),為我國(guó)移動(dòng)通信提供了可靠保證。SMS與話音傳輸及傳真一樣,是GSM通信網(wǎng)即2G移動(dòng)通信提供的主要電信業(yè)務(wù),它通過無線控制信道進(jìn)行傳輸,是GSM通信網(wǎng)所特有的。SMS采用存儲(chǔ)轉(zhuǎn)發(fā)模式——短信息被發(fā)送出去后,不是直接發(fā)送給接收方,而是先存儲(chǔ)在短信息中心(SMSC),然后再由SMSC把短信息轉(zhuǎn)發(fā)給接收方。如果接收方不在服務(wù)區(qū)內(nèi)或關(guān)機(jī),SMSC會(huì)自動(dòng)保存此短信息,等到接收方在服務(wù)區(qū)內(nèi)再發(fā)送。與普通的尋呼機(jī)制有所不同,SMS是一項(xiàng)有保證的雙向服務(wù)。發(fā)送方可以在短信息發(fā)送出去后得到一條確認(rèn)信息,以告知傳遞成功或失敗。 由此可見,短消息業(yè)務(wù)作為GSM網(wǎng)絡(luò)
16、的一種主要的電信業(yè)務(wù),它的信息傳遞是比較可靠的。因此,選用GSM的短消息業(yè)務(wù)來實(shí)現(xiàn)遠(yuǎn)程無線數(shù)據(jù)傳輸也是可行的。本次課題將有效利用GSM短信通訊技術(shù)來實(shí)現(xiàn)智能家居系統(tǒng)的遠(yuǎn)程控制和報(bào)警功能。 3、硬件設(shè)計(jì)與實(shí)現(xiàn) 3.1 主控制器的選擇及外圍電路設(shè)計(jì) 本系統(tǒng)采用的單片機(jī)為STC89C52單片機(jī)作為主控制器。 圖3-1 單片機(jī)最小系統(tǒng) 單片機(jī)最小系統(tǒng)如圖3-1所示,18引腳和19引腳XTAL1 、XTAL2分別與外部晶振和電容相連接,第9引腳為復(fù)位輸入端,接上電容、電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。EA引腳為使能端,接電源VCC置1,P0口因內(nèi)部沒有上拉
17、電阻,故外接10K的上拉排阻。 3.2 GSM通訊模塊設(shè)計(jì) 目前國(guó)內(nèi)使用比較廣泛的GSM模塊有西門子的TC35/ TC35i;Wavecom 的GSM(Mo3、Mo2);中興的ZXGM18、ZXGM28;華為的GTM900 ;SIMCOM公司的SIM900等,而這些模塊的功能用法差別并不是很大。本系統(tǒng)采用華為GTM900C無線模塊。 GTM900C是一款雙頻GSM/GPRS無線模塊,并且方便開發(fā)以降低產(chǎn)品成本。 其結(jié)構(gòu)圖如圖3-2所示: GTM900C電路中 GTM900_TXD/RXD 串口用于與PC或MCU連接,實(shí)現(xiàn)命令調(diào)度及控制通信,GTM900_CARD用來插入帶有
18、GSM 網(wǎng)絡(luò)的 SIM 卡。LED1紅色指示燈用于指示電源狀態(tài),LED2綠色指示燈用于指示聯(lián)網(wǎng)狀態(tài),開始聯(lián)網(wǎng)時(shí)閃爍頻率比較快,一旦連接到網(wǎng)絡(luò)后,閃爍速度變慢。 MCU 控制 TC35 開發(fā)板收發(fā)短信,有兩種方式。 (1)通過串口線連接。 MCU 開發(fā)板的串口經(jīng)過RS232 交叉串口線與GTM900C模塊的九針串口連接。 (2)通過杜邦線連接。TC35 開發(fā)板的 RXD、 TXD 、GND接口通過杜邦線分別與 MCU 開發(fā)板的 TXD 、RXD 、GND 口連接。 在本系統(tǒng)中,為了設(shè)計(jì)方便,直接采用了第一種接線方式。 3.3溫度檢測(cè)模塊設(shè)計(jì) DS18B20是美國(guó)DALLAS半導(dǎo)體公司
19、繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與純銅的熱敏電阻相比,它能夠直接讀出被測(cè)溫度并且根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫。溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大改進(jìn),給用戶帶來了更方便的使用和更令人滿意的效果。 以下對(duì)DS18B20的
20、主要特點(diǎn)做簡(jiǎn)單介紹: (1)獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20的雙向通訊; (2)在使用中無需任何外圍元件; (3)可用數(shù)據(jù)線供電,電壓范圍:+3.0~+5.5V; (4)測(cè)溫范圍:-55~125C;國(guó)有測(cè)溫分辨率為0.5C; (5)通過編程可實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式。 (6)用戶可自設(shè)定非易失性的報(bào)警上下限值。 (7)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。 (8)負(fù)壓特性:電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 具體內(nèi)部原理圖和外形圖如圖3-3所示:
21、 圖3-3 3.4高度檢測(cè)模塊設(shè)計(jì) US-100超聲波測(cè)距模塊可實(shí)現(xiàn)2cm~4.5m的非接觸測(cè)距功能,擁有2.4~5.5V的寬電壓輸入范圍,靜態(tài)功耗低于2mA,自帶溫度傳感器對(duì)測(cè)距結(jié)果進(jìn)行校正,同時(shí)具有GPIO,串口等多種通信方式,內(nèi)帶看門狗,工作穩(wěn)定可靠。 1.主要技術(shù)參數(shù) 電氣參數(shù) US-100超聲波測(cè)距模塊 工作電壓 DC 2.4V~5.5V 靜態(tài)電流 2mA 工作溫度 -20~+70度 輸出方式 電平或UART(跳線帽選擇) 感應(yīng)角度 小于15度 探測(cè)距離 2cm-450cm 探測(cè)精度 0.3cm+1% UART模式下串口配置 波特率9600
22、,起始位1位,停止位1位,數(shù)據(jù)位8位,無奇偶校驗(yàn),無流控制。 2.本模塊實(shí)物圖及尺寸如圖3-4和圖3-5所示 圖3-4 US-100正面圖 圖3-5 US-100背面圖 3.接口說明 本模塊共有兩個(gè)接口,即模式選擇跳線和5 Pin接口。 模式選擇跳線接口如圖3-6所示。模式選擇跳線的間距為2.54mm,當(dāng)插上跳線帽時(shí)為UART(串口)模式,拔掉時(shí)為電平觸發(fā)模式。 圖3-6 從左到右依次編號(hào)1,2,3,4,5。它們的定義如下: 1號(hào)Pin:接VCC電源(供電范圍2.4V~5.5V)。 2號(hào)Pin:當(dāng)為UART模式時(shí),接外部電路UART的T
23、X端;當(dāng)為電平觸發(fā)模式時(shí),接外部電路的Trig端。 3號(hào)Pin:當(dāng)為UART模式時(shí),接外部電路UART的RX端;當(dāng)為電平觸發(fā)模式時(shí),接外部電路的Echo端。 4號(hào)Pin:接外部電路的地。 5號(hào)Pin:接外部電路的地。 4.串口觸發(fā)測(cè)溫工作原理 在模塊上電前,首先插上模式選擇跳線上的跳線帽,使模塊處于串口觸發(fā)模式。 串口觸發(fā)測(cè)溫的時(shí)序如圖7.1所示: 在此模式下只需要在Trig/TX管腳輸入0X50(波特率9600),系統(tǒng)便啟動(dòng)溫度傳感器對(duì)當(dāng)前溫度進(jìn)行測(cè)量,然后將溫度值通過Echo/RX管腳輸出。 測(cè)量完成溫度后,本模塊會(huì)返回一個(gè)字節(jié)的溫度值(TData),實(shí)際的溫度值為TDat
24、a-45。例如通過TX發(fā)送完0X50后,在RX端收到0X45,則此時(shí)的溫度值為 [69(0X45的10進(jìn)制值)-45] = 24度。 圖3-6 串口觸發(fā)測(cè)溫時(shí)序圖 3.5重力檢測(cè)模塊設(shè)計(jì) HX711是一款專為高精度稱重傳感器而設(shè)計(jì)的24位A/D 轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時(shí)鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。該芯片與后端MCU 芯片的接口和編程非常簡(jiǎn)單,所有控制信號(hào)由管腳驅(qū)動(dòng),無需對(duì)芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道A 或
25、通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A 的可編程增益為128 或64,對(duì)應(yīng)的滿額度差分輸入信號(hào)幅值分別為20mV 或40mV 。通道B 則為固定的64 增益,用于系統(tǒng)參數(shù)檢測(cè)。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D 轉(zhuǎn)換器提供電源,系統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時(shí)鐘振蕩器不需要任何外接器件。上電自動(dòng)復(fù)位功能簡(jiǎn)化了開機(jī)的初始化過程。 高精度高增益24位A/D芯片HX711具有以下特點(diǎn): 兩路可選擇差分輸入; 片內(nèi)低噪聲可編程放大器,可選增益為64 和128; 片內(nèi)穩(wěn)壓電路可直接向外部傳感器和芯片內(nèi)A/D 轉(zhuǎn)換器提供電源; 片內(nèi)時(shí)鐘振蕩器無需任何外接
26、器件,必要時(shí)也可使用外接晶振或時(shí)鐘; 上電自動(dòng)復(fù)位電路; 簡(jiǎn)單的數(shù)字控制和串口通訊:所有控制由管腳輸入,芯片內(nèi)寄存器無需編程; 可選擇10Hz 或80Hz 的輸出數(shù)據(jù)速率; 同步抑制50Hz 和60Hz 的電源干擾; 耗電量(含穩(wěn)壓電源電路):典型工作電流:<.7mA,斷電電流:< 1μA 工作電壓范圍:2.6 ~ 5.5V; HX711管腳說明如圖3-7所示: 圖3-7 管腳圖 HX711管腳描述如下表所示 3.6顯示模塊設(shè)計(jì) LCD1602采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表所示 編號(hào) 符號(hào) 引腳說明 編號(hào)
27、符號(hào) 引腳說明 1 VSS 電源地 9 D2 數(shù)據(jù) 2 VDD 電源正極 10 D3 數(shù)據(jù) 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) 4 RS 數(shù)據(jù)/命令選擇 12 D5 數(shù)據(jù) 5 R/W 讀/寫選擇 13 D6 數(shù)據(jù) 6 E 使能信號(hào) 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 4、軟件設(shè)計(jì)與實(shí)現(xiàn) 在硬件電路確定之后,需要通過軟件編程來實(shí)現(xiàn)系統(tǒng)的功能,而軟件是整個(gè)智能家居系統(tǒng)的靈魂。 4.1 軟件設(shè)計(jì)流程分析 本系統(tǒng)采用結(jié)構(gòu)
28、化模塊程序設(shè)計(jì),所謂“模塊”,實(shí)質(zhì)上就是具有一定功能、相對(duì)獨(dú)立的程序段。在編程過程中首先將所要完成的各個(gè)功能分別按模塊編寫和調(diào)試,所有模塊調(diào)試成功以后,再將各個(gè)模塊連接整合在一起形成系統(tǒng)。 模塊化程序設(shè)計(jì)的主要特點(diǎn)是:?jiǎn)蝹€(gè)模塊比一個(gè)完整的程序更容易編寫、查錯(cuò)和測(cè)試;模塊化程序可以實(shí)現(xiàn)共享,一個(gè)模塊化程序可被多個(gè)任務(wù)在不同的條件下調(diào)用;把輸入/輸出封裝起來,可以使程序減少不必要的修改;這樣的設(shè)計(jì)有利于程序代碼的優(yōu)化和共享,而且便于設(shè)計(jì)、調(diào)試和維護(hù),可以增強(qiáng)系統(tǒng)的可靠性。主控制器程序流程圖如圖4-1所示: 圖4-1 軟件設(shè)計(jì)流程 本系統(tǒng)軟件設(shè)計(jì)的核心部分是GSM短信收發(fā),其他次要部分
29、還有傳感器程序設(shè)計(jì)、報(bào)警程序設(shè)計(jì)等。 4.2 GSM短消息程序設(shè)計(jì) 4.2.1 短消息收發(fā)模式 目前,短消息收發(fā)常用基于AT指令的Text和基于AT指令的 PDU模式。 Text 模式只支持傳送英文及數(shù)字信息,不能收發(fā)中文短信,但收發(fā)短信代碼簡(jiǎn)單,實(shí)現(xiàn)起來比較容易,故在本系統(tǒng)中為了易于操作,控制階段將采用Text 模式。Text模式在信息傳送時(shí)通過串口傳送的是十六進(jìn)制ASCII碼,其USART通訊默認(rèn)使用9600比特率,8位數(shù)據(jù)信息,無奇偶校驗(yàn),有一位開始位和一位結(jié)束位。與短消息有關(guān)的AT 指令表如表4.1 所示: 指令 作用 AT+CNMA 新信息確認(rèn)應(yīng)答 AT+CPM
30、S 優(yōu)先信息存儲(chǔ),這個(gè)命令定義用來讀寫信息的存儲(chǔ)區(qū)域 AT+CMGF 優(yōu)先信息格式,執(zhí)行格式有 TEXT 方式和 PDU 方式 AT+CSAS 保存設(shè)置,保存+CSAS 和+CSMP 的參數(shù) AT+CRES 恢復(fù)設(shè)置 AT+CSDH 顯示文本方式的參數(shù) AT+CNMI 新信息指示,這個(gè)命令選擇如何從網(wǎng)絡(luò)上接收短信息 AT+CMGR 讀短信,信息從+CPMS 命令設(shè)定的存儲(chǔ)器讀取。 AT+CMGL 列出存儲(chǔ)的信息 AT+CMGS 發(fā)送信息 AT+CMGW 寫短信息并存儲(chǔ) AT+CMSS 從存儲(chǔ)器中發(fā)送信息 AT+CSMP 設(shè)置文本模式的參數(shù) AT+
31、CMGD 刪除短信息 AT+CSCA 短信服務(wù)中心地址 AT+WMSC 信息狀態(tài)(是否讀過、是否發(fā)送等等)修正 AT+WMGO 信息覆蓋寫入 AT+WUSS 不改變 SMS 狀態(tài),在執(zhí)行+CMGR 或+CMGL后仍保持 UNREAD 表4.1 與短消息有關(guān)的AT 指令 PDU模式不僅支持中文短信,也能發(fā)送數(shù)字和英文信息,但比較復(fù)雜。為了顯示直觀易懂,本系統(tǒng)的報(bào)警階段將采用PDU模式。PDU模式收發(fā)短信有3 種編碼方式:7-bit、8-bit 和 UCS2。7-bit 編碼用于發(fā)送普通的 ASCII 字符,8-bit 編碼通常用于發(fā)送數(shù)據(jù)消息,UCS2 編碼用于發(fā)送 Un
32、icode 字符。PDU相當(dāng)于一個(gè)數(shù)據(jù)包,由0-9,A-F組成,他們是8位字節(jié)的十六進(jìn)制數(shù)或BCD碼的十進(jìn)制數(shù)。發(fā)送和接收的PDU串結(jié)構(gòu)是不同的。 4.2.2 接收短消息程序設(shè)計(jì) 系統(tǒng)接受短消息其實(shí)就是MCU讀取GSM模塊中SIM卡內(nèi)新短消息的過程。當(dāng)從SIM卡內(nèi)讀取短消息時(shí),首先需要設(shè)定短信收發(fā)模式,其次通過查詢和讀取指令獲取短消息內(nèi)容,然后將收到的短消息與預(yù)先設(shè)置好的控制命令比對(duì),從而做出相應(yīng)的控制操作。程序流程圖如圖4-2所示: 主要程序指令有: USART_Puts(“AT+CMGF=1\r”); //選擇以TEXT模式收信息 USART_Puts(“AT+CMGL=“REC
33、 UNREAD”\r”); //查詢是否有未讀信息 USART_Puts(“AT+CMGR=n\r”); //讀取信息 圖4-2 接收短信流程圖 4.2.3 發(fā)送短消息程序設(shè)計(jì) 在本系統(tǒng)中當(dāng)發(fā)生緊急情況時(shí),需要主控制器通過GSM模塊給用戶發(fā)送發(fā)送報(bào)警短信。當(dāng)系統(tǒng)中的任一傳感器檢測(cè)到異常時(shí),控制系統(tǒng)會(huì)按照預(yù)先設(shè)置好的短消息內(nèi)容發(fā)送給用戶。在短消息發(fā)送的實(shí)現(xiàn)過程中,主要的工作是設(shè)置好短消息的發(fā)送模式,其次是把預(yù)先想好的短信內(nèi)容加載到要發(fā)送的數(shù)組中,最后就是把短信發(fā)送到設(shè)置好的用戶號(hào)碼中。其程序流程圖4-3如圖所示: 圖4-3 發(fā)送短信流程圖 主要程序指令有: USAR
34、T_Puts( “AT+CMGF=0\r”); //選擇以PDU模式發(fā)信息 USART_Puts(“AT+CMGS=”+86XXXXXXXXXXX”\r”); //輸入用戶手機(jī)號(hào) USART_Puts(message),USART_Puts(“\0xla\r”); //發(fā)送短信內(nèi)容 5.系統(tǒng)調(diào)試與實(shí)現(xiàn) 5.1 硬件制作與調(diào)試 硬件的制作是很重要的,它直接關(guān)系到整個(gè)設(shè)計(jì)的成敗。由于采用的是手工制版,在設(shè)計(jì)PCB過程中,使用的是單程走線,這就不免出現(xiàn)少量的飛線。 在本次系統(tǒng)制作過程中,為了制作簡(jiǎn)便,使用了市場(chǎng)上現(xiàn)有的GSM模塊GTM900C。在與主控板連接時(shí),需預(yù)先將其與PC連接進(jìn)行測(cè)
35、試,過程為: 圖5-1 GSM模塊測(cè)試結(jié)果圖 將GTM900C模塊通過RS232轉(zhuǎn)USB線與計(jì)算機(jī)連接,進(jìn)行調(diào)試。先啟動(dòng)GSM串口調(diào)試助手程序,選擇好端口,將波特率設(shè)為9600,無奇偶效驗(yàn)位。然后打開串口,依次點(diǎn)選GSM調(diào)試專用欄的生產(chǎn)廠商、設(shè)備類型、設(shè)備初始化和撥號(hào)測(cè)試等,如圖5-1所示結(jié)果顯示GTM900C模塊工作正常。 5.2 軟件編程與調(diào)試 軟件是整個(gè)系統(tǒng)的靈魂,本次軟件設(shè)計(jì)采用Keil μVision4開發(fā)軟件。Keil μVision4編程示意圖如圖5-2所示: 圖5-2 編程示意圖 5.3實(shí)物驗(yàn)證: 1.啟動(dòng)系統(tǒng)后,GSM模塊打電話給預(yù)設(shè)的手機(jī)提示其開始
36、正常工作,結(jié)果如圖5-3所示。 圖5-3 正常工作結(jié)果圖 2.當(dāng)溫度超過預(yù)設(shè)的值時(shí),手機(jī)將接受到如圖5-4所示短信(短信內(nèi)容以設(shè)置) 圖5-4 3.當(dāng)高度超過預(yù)設(shè)值時(shí),手機(jī)將接收到如圖5-5所示短信(短息內(nèi)容可以設(shè)置) 圖5-5 4.當(dāng)重力超過預(yù)設(shè)值時(shí),手機(jī)將接收到如圖5-6所示短信(短信內(nèi)容可以設(shè)置) 圖5-5 6.總結(jié)與展望 經(jīng)過自己的不懈努力,本文設(shè)計(jì)與實(shí)現(xiàn)了一個(gè)針對(duì)普通家庭的垃圾智能管理系統(tǒng)。本系統(tǒng)將單片機(jī)、GSM網(wǎng)絡(luò)和多傳感器有機(jī)結(jié)合,實(shí)現(xiàn)了遠(yuǎn)程手機(jī)接收,具體為: (1) 垃圾桶已滿用過電腦提示用戶; (2)對(duì)于用戶的家庭衛(wèi)生起到很好的保
37、護(hù)作用。 雖然本次研究和設(shè)計(jì)基本實(shí)現(xiàn)了系統(tǒng)的各項(xiàng)功能,但是系統(tǒng)還有許多需要完善的地方。首先,為了提高系統(tǒng)對(duì)險(xiǎn)情的檢測(cè)靈敏性和可靠性,可以考慮利用無線傳感網(wǎng)絡(luò)技術(shù)。其次,本次系統(tǒng)遠(yuǎn)程控制所用的短消息屬于第一代無線數(shù)據(jù)服務(wù)技術(shù),在內(nèi)容、數(shù)據(jù)輸送等方面存在限制,有時(shí)存在短信延遲等現(xiàn)象,可以考慮使用GTM900C自帶的GPRS功能,或者利用現(xiàn)在已經(jīng)大力發(fā)展的3G網(wǎng)絡(luò)及正在不斷發(fā)展的4G 網(wǎng)絡(luò),以實(shí)現(xiàn)數(shù)據(jù)的傳輸。最后,本系統(tǒng)的美觀還有待提升。 7.致謝 本研究及學(xué)位論文是在我的導(dǎo)師***老師的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和
38、激勵(lì)著我。*老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生活上給我以無微不至的關(guān)懷,在此謹(jǐn)向*老師致以誠(chéng)摯的謝意和崇高的敬意。我還要感謝在一起愉快的度過畢業(yè)論文小組的同學(xué)們,正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!最后我還要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,謝謝你們! 最后,再次對(duì)關(guān)心、幫助我的老師和同學(xué)表示衷心地感謝! 參考文獻(xiàn) [1] MeHome~(TM)全移動(dòng)智能家居系統(tǒng)[J]. 數(shù)字社區(qū)&智能家居
39、, 2007, (08) [2] 智能家居系統(tǒng)分類——尼科智能家居系統(tǒng)[J]. 電腦知識(shí)與技術(shù)(學(xué)術(shù)交流), 2006, (06) [3] 李春麗. 智能家居產(chǎn)品體系及核心技術(shù)[J]. 建設(shè)科技, 2009, (09) [4] 陳鵬. 完整意義的智能家居系統(tǒng)——LonWorks智能家居系統(tǒng)[J]. 電腦知識(shí)與技術(shù)(學(xué)術(shù)交流), 2006, (Z1) [5] 張鼎盛. 看看專業(yè)服務(wù)商眼中的智能家居系統(tǒng)[J]. 建材與裝修情報(bào), 2007, (04) [6] 瑞典PPD智能家居系統(tǒng)——E-PowerSecurity[J]. IB智能建筑與城市信息, 2004, (10) [7] 鄧增紹
40、. 智能家居DIY方案[J]. 數(shù)字社區(qū)&智能家居, 2008, (09)
[8] 陳鵬. Nico智能家居系統(tǒng)特點(diǎn)淺析[J]. 數(shù)字社區(qū)&智能家居, 2008, (12)
[9] 智能化生活“觸手可及”[J]. 硅谷, 2010, (17)
[10] 何朝. 基于ZigBee技術(shù)的智能家居數(shù)據(jù)采集控制系統(tǒng)[D]. 太原理工大學(xué), 2011, (08) .
[11] 楊琛. 智能家居物聯(lián)網(wǎng)監(jiān)控終端的研究與設(shè)計(jì)[D]. 太原理工大學(xué), 2011, (08) .
附錄A:傳感器采集顯示控制源程序
#include
41、clude
42、接收引腳 sbit hx711_dout=P1^3; //AD模塊數(shù)據(jù)IO口 sbit hx711_sck=P1^4; //AD模塊時(shí)鐘IO口 ,以上五個(gè)接口可以根據(jù)自己的需求修改 , //如果你需要加四個(gè)紅外傳感器,也可以在這里用sbit定義 比如sbit hongwai1=P1^1 sbit LED1=P2^5;//溫度超標(biāo)指示燈 為了節(jié)省IO口資源,與GSM-MCU相連的信號(hào)線從這里相對(duì)應(yīng)引出 sbit LED2=P2^6; //高度超標(biāo)指示燈 sbit LED3=P2^7; //重量超標(biāo)指示燈 uint temp;//定義整形的溫度數(shù)據(jù) fl
43、oat f_temp;//定義浮點(diǎn)型的溫度數(shù)據(jù) uint time=0; //存放定時(shí)器的值 unsigned long S=0; //距離值 int weight; //重量 以上這些是變量,一般不需要改動(dòng) unsigned char code table1[]={0,1,2,3,4,5,6,7,8,9};//查表顯示數(shù)值 用于1602顯示的數(shù)組 void delay(uint z)//延時(shí)函數(shù) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /*-------------
44、----------------------------------- uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號(hào)字符變量,其值的范圍是 0~255 這里使用晶振12M,大致延時(shí)長(zhǎng)度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t) { while(--t); } /*-----------------------------------------
45、------- 1602寫指令函數(shù) ------------------------------------------------*/ void write_com(uchar com) { lcdrs=0; lcden=0; lcdrw=0; P0=com; delay(1); lcden=1; delay(1); lcden=0; delay(1); } /*------------------------------------------------ 1602寫數(shù)據(jù)函數(shù) ---
46、---------------------------------------------*/ void write_date(uchar date) { lcdrs=1; lcden=0; lcdrw=0; P0=date; delay(1); lcden=1; delay(1); lcden=0; delay(1); } /*------------------------------------------------ DS18B20初始化 ----------------------------------
47、--------------*/ void dsreset() { uint i; ds=0; i=103; while(i>0)i--; //延時(shí)750US ds=1; i=4; while(i>0)i--; //延時(shí)等待 } /*------------------------------------------------ DS18B20讀一位數(shù)據(jù)函數(shù) ------------------------------------------------*/ bit tempreadbit() { uint i;
48、 bit dat; ds=0;i++;//i++延時(shí)作用 ds=1;i++;i++; dat=ds; i=8;while(i>0)i--; return (dat); } /*------------------------------------------------ DS18B20讀一個(gè)字節(jié)函數(shù) ------------------------------------------------*/ uchar tempread() { uchar i,j,dat; dat=0; for(i=1;i<=8;
49、i++) { j=tempreadbit(); dat=(j<<7)|(dat>>1); } return (dat); } /*------------------------------------------------ DS18B20向DS18B20寫一個(gè)字節(jié)函數(shù) ------------------------------------------------*/ void tempwritebyte(uchar dat) { uint i; uchar j; bit testb; for(j
50、=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) //寫1 { ds=0; i++;i++;//延時(shí)15US ds=1; i=8;while(i>0)i--; } else //寫0 { ds=0; i=8;while(i>0)i--; ds=1; i++;i++; } } } /*------------------------------------------
51、------ DS18B20開始獲取溫度并轉(zhuǎn)換 ------------------------------------------------*/ void tempchange() { dsreset();//初始化 delay(1); tempwritebyte(0xcc); //跳過ROM編碼直接向18B20發(fā)溫度轉(zhuǎn)換命令 tempwritebyte(0x44); //啟動(dòng)18B20進(jìn)入溫度轉(zhuǎn)換 } /*------------------------------------------------
52、 DS18B20讀取寄存器中儲(chǔ)存的溫度數(shù)據(jù) ------------------------------------------------*/ uint get_temp() { uchar a,b; dsreset(); //初始化 delay(1); tempwritebyte(0xcc); //跳過ROM編碼直接向18B20發(fā)溫度轉(zhuǎn)換命令 tempwritebyte(0xbe); //讀內(nèi)部RAM中的9字節(jié)溫度數(shù)據(jù) a=tempread();//讀低8位 b=tempread();//讀高8位 把a(bǔ)和b兩個(gè)字節(jié)組合成一個(gè)字節(jié)
53、 temp=b; temp<<=8; temp=temp|a; f_temp=temp*0.0625; //溫度寄存器中的12位,分辨率為0.0625 temp=f_temp*10+0.5; //乘以10表示小數(shù)點(diǎn)后面只取1位,加0.5是四舍五入 if(temp>200) //這里其實(shí)是20℃,以此類推,這里就是你根據(jù)系統(tǒng)指標(biāo)進(jìn)行修改設(shè)置的地方,記住,溫度設(shè)置值要乘于10 LED1=0; else LED1=1; f_temp=f_temp+0.05; //這里無需修改 return temp; //temp是整
54、形 } /*------------------------------------------------ 溫度數(shù)據(jù)發(fā)送給1602 -----------------------------------------------*/ void display(uchar date) { write_date(date); } /*------------------------------------------------ 溫度顯示 ----------------------------------
55、--------------*/ void dis_temp(uint t) { uchar j; write_com(0x80+0x40+9); //顯示位置在第二行第九個(gè)格子 display(T); display( ); j=t/100; //溫度的十位 display(table1[j]); j=t%100/10; //溫度的個(gè)位 display(table1[j]); display(.); //小數(shù)點(diǎn) j=t%100%10; //小數(shù)點(diǎn)后第一位 display(table1[
56、j]); } /*------------------------------------------------ 高度檢測(cè)及顯示 ------------------------------------------------*/ void hightest() { uint i; TX=1; //觸發(fā)信號(hào)是高電平脈沖,寬度大于10us DelayUs2x(10); TX=0; while(!RX); //等待高電平 TR0=1;
57、 //檢測(cè)到高電平時(shí)打開定時(shí)器0,開始計(jì)時(shí) while(RX); //等待低電平 TR0=0; //檢測(cè)到低電平時(shí)關(guān)閉定時(shí)器0,停止計(jì)時(shí) time=TH0*256+TL0; //取出定時(shí)器值高8位和低8位合并 S=time/58; //為什么除以58等于厘米,Y米=(X秒*340/2, X秒=( 2*Y米)/340 -> X秒=0.0058*Y米 -> 厘米=微秒/58,這里推算出來了,你不需要修改 if(S<10) //如果有紅外的話你只需要在這里寫入if
58、((S<10)&&(hongwai1==0)&&(hongwai2==0)&&(hongwai3==0)&&(hongwai4==0))即可 LED2=0; else LED2=1; TH0=0; TL0=0; //每算完一次要清除定時(shí)器0寄存器中的值 write_com(0x80+0x40); //顯示位置設(shè)置為第二行最開始的位置 display(H); display( ); i=S/100; //百位 display(table1[i]);
59、 i=S%100/10; //十位 display(table1[i]); i=S%10; //個(gè)位 display(table1[i]); display( ); display(C); //單位為厘米 display(M); delay(250); //延時(shí)決定采樣速度 } /*------------------------------------------------ 稱重模塊//AD轉(zhuǎn)換 ----------------------
60、--------------------------*/ void Delay__hx711_us(void) { _nop_(); _nop_(); } ulong ReadCount(void) //設(shè)置增益為128 ,這個(gè)子函數(shù)你不需要修改,就是個(gè)初始化 { ulong count; uchar i; hx711_dout=1; Delay__hx711_us(); hx711_sck=0; count=0; while(hx711_dout); for(i=0;i<24;i++) {
61、 hx711_sck=1; count=count<<1; hx711_sck=0; if(hx711_dout) count++; } hx711_sck=1; Delay__hx711_us(); hx711_sck=0; return(count); } void get_weight() //獲取被測(cè)物體重量 { ulong hx711_data,a; uint get,jj,aa; hx711_data=ReadCount(); //HX711AD轉(zhuǎn)換數(shù)據(jù)處理 get
62、=(uint)(hx711_data/100); a=ReadCount(); aa=(ulong)a/10; weight=(uint)((float)aa/2.094+0.05); //重量轉(zhuǎn)換函數(shù),單位為g ,這個(gè)2.094是大致算看了下調(diào)試出來的,對(duì)應(yīng)于我目前寄給你的傳感器,不同的型號(hào),不同的量程都是有差別的,我把算法的datasheet也打包發(fā)給你了,你自己修改,并調(diào)試 weight=weight-1001; //lkg的皮重,這個(gè)數(shù)值可以自己根據(jù)實(shí)測(cè)數(shù)據(jù)進(jìn)行修改 if(weight>2000) //這里就是2kg,如果你要設(shè)置為50kg,這里就應(yīng)該是500
63、00 LED3=0; else LED3=1; jj=weight/100000; //顯示程序 kg的百位 write_com(0x80); //顯示位置設(shè)置為第一行最開始的位置 display(G); display( ); display(table1[jj]); //kg的十位 jj=weight/10000%10; display(table1[jj]); //kg的個(gè)位 jj=weight/1000%10; display(table1[jj]); display(.); jj=weight/100%10; /
64、/小數(shù)點(diǎn)后一位 display(table1[jj]); display(K); display(g); } /*------------------------------------------------ 定時(shí)器0初始化,主要用于超生波模塊,用于計(jì)脈沖數(shù),不可缺少的函數(shù) ------------------------------------------------*/ void TIM0init(void) { TMOD|= 0x01;//定時(shí)器0工作方式1 TH0=0x00; TL0=0x00; ET0=1
65、; EA=1; } /*------------------------------------------------ 1602初始化 ------------------------------------------------*/ void init() { P0=0x00; lcden=0; lcdrw=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } /*------------------------------
66、------------------ 主函數(shù),單片機(jī)開始供電之后程序就main函數(shù)開始執(zhí)行,前面的都是子程序,從main函數(shù)里調(diào)用,所以看代碼應(yīng)該先看主函數(shù),其子函數(shù)的放置順序可以按主程序調(diào)用的順序編寫 ------------------------------------------------*/ void main() { init(); TIM0init(); while(1) //while(1),一直為1就是為真,就一直執(zhí)行這里,也即執(zhí)行函數(shù)里面的程序 { hightest(); //調(diào)用高度檢測(cè)子函數(shù) tempchange(); //調(diào)用溫度獲取子函數(shù) dis_temp(get_temp()); //調(diào)用溫度顯示子函數(shù) get_weight(); //調(diào)用稱重子函數(shù) } } void Timer0 () interrupt 1 //
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中語文作文素材:30篇文學(xué)名著開場(chǎng)白
- 初中語文答題技巧:現(xiàn)代文閱讀-說明文閱讀知識(shí)點(diǎn)總結(jié)
- 初中語文作文十大??荚掝}+素材
- 初中語文作文素材:描寫冬天的好詞、好句、好段總結(jié)
- 初中語文必考名著總結(jié)
- 初中語文作文常見主題總結(jié)
- 初中語文考試??济偨Y(jié)
- 初中語文必考50篇古詩(shī)文默寫
- 初中語文易錯(cuò)易混詞總結(jié)
- 初中語文228條文學(xué)常識(shí)
- 初中語文作文素材:30組可以用古詩(shī)詞當(dāng)作文標(biāo)題
- 初中語文古代文化常識(shí)七大類別總結(jié)
- 初中語文作文素材:100個(gè)文藝韻味小短句
- 初中語文閱讀理解33套答題公式
- 初中語文228條文學(xué)常識(shí)總結(jié)