【自助餐飲自動計費系統(tǒng)的設(shè)計與實現(xiàn)12000字(論文)】_第1頁
【自助餐飲自動計費系統(tǒng)的設(shè)計與實現(xiàn)12000字(論文)】_第2頁
【自助餐飲自動計費系統(tǒng)的設(shè)計與實現(xiàn)12000字(論文)】_第3頁
【自助餐飲自動計費系統(tǒng)的設(shè)計與實現(xiàn)12000字(論文)】_第4頁
【自助餐飲自動計費系統(tǒng)的設(shè)計與實現(xiàn)12000字(論文)】_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

自助餐飲自動計費系統(tǒng)的設(shè)計與實現(xiàn)目錄1 引言 11.1研究背景及意義 11.2國內(nèi)外研究進展與現(xiàn)狀 11.3論文主要研究內(nèi)容 22 設(shè)計方案 32.1系統(tǒng)設(shè)計要求 32.2校園自助餐飲自動計費系統(tǒng)的總體方案設(shè)計 32.3主控芯片方案 42.4傳感器方案 42.5顯示屏方案 52.6紅外檢測傳感器方案 52.7電源方案 62.8蜂鳴器方案 62.9本章小結(jié) 63 系統(tǒng)硬件設(shè)計 73.1主控芯片最小系統(tǒng)設(shè)計 73.2主控芯片I/O接口 73.3復(fù)位電路 73.4晶振電路 83.5紅外檢測模塊 83.6顏色識別模塊 93.7液晶顯示電路 103.8按鍵電路、蜂鳴器及指示燈 113.9本章小結(jié) 114 系統(tǒng)軟件設(shè)計 124.1主程序設(shè)計 124.2紅外檢測子程序設(shè)計 134.3顏色識別子程序設(shè)計 144.3.1TCS3200白平衡調(diào)整 144.3.2顏色識別技術(shù) 144.3.3價格計算原理 154.4液晶顯示子程序設(shè)計 164.5按鍵電路程序設(shè)計 204.6本章小結(jié) 205 系統(tǒng)調(diào)試 215.1硬件調(diào)試 215.1.1硬件調(diào)試需要使用的儀器 215.1.2最小系統(tǒng)的調(diào)試 215.2軟件調(diào)試 225.3軟硬聯(lián)合調(diào)試 225.4本章小結(jié) 226 數(shù)據(jù)處理與驗證 237 結(jié)果與討論 247.1自然光情況下的實驗 247.2光線不足或黑暗中的實驗 247.3紅光情況下的實驗 258 總結(jié)與展望 268.1總結(jié) 268.2存在的問題 268.3展望 26引言研究背景及意義隨著餐飲行業(yè)的蓬勃發(fā)展,自助餐已被推廣到大眾化餐飲市場、校園餐飲行業(yè),校園餐飲不再受限于傳統(tǒng)的人工窗口打飯方式。校園自助餐飲要想在餐飲業(yè)中生存,就要改變技術(shù)含量低的傳統(tǒng)的人工經(jīng)營管理模式。通過調(diào)查發(fā)現(xiàn),傳統(tǒng)的人工經(jīng)營管理模式下的校園自助餐飲主要存在以下幾方面問題:(1)不同菜品的價格需要靠人腦記憶,菜品種類繁多,員工記憶容易出錯(2)計費方式仍采用傳統(tǒng)的人工計算方式,耗時久(3)客流量多,計算量大,服務(wù)員容易出現(xiàn)情緒化(4)人工需求量大,人工成本高隨著科技的發(fā)展與進步,智能化、便捷化的設(shè)備已逐步取代傳統(tǒng)的人工勞動力。據(jù)調(diào)研發(fā)現(xiàn),現(xiàn)流行于校園餐廳中的自助餐飲行業(yè),頗受廣大師生的喜愛,但校園自助餐飲仍采用傳統(tǒng)的人工計費方式,經(jīng)常出現(xiàn)排隊計費擁擠的情況。相對于校園自助餐廳而言,就餐高峰期學(xué)生人流量大,傳統(tǒng)的人工口頭計算方式容易出現(xiàn)錯誤,效率低,而且還存在耗時久等現(xiàn)象,這些都是影響就餐速度的瓶頸,給顧客帶來不良的就餐體驗,導(dǎo)致客流量的喪失,最終導(dǎo)致經(jīng)濟的損失。因此,為改變傳統(tǒng)模式下校園自助餐飲服務(wù)中存在的問題,文中提出了一種基于顏色傳感器進行顏色識別的校園自助餐飲自動計費系統(tǒng)。隨著自助餐飲業(yè)的規(guī)模不斷擴大,傳統(tǒng)的人工經(jīng)營管理模式難以適應(yīng)現(xiàn)代化經(jīng)濟社會的發(fā)展,所以自助餐飲自動計費系統(tǒng)的研究具有十分重要的現(xiàn)實意義。總之,自助餐飲自動計費系統(tǒng)的研究具有較好的應(yīng)用前景及應(yīng)用市場,其不僅可以應(yīng)用于校園自助餐飲,還可應(yīng)用于酒店、企業(yè)等不同場所的自助餐廳。本設(shè)計對實現(xiàn)自助餐飲行業(yè)的自動化、便捷化、智能化具有十分重要的意義。國內(nèi)外研究進展與現(xiàn)狀自助結(jié)算的收銀方式,近年逐漸開始在國內(nèi)進行大范圍地普及。2012年時,英國人就采用了新的收銀方式,它們已經(jīng)開始使用能自己結(jié)算錢的機器。自助式的結(jié)算早就普遍成為英國人的生活方式。其自助結(jié)算系統(tǒng)應(yīng)用的技術(shù)是掃描商品條形碼來識別商品價格。2016年,亞馬遜線下“無人超市”AmazonGO高調(diào)亮相,它是全球首個無人、自助結(jié)算的超市,其應(yīng)用RFID芯片嵌入到商品標簽中,通過無線感應(yīng)識別商品的價格。隨后,無人自助結(jié)算技術(shù)在國外被廣泛使用,無人自助結(jié)算應(yīng)用技術(shù)逐漸變多,主要有3D感測芯片、RFID、無線/有線網(wǎng)絡(luò)芯片等。近年來,我國科技的飛速發(fā)展,自助結(jié)算服務(wù)終端在日常生活中的應(yīng)用越來越廣。從最初傳統(tǒng)的自助服務(wù)終端ATM機、POS機,再到如今,無人超市、自助結(jié)賬機等更便捷,更智能化的服務(wù)終端應(yīng)運而生。相對于國外,我國的自助結(jié)算系統(tǒng)大部分仍采用的技術(shù)是掃通過描商品條形碼,進行商品價格的結(jié)算。2017年,國內(nèi)的阿里巴巴開始提出無人自助超市模式,其應(yīng)用的技術(shù)是攝像頭及感應(yīng)接收器與RFID天線結(jié)合,是一種增強版的RFID技術(shù)。論文主要研究內(nèi)容通過查閱大量關(guān)于顏色傳感器應(yīng)用與單片機應(yīng)用的文獻資料,以及了解自助餐飲自動計費系統(tǒng)的發(fā)展現(xiàn)狀,通過使用顏色傳感器識別餐盤的顏色,不同顏色的餐盤代表不同的價格,使用STC89C25RC單片機對整個系統(tǒng)進行控制,本文主要研究內(nèi)容如下:(1)如何使用顏色傳感器識別餐盤顏色(2)如何使用液晶顯示屏顯示餐盤顏色信息及餐盤(3)如何使用STC89C25RC單片機實現(xiàn)對整個系統(tǒng)的控制設(shè)計方案系統(tǒng)設(shè)計要求本設(shè)計需要掌握顏色識別傳感器的應(yīng)用原理,單片機控制原理及系統(tǒng)的設(shè)計,還需掌握硬件電路的焊接與調(diào)試,使單片機通過顏色識別傳感器識別餐盤的顏色,進行單價的計費。具體內(nèi)容有:1)工作人員先將餐飲食品按價格分裝在不同顏色或形狀的餐盤中,消費者可以自助選擇食品;2)在收銀臺,系統(tǒng)能通過掃描餐盤顏色和個數(shù),自動計算餐費;3)餐費顯示在顯示屏上。校園自助餐飲自動計費系統(tǒng)的總體方案設(shè)計本設(shè)計的總體設(shè)計方案如下:校園自助餐飲自動計費系統(tǒng)由微控制器模塊、顏色識別模塊、紅外反射檢測模塊、系統(tǒng)電源模塊、液晶顯示模塊五個模塊組成,總體設(shè)計框圖如圖2.1所示[[]趙琳,郝張紅,王雅君.基于顏色識別的食堂結(jié)算系統(tǒng)的設(shè)計[J].電子測試,2016,(23):17-19.]。[]趙琳,郝張紅,王雅君.基于顏色識別的食堂結(jié)算系統(tǒng)的設(shè)計[J].電子測試,2016,(23):17-19.主控制器顯示模塊主控制器顯示模塊紅外檢測模塊電源模塊顏色識別模塊圖2.1總體設(shè)計框圖主控芯片方案本設(shè)計主要是為了解決食堂自助就餐計費排隊擁擠與結(jié)算速度問題,這就要求設(shè)計的自動計費系統(tǒng)需要具備一定的實時性和高效性,所以對主控芯片的儲存空間和運算速度及能力需要較高的要求,經(jīng)過幾種不同方案的對比,綜合考慮在以下方案中做出選擇。方案一:使用AT89C52芯片AT89C51單片機由美國ATMEL公司推出,是該公司的經(jīng)典產(chǎn)品之一,應(yīng)用較廣。其是一種低電壓、高性能的COMS8位單片機,片內(nèi)含4K的Flash程序存儲器,256B片內(nèi)RAM,下載程序需要使用專用的編譯器[[][]李明亮,肖廣兵,張涌.基于AT89C51的智能移車系統(tǒng)的設(shè)計[J].智能計算機與應(yīng)用,2020,第10卷(5):169-171.方案二:使用STC89C52RC芯片STC89C52芯片是由宏晶公司研發(fā)的,高速、低功耗、抗干擾性強的新一代8051單片機,指令代碼完全兼容傳統(tǒng)的8051單片機,速度比之前快8—12倍[[]朱鵬.基于STC89C52RC的智能安防小車WIFI監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2018,(14):203-204.]。STC89C52RC芯片是一款8k字節(jié)可在線編程Flash[]朱鵬.基于STC89C52RC的智能安防小車WIFI監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2018,(14):203-204.經(jīng)過對比以上兩種方案,方案二中STC89C52的存儲空間、運算速度以及性能上相對較優(yōu)于方案一,且STC89C52芯片可在線編程,能滿足程序儲存的要求,簡化硬件電路的設(shè)計,便于下載程序,所以綜合考慮選用方案二為系統(tǒng)的主控芯片。傳感器方案本設(shè)計需要根據(jù)顏色來判斷菜品的價格,所以將選用顏色傳感器。RGB傳感器工作原理是:通過檢測紅(R)、綠(G)、藍(B)反射比檢測顏色[[]王凱,袁佳偉,吳文明.

基于[]王凱,袁佳偉,吳文明.

基于TCS3200傳感器的顏色辨識系統(tǒng)設(shè)計[J].

數(shù)字技術(shù)與應(yīng)用,2017,(5):168-169.方案一:使用TCS34725傳感器TCS34725是一款功耗低,靈敏度較高的RGB傳感器[]Gunawan,A.A.S.1;Brandon,D.2;Puspa.DevelopmentofUrineHydrationSystemBasedonUrineColorandSupportVectorMachine[J].ProcediaComputerScience,2018,Vol.135(0):481-489.。TCS34725傳感器支持通過12C接口,輸出顏色的RGB數(shù)值以及光照強度。其工作電壓為3.3V/5V,產(chǎn)品尺寸大小為27mmx20mm,分辨率為:4個RGB通道,每個通道16[]Gunawan,A.A.S.1;Brandon,D.2;Puspa.DevelopmentofUrineHydrationSystemBasedonUrineColorandSupportVectorMachine[J].ProcediaComputerScience,2018,Vol.135(0):481-489.方案二:使用TCS3200傳感器TCS3200是美國TAOS公司推出的可編程光到頻率的轉(zhuǎn)換器[[]NguyenT.T.,NguyenT.T.,Nguyen.ApplicationofArduinoControlMainboardwithColorLightSensorTCS3200inColorRecognitionofEdgeBandinginLaserEdgeBandingMachine(ConferencePaper)[J].IOPConferenceSeries:EarthandEnvironmentalScience,2019,Vol.252(2)]。TCS3200是一款可檢測全彩的傳感器,能在一定范圍內(nèi),檢測所有的可見光,具有較高的分辨率。它把可配置的硅光電二極管與電流頻率轉(zhuǎn)換器集成在一個CMOS電路,且還集成了紅、綠、藍3種濾光器,是業(yè)界第一個有數(shù)字兼容接口的RGB顏色傳感器[[]李靜,梁鵬超.基于TCS230傳感器的顏色識別系統(tǒng)設(shè)計[J].計算機與數(shù)字工程,2017,第45卷(5):984-987.]。TCS3200內(nèi)有10[]NguyenT.T.,NguyenT.T.,Nguyen.ApplicationofArduinoControlMainboardwithColorLightSensorTCS3200inColorRecognitionofEdgeBandinginLaserEdgeBandingMachine(ConferencePaper)[J].IOPConferenceSeries:EarthandEnvironmentalScience,2019,Vol.252(2)[]李靜,梁鵬超.基于TCS230傳感器的顏色識別系統(tǒng)設(shè)計[J].計算機與數(shù)字工程,2017,第45卷(5):984-987.相比兩個方案,兩者功能相差不大,相比之下,TCS34725的成本更高,電路更加復(fù)雜;TCS3200具有的兼容接口,可直接與單片機連接,使電路設(shè)計變得簡單,且其已能滿足本設(shè)計所需的功能要求,所以本次設(shè)計選方案二。顯示屏方案本設(shè)計需要顯示識別到的不同顏色的R、G、B值來判斷傳感器識別的顏色以及實時顯示餐盤的單價和餐費的總計,所以需要到一個顯示屏將相應(yīng)的信息顯示出來。顯示屏的不同方案的對比如下:方案一:使用LCD12864顯示LCD12864是一種圖形點陣液晶,可完成圖形顯示,也可以顯示8×4個漢字或者顯示16×4個(8×16

點陣)ASCII碼。方案二:使用LCD1602顯示LCD1602是一種字符型液晶,能顯示16×2個字符[[]盧凱璇,吳麗群.

基于顏色識別的食堂智能結(jié)算系統(tǒng)[J].

現(xiàn)代計算機,2020,

(23):94-98.]。它可只用D4-D7分兩次傳送數(shù)據(jù),可節(jié)省[]盧凱璇,吳麗群.

基于顏色識別的食堂智能結(jié)算系統(tǒng)[J].

現(xiàn)代計算機,2020,

(23):94-98.綜合以上兩種方案的對比,方案一的LCD12864顯示器雖分辨率較高,但其顯示的信息量大,其應(yīng)用程序的編寫和電路的設(shè)計也相對復(fù)雜。方案二選用的顯示器,控制相對簡單,性價比高,所以綜合考慮選用方案二的LCD1602顯示器。紅外檢測傳感器方案校園自助餐飲自動計費系統(tǒng)的設(shè)計中,需要檢測是否有餐盤位于結(jié)算區(qū)域內(nèi),所以將選用紅外反射傳感器進行檢測,進而激活顏色識別傳感器。本設(shè)計選用的紅外反射傳感器,電壓3.3V-5V,OUT輸出端口可以直接微控制器的I/O口相連。該傳感器的檢測反射距離2cm-30cm。該紅外反射傳感器PCB尺寸:3.2cmX1.4cm,設(shè)有3mm的固定螺栓孔,便于固定與安裝。電源方案因本系統(tǒng)需要持續(xù)供電,蓄電池不適用。本設(shè)計將使用的是USB供電,綜合以上,系統(tǒng)中用到的是5V電壓。所以可以使用電壓為5V的移動電源或者直接插入電腦(5V)供電,不需要再進行電壓的轉(zhuǎn)換,較為便捷。蜂鳴器方案在本設(shè)計中加入一個蜂鳴器,主要是為了在餐盤被系統(tǒng)中的傳感器感應(yīng)到時,發(fā)出聲音提醒餐盤已被感應(yīng)到,可起到提示的作用,提高該系統(tǒng)的準確性,防止存在錯漏識別餐盤。本設(shè)計選用5V供電的電壓式蜂鳴器。本章小結(jié)本章中主要介紹了校園自助餐飲自動計費系統(tǒng)的硬件總體方案。其中包括對整個系統(tǒng)進行控制的單片機方案以及傳感器的選擇方案,介紹了相關(guān)傳感器的優(yōu)缺點。這些模塊都是系統(tǒng)中必不可少的部分。系統(tǒng)硬件設(shè)計主控芯片最小系統(tǒng)設(shè)計最小系統(tǒng)包括STC、晶振電路及復(fù)位電路,它們?nèi)叨既币徊豢?,是使最小系統(tǒng)能夠穩(wěn)定運行的重要保證。主控芯片I/O接口STC89C52微控制芯片是一款8位CPU且具有8位交互式可編程閃存的微控制器,最高運作頻率35Mhz。該芯片共有32位I/O接口,片上集成512字節(jié)RAM,其I/O接口如圖3.1所示。圖3.1主控芯片的最小系統(tǒng)復(fù)位電路復(fù)位電路能給系統(tǒng)制造一個穩(wěn)定的工作環(huán)境。本設(shè)計中,電路復(fù)位的方式是上電復(fù)位,在必要時需要通過手動的方式重新啟動電路。作用原理為當?shù)碗娖叫盘枏膯纹瑱C復(fù)位引腳輸入后單片機重新復(fù)位。圖3.2復(fù)位電路晶振電路系統(tǒng)電路中,晶振電路具有核心的地位。系統(tǒng)指令的執(zhí)行與否都需要通過它來判斷。系統(tǒng)的工作速率與其頻率有很大的關(guān)聯(lián),頻率越高,系統(tǒng)就能越高效的運行。晶振電路如下圖3.3所示。其中電容C2、C3能維持震蕩持續(xù),使電路中的晶振趨于穩(wěn)定。晶振頻率為11.0592M,響應(yīng)能力滿足測量要求。圖3.3晶振電路紅外檢測模塊校園自助餐飲自動計費系統(tǒng)中,餐盤的感應(yīng)主要依賴于紅外檢測。其硬件設(shè)計如圖3.4所示。系統(tǒng)中,紅外傳感器工作時,D1會發(fā)出紅外沖擊波,感應(yīng)到餐盤后,反射回到D2中,接收到的信號經(jīng)過轉(zhuǎn)換處理,傳給單片機,以激活自動計費系統(tǒng)工作。圖3.4紅外傳感器電路設(shè)計顏色識別模塊圖3.5是TCS3200內(nèi)部結(jié)構(gòu)圖,其不同的引腳具有不同的功能。S0用控制電源開關(guān)及不同比例因子;S2、S3決定濾波器的選用;OE是決定芯片是否工作;OUT是輸出頻率;GND接地;VCC接電源;采用5V恒流源供電。TCS3200的各個引腳的接線圖如圖3.6所示,S0、S1和S2、S3的可用組合如表3.1所示。表3.1S0、S1、S2、S3的組合選項S0S1輸出比例S2S3濾波通道01關(guān)閉電源00紅色(R)011:5001藍色(B)101:510無111:111綠色(G)TCS3200傳感器可以通過改變其光敏感區(qū)的光纖顏色來工作,紅色光、綠色光、藍色光分別通過時,根據(jù)其頻率線性特征,可得到RGB數(shù)值。例如,選通紅色濾光器時,其他兩種色光都被阻止透過感光部位,此時就能得到紅色光在此種顏色中的含量信息[[]儲慶.基于單片機的智能顏色識別系統(tǒng)研究[]儲慶.基于單片機的智能顏色識別系統(tǒng)研究[J].科技視界,2015,(34):202.圖3.5TCS3200引腳和功能框圖圖3.6顏色識別傳感器電路圖液晶顯示電路LCD1602A有16個引腳接口,各引腳功能如表3.2所示。引腳RS、R/W、E為控制引腳。當RS=L時,輸入指令;當RS=H時,輸入數(shù)據(jù);當R/W=L時,寫操作;當R/W=H時,讀操作。表3.2LCD1602引腳及功能引腳號名稱輸入/輸出功能1VSS——電源地2VDD——電源正端(5V)3V0——對比度調(diào)節(jié)4RS輸入數(shù)據(jù)/指令選擇5R/W輸入讀/寫選擇6E輸入使能信號7~14DB0~DB7輸出數(shù)據(jù)總線15LEDA——背光電源正極(+5V)16LEDK——背光電源負極(0V)在電路中,LCD1602與單片機為數(shù)據(jù)并行通信。LCD1602的1、2、15、16引腳分別與電源正、負極相接,提供電源和背光電源;數(shù)據(jù)總線(7—14引腳)與單片機的P0口(P0.0~P0.7,39腳~32腳)連接,為單片機提供數(shù)據(jù)信息輸入;控制總線RS、R/W和E分別與單片機P25、P26、P27引腳,控制信號輸入與輸出;V0引腳接一個10K電位器用于調(diào)節(jié)背光燈亮度[][]趙華峰.

LCD1602模塊的漢字顯示研究[J].

現(xiàn)代信息科技,2020,

第4卷(17):35-37.圖3.7LCD1602與STC89C52引腳連接圖按鍵電路、蜂鳴器及指示燈電路圖中設(shè)計有按鍵、蜂鳴器以及指示燈。按鍵電路主要是通過按鍵來對系統(tǒng)進行初始化和對傳感器進行白平衡的調(diào)整。由于本設(shè)計只涉及到兩個按鍵的使用,將選用較為簡單控制程序的獨立按鍵。按鍵電路如圖3.8所示。將按鍵的一端接地,SW2與P33接上、SW3與P34接上。在程序編寫時,將P33、P34端設(shè)置為高電平狀態(tài),鍵未按下時,保持高電平狀態(tài);按下時,電路接地,低電平有效。圖3.8按鍵電路連接圖指示燈連接VCC引腳和P20引腳,該指示燈的代表校園自助餐飲自動系統(tǒng)的工作狀態(tài)。當檢測到餐盤時,指示燈滅,餐盤拿開結(jié)算區(qū)域,指示燈又亮起,檢測一次餐盤,燈滅一次。其電路圖如下圖3.9所示。圖3.9指示燈連接圖蜂鳴器連接VCC引腳和P37引腳,低電平觸發(fā),當系統(tǒng)識別到餐盤時,蜂鳴器響起。其電路圖如下圖3.10所示。圖3.10蜂鳴器本章小結(jié)本章中重點介紹系統(tǒng)各個硬件的功能,根據(jù)其引腳功能完成電路的設(shè)計及連接,包括單片機各組成部分的電路連接以及各個模塊和各類接口在電路中的連接。詳細地分析了各部分電路的原理圖以及作用。系統(tǒng)軟件設(shè)計選用C語言編寫程序。先把主程序?qū)懗鰜?,然后寫各模塊子程序,寫好后再加入到主程序中去,這樣分模塊的編寫方式,便于檢查。主程序設(shè)計開始系統(tǒng)初始化白平衡調(diào)整紅外傳感器檢測是否有餐盤待計價對餐盤進行顏色識別轉(zhuǎn)換成RGB程序計算價格并顯示計價是否結(jié)束復(fù)位結(jié)束NNYY主程序設(shè)計之前,先把系統(tǒng)大體的進行步驟規(guī)劃出來。具體流程如圖4.1

所示。首先,要做的就是初始化,主要是包括校準定時器及同步LCD1602A的狀態(tài)。初始化后,顏色傳感器不能直接開始識別工作,需要白平衡調(diào)整。完成以上操作之后開始系統(tǒng)初始化白平衡調(diào)整紅外傳感器檢測是否有餐盤待計價對餐盤進行顏色識別轉(zhuǎn)換成RGB程序計算價格并顯示計價是否結(jié)束復(fù)位結(jié)束NNYY圖4.1主流程圖主程序設(shè)計的程序代碼如下:/***************主程序****************/voidmain(){ intRn,Gn,Bn,cd; //初始化顏色值 intzj,dj,CD; s2=0;//初始設(shè)定S2引腳 s3=0;//初始設(shè)定S3引腳 lcd1602_init();//液晶初始化 hz_lcdDis(0,0,"R:G:B:");//寫屏幕 hz_lcdDis(1,0,"Z:D:");//寫屏幕 t0_init();//定時器初始化 EA=1;//開總中斷 while(1) { sscanf(disp_R,"%d",&Rn); num_lcdDis(0,2,Rn,3); //R顯示 sscanf(disp_G,"%d",&Gn); num_lcdDis(0,7,Gn,3); //G顯示 sscanf(disp_B,"%d",&Bn); num_lcdDis(0,12,Bn,3); //B顯示 num_lcdDis(1,2,zj,2); //顯示總價 num_lcdDis(1,10,dj,2); //顯示單價}紅外檢測子程序設(shè)計開始紅外檢測是否有餐盤放入?Y啟動顏色識別模塊結(jié)束Y開始紅外檢測是否有餐盤放入?Y啟動顏色識別模塊結(jié)束Y[]楊順,郭燚,劉洋等.

基于TCS230顏色識別的餐盤自動計價系統(tǒng)研制[J].

通信電源技術(shù),2017,第34卷(1):77-79.圖4.2紅外檢測流程圖顏色識別子程序設(shè)計TCS3200白平衡調(diào)整白平衡就是將白色對應(yīng)的信號值表達給系統(tǒng)。根據(jù)赫姆霍茲三基色原理,可得知,各種顏色是由不同比例的紅(R)、綠(G)、藍(B)混合組成的[[]張福軍,王曉超,郭偉等.果蔬農(nóng)藥殘留萃取液顏色識別系統(tǒng)的研究[J][]張福軍,王曉超,郭偉等.果蔬農(nóng)藥殘留萃取液顏色識別系統(tǒng)的研究[J].湖北農(nóng)業(yè)科學(xué),2016,第55卷(8):2111-2113,1990.[]LiQiaoyi;XiongYanling;YangWenlong.StudyonColorAnalyzerbasedontheMultiplexingofTCS3200ColorSensorandMicrocontroller[J].InternationalJournalofHybridInformationTechnology,2014,Vol.7(5)顏色識別技術(shù)根據(jù)上提到的識別技術(shù),將依次選通三個顏色通道,計算出一段時間內(nèi)的,TCS3200傳感器這段時間內(nèi)的脈沖個數(shù),在這段時間內(nèi)測得脈沖數(shù)就是所對應(yīng)的R、G、B值[[][]彭飛,

王會良,

谷青峰等.

基于STC89C52單片機的智能搬運機器人設(shè)計[J].

科學(xué)技術(shù)創(chuàng)新,

2019,(10):74-75.以下是顏色識別的程序:/*******************************************/*函數(shù)名稱:c10ms_out()*函數(shù)功能:定時中斷0服務(wù)程序修改顏色標志disp_tc(0:紅1:綠2:藍)設(shè)置S0S1S2S3選擇濾波器計算脈沖,讀取色值*入口參數(shù):無*出口參數(shù):無/********************************************/voidc10ms_out()interrupt1{ uinttemp; TR0=0;//關(guān)閉定時 TR1=0;//關(guān)閉計數(shù) //count+1先檢測綠色,再藍色,然后紅色,循環(huán)檢測 if(count==0) { count++; s2=1;s3=1;//選擇濾波器為綠色 temp=(8<<TH1)+TL1;//計算這段時間內(nèi)TCS3200的輸出脈沖數(shù) temp/=rp; conversion(temp); disp_R[2]=ge;//因為這次的中斷,是上次選擇濾波器的數(shù)值 disp_R[1]=shi; disp_R[0]=bai; } elseif(count==1) { count++; s2=1;s3=0;//選擇濾波器為藍色 temp=(8<<TH1)+TL1;//計算脈沖數(shù) temp/=gp; conversion(temp); disp_G[2]=ge;//上次濾波器的數(shù)值 disp_G[1]=shi; disp_G[0]=bai; } elseif(count==2) { count=0; s2=0;s3=0;//選擇濾波器為紅色 temp=(8<<TH1)+TL1;//計算脈沖數(shù) temp/=bp; conversion(temp); disp_B[2]=ge;//上次濾波器的數(shù)值 disp_B[1]=shi; disp_B[0]=bai; }價格計算原理在當前自助餐飲行業(yè)中,已逐漸使用不同顏色的餐盤來裝載不同樣式的食物,不同顏色的餐盤對應(yīng)不同的菜品價格。本設(shè)計中的校園餐飲也將使用不同顏色的餐盤來防止食物,為了便于實驗,本次設(shè)計實驗不同顏色的小球來代替不同顏色的餐盤。因此,可根據(jù)本文前部分提到的顏色傳感器,獲取不同顏色小球的顏色信號值,通過程序的編譯,將其轉(zhuǎn)換成對應(yīng)的價格。本文將選用黃、綠、藍、紫四種色差較大易于區(qū)分的顏色。反復(fù)測量不同顏色的R值、G值、B值,大致的給不同顏色的每個數(shù)值定義一個對應(yīng)的區(qū)間,當數(shù)值都處在某個顏色對應(yīng)的三個區(qū)間時,才可判斷為該顏色。例如藍色R值區(qū)間為30-50,G值區(qū)間為73-85,B值區(qū)間為20-40。若測量某一餐盤時,測得其R=44,G=80,B=35,這三個值都在藍色對應(yīng)區(qū)間內(nèi),通過程序可識別出其為藍色餐盤,從而輸出藍色餐盤得價格為4元。其他顏色小球(餐盤)的計費原理與之相似。經(jīng)過多次測量不同小球的RGB值,不同顏色對應(yīng)的R、G、B值得區(qū)間范圍如下表4.1所示。表4.1R值區(qū)間G值區(qū)間B值區(qū)間對應(yīng)價格綠58-7015-2525-352黃35-4515-2515-303藍30-5073-8520-404紫50-6040-5030-405液晶顯示子程序設(shè)計根據(jù)LCDI602資料,為了方便程序的使用與下載,LCD1602顯示控制的程序代碼,獨立地編寫在LCD1602.C文件中。單片機CPU控制液晶顯示LCD模塊的方式,可以把LCD1602的內(nèi)部看作2個寄存器,一個為指令的保存,另外一個為數(shù)據(jù)的保存,RS控制。液晶顯示的寫操作的先后順序,一般是先執(zhí)行寫指令,后執(zhí)行寫數(shù)據(jù)。寫指令和寫數(shù)據(jù)分別對應(yīng)的程序如下:/**************************************寫指令**************************************/voidlcd_Write_com(ucharcom) { RS=0; //定義指令寄存器 RW=0; //寫允許 P0=com; //寫指令 delay5ms(); E=1; //片選端上拉 delay5ms(); E=0; //下降沿鎖存}通過寫指令函數(shù)程序完成對液晶顯示進行寫數(shù)據(jù)的操作,寫數(shù)據(jù)的函數(shù)程序如下:/**************************************寫數(shù)據(jù)**************************************/voidlcd_write_date(uchardate) { RS=1; //定義數(shù)據(jù)寄存器 RW=0; //寫允許 P0=date; //寫數(shù)據(jù) delay5ms(); E=1; //片選端上拉 delay5ms(); E=0; //下降沿鎖存}要想液晶LCD1602A顯示正常,初始化是顯示前的必要步驟。其過程為:將初始化的程序?qū)懙狡渲?,程序?nèi)容有格式設(shè)置、模式的選擇、輸入方式、屏幕清空等。LCD1602初始化函數(shù)如下所示:/**************************************液晶初始化**************************************/voidlcd1602_init(){ lcd_Write_com(0x38); //設(shè)置8位格式,2行,5*7 lcd_Write_com(0x01); //清屏 lcd_Write_com(0x0c); //整體顯示,關(guān)光標,不閃爍 lcd_Write_com(0x06); //設(shè)定輸入方式,增量不移位 lcd_Write_com(0x80); //初始坐標}/**************************************為了能夠精確的對晶振為11.0592MHz的LCD1602進行延時,需要通過延時函數(shù),完成LCD1602的延時。延時函數(shù)如下所示:/************************************函數(shù)說明:延時程序************************************/voiddelay(uchart){ uintj; uchari; for(i=0;i<t;i++) for(j=0;j<120;j++);}/**************************************短延時**************************************/voiddelay5ms(){uchari,v,k;for(i=1;i>0;i--)for(v=20;v>0;v--)for(k=22;k>0;k--);}LCD1602顯示屏上不同位置都有對應(yīng)的地址。液晶位置映射圖如圖4.3所示。要想把字符顯示在所需的位置,要根據(jù)其位置對應(yīng)的地址編號來編寫程序。LCD1602LCD160216字x2行000102030405060708090A0B0C0D0E0F10……27404142434445464748494A4B4C4D4E4F50……67圖4.3液晶RAM地址映射圖要在對應(yīng)的位置顯示字符,需要寫入一個設(shè)置數(shù)據(jù)地址的程序指令,再寫入需要顯示的字符即可[[][]楊佳,鄧力.基于元件技術(shù)手冊的嵌入式驅(qū)動開發(fā)的探索——以LCD1602及LPC2106為例[J].企業(yè)科技與發(fā)展,2016,(3):46-50.顯示程序如下:/**************************************顯示程序**************************************/voiddis_lcd1602(ucharx,uchary,uchardat){ ucharadd; if(y==1) add=(0x80+x); if(y==2) add=(0xc0+x); lcd_Write_com(add); //寫指令 lcd_write_date(dat); //寫數(shù)據(jù)}液晶顯示的字符分為字母和數(shù)字,不同字符其顯示的程序不同。以下是液晶顯示的字母顯示程序:/**************************************液晶顯示字母程序**************************************/voidhz_lcdDis(ucharx,uchary,uchar*p)//字母顯示 {uchari=0,temp;if(x)temp=0x40;elsetemp=0;for(i=y;*p!='\0';i++,p++){ lcd_Write_com(i|0x80+temp); lcd_write_date(*p); delay5ms(); }液晶顯示的數(shù)字顯示程序如下:/**************************************液晶顯示數(shù)字程序**************************************/voidnum_lcdDis(ucharX,ucharY,uintnum,ucharn) { uinti=0,temp,hang; n+=1; if(X)hang=0x40;elsehang=0; for(i=(n-1);i>0;i--){ lcd_Write_com((i+Y-1)|0x80+hang); //從個位開始顯示 temp=num%10+0x30; lcd_write_date(temp); delay5ms(); num/=10; } }以上就是液晶顯示模塊各部分子程序的軟件設(shè)計。按鍵電路程序設(shè)計按鍵本身是比較機械性的,由于還需要通過人工手動按下,還可能導(dǎo)致滯后性。按下過程中,由于按鍵本身及人為的原因,按鍵會存在抖動的情況。抖動時,一次按下會被當作多次按下處理,此時,將會導(dǎo)致錯誤發(fā)生。為了避免如此,需要對其消除抖動。按鍵消抖分為硬件和軟件消抖[[]程佳佳.

基于[]程佳佳.

基于VHDL的按鍵消抖程序設(shè)計[J].

科教導(dǎo)刊(電子版),2017,

(24):222.鍵按下時,想要消除其抖動帶來的影響,首先不能讓系統(tǒng)馬上確定其按下,設(shè)置一個255ms的延時程序后,再對其狀態(tài)進行判斷。按鍵電路的子程序設(shè)計如下:if(key1==0){be=0;delay(255);be=1;zj=dj=0;}if(key2==0)//當小球放上去CD++;if(CD>20){CD=0;//開始計費zj+=dj;be=0;delay(255);be=1;//總價+等于單價 總價=總價+單價本章小結(jié)本章節(jié)中主要介紹了與各個硬件模塊對應(yīng)的程序設(shè)計,從主程序的設(shè)計展開到紅外檢測、顏色識別、液晶顯示各個不同模塊的子程序的設(shè)計,分析了如何進行白平衡調(diào)整,以及如何將R、G、B值和字符在液晶LCD1602上實現(xiàn)顯示。本章節(jié)中的檢測與程序設(shè)計時整個軟件系統(tǒng)中最為重要的組成部分。系統(tǒng)調(diào)試一個完善的系統(tǒng)設(shè)計,必須經(jīng)過調(diào)試,從中找到存在的問題,進而做出更完善的系統(tǒng)。系統(tǒng)調(diào)試分為硬件與軟件的調(diào)試。硬件電路正常運行是軟件調(diào)試的基礎(chǔ),所以需要先對硬件進行調(diào)試,再軟硬聯(lián)合調(diào)試。硬件調(diào)試硬件調(diào)試需要使用的儀器硬件調(diào)試需檢查各元器件的焊接是否良好,排除短路及短路問題,使各電路部分能正常運行。調(diào)試需要用到以下幾種儀器進行檢測。(1)數(shù)字萬用表一臺(2)直流能源一臺(3)示波器一臺最小系統(tǒng)的調(diào)試最小系統(tǒng)在整個系統(tǒng)中占有舉足輕重的地位,系統(tǒng)能不能穩(wěn)定工作都在于它。首先,檢查設(shè)計原理圖與PCB是否一致,檢查各元器件的型號、安裝是否正確,檢查電源有無接地短路保護。本設(shè)計使用的STC89C52芯片共有32個引腳,芯片封裝形式為雙列直插式封裝,焊接較為簡單,但需要注意漏焊、連焊,焊接完成后,檢查各個引腳是否焊接良好且與焊盤連接,最后需要檢查VCC與GND是否接地。排除所有問題后,給系統(tǒng)通電,觀察電源指示燈是否正常亮起,通過串口檢查是否能正常下載程序,如果能夠正常下載,表明最小系統(tǒng)的基本工作是正常的,否則說明最小系統(tǒng)是存在問題的。在此過程中遇到的問題如下:(1)無法下載程序ISP下載程序,檢測不到有USB接入,檢查分析發(fā)現(xiàn),使用了只能供電的USB數(shù)據(jù)線,不能傳輸程序,經(jīng)過換一根USB數(shù)據(jù)線后,能被正常檢測到,程序可正常下載。軟件調(diào)試本設(shè)計的軟件調(diào)試步驟如下:(1)在Keil4軟件中創(chuàng)一個工程名為“校園自助餐飲自動計費系統(tǒng)”并保存,器件選擇“STC”目錄下的“STC89C52RC”;(2)新建文本編寫程序,將文件拓展名命名為“校園自助餐飲自動計費系統(tǒng).c”;(3)在新建的用戶源文件中編寫程序,將之前編譯好的主程序放入其中,然后加入各個模塊的子程序;(4)編譯程序完成之后,試運行文件,在提示欄中,檢查是否有錯誤報告,如有,糾正錯誤,直到無錯誤信息提示;(5)將無誤的程序燒錄到系統(tǒng)中。軟硬聯(lián)合調(diào)試在檢查和調(diào)試完所有系統(tǒng)的各個模塊之后,進行全面測試和調(diào)試,即軟件和硬件的聯(lián)合調(diào)試。通過給整個設(shè)計系統(tǒng)通電,現(xiàn)場真實的測試整個系統(tǒng),使得系統(tǒng)調(diào)試真實可信。各個模塊連接好之后,通電,按下啟動開關(guān),此時狀態(tài)指示燈亮起,TCS3200傳感器上的四個白色小燈正常發(fā)亮,紅外反射傳感器的電源指示燈亮起,LCD1602正常顯示。下面將檢測整個校園自助餐飲自動計費系統(tǒng)的識別與結(jié)算功能是否能實現(xiàn),當把小球(餐盤)放置于傳感器之上時,紅外反射傳感器的開關(guān)指示燈亮起,TCS3200傳感器識別到小球后,蜂鳴器響應(yīng),LCD1602液晶顯示屏上顯示小球顏色的RGB值以及對應(yīng)的單價和總價。通過多次識別小球,系統(tǒng)的識別功能與自動計費功能正常實現(xiàn)。本章小結(jié)經(jīng)過對系統(tǒng)各部分和總體的調(diào)試,以及對系統(tǒng)進行了試運行,確認系統(tǒng)在功能方面的完備性和可靠性。數(shù)據(jù)處理與驗證在校園自助餐飲自動計費系統(tǒng)中,顏色識別是整個系統(tǒng)中的關(guān)鍵部分,傳感器的顏色識別如因受到外界干擾,將會產(chǎn)生識別上的誤差,導(dǎo)致餐盤價格的顯示結(jié)果也將受到影響

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論