基于TCS3200顏色識別的自動分揀系統(tǒng)_第1頁
基于TCS3200顏色識別的自動分揀系統(tǒng)_第2頁
基于TCS3200顏色識別的自動分揀系統(tǒng)_第3頁
基于TCS3200顏色識別的自動分揀系統(tǒng)_第4頁
基于TCS3200顏色識別的自動分揀系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄摘要2關(guān)鍵詞2一、前言2二、系統(tǒng)硬件結(jié)構(gòu)3〔一〕、步進電機31.定義32.特點33.原理34.實物4〔二〕、顏色傳感器TCS320041.結(jié)構(gòu)框圖42.原理53.應(yīng)用中需要注意的問題64.引腳功能6〔三〕、單片機STC89C5261.功能概述72.引腳功能及其分布圖7〔四〕、液晶顯示160281.簡介92.管腳功能93.操作控制94.實物10〔五〕、語音播報WT588D101.功能概述102.引腳分布及實物11〔六〕、霍爾開關(guān)傳感器111.原理112.電磁特性123.產(chǎn)品特點及應(yīng)用134.實物13〔七〕、紅外線131.工作原理132.主要應(yīng)用及實物13〔八〕、其它14三、系統(tǒng)軟件示意141.系統(tǒng)示意圖142.軟件流程圖153.算法流程圖154.編程軟件165.原理圖及PCB166.核心原理17四、實驗結(jié)論17五、致謝18六、附錄18參考文獻(xiàn)22基于TCS3200顏色識別的自動分揀系統(tǒng)摘要:本系統(tǒng)主要是利用自然界的三基色原理,利用顏色傳感器采集小球的RGB,從而利用步進電機的角度旋轉(zhuǎn)對物體進行自動分揀。是以STC89C52為主處理器,以TCS3200作為顏色傳感器,以WT588D-16為語音播報模塊,用1602液晶顯示器來顯示小球的RGB給人以視覺上的區(qū)分,以及霍爾傳感器監(jiān)測步進電機回位與紅外線檢測是否有小球組成的系統(tǒng)是將電流信號先轉(zhuǎn)換為脈沖頻率信號,在轉(zhuǎn)換為數(shù)字信號的系統(tǒng)。在人眼的視察能力的根底上,步進能滿足工業(yè)中精確測量和控制顏色的需要,而且快捷方便,能夠準(zhǔn)確的獲得物體的顏色信息。在工業(yè)顏色檢測上,擁有廣泛的前景。關(guān)鍵詞:顏色傳感器TCS3200;RGB;STC89C52;步進電機;脈沖頻率信號一、前言世界上任何物體的顏色都是自然界的三基色紅綠藍(lán)按照不同比例構(gòu)成的,也就是RGB不同造成的。而在這些顏色中,許多顏色看上去相近,而人眼的直覺又無法識別就很容易造成失誤,而且人眼如果長期跟顏色打交道,很容易傷害眼睛,這就需要一套裝置設(shè)備來代替人工勞動,同時也減小人工操作的失誤。根據(jù)我們的調(diào)查,顏色識別自動分揀在各行各業(yè)都有應(yīng)用:如工廠利用此系統(tǒng)對貨物進行劃分,藥品廠對不同顏色的藥品進行歸類,生物上利用它對細(xì)胞進行檢測,生活上利用它檢測番茄的成熟度等。這些應(yīng)用說明此系統(tǒng)有市場前景,所以我們來研究顏色識別自動分揀系統(tǒng)是很有必要的,從而更進一步挖掘它更深層次的應(yīng)用,市場前景將更為可觀。二、系統(tǒng)硬件結(jié)構(gòu)〔一〕、步進電機1.定義步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機加一個脈沖信號,電機那么轉(zhuǎn)過一個步距角。這一線性關(guān)系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領(lǐng)域用步進電機來控制變的非常的簡單。2.特點〔1〕一般步進電機的精度為步進角的3%--5%,且不累積?!?〕步進電機外表允許的最高溫度?!?〕步進電機溫度過高首先會使電機的磁性材料退磁,從而導(dǎo)致力矩下降乃于失步,因此電機外表允許的最高溫度應(yīng)取決于不同電機磁性材料的退磁點;一般來講,磁性材料的退磁點都在130C以上,有的甚至高達(dá)200C以上,所以步進電機外表溫度80C-90C完全正常。〔4〕步進電機的力矩會隨轉(zhuǎn)速的升高而下降。〔5〕當(dāng)步進電機轉(zhuǎn)動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或速度)的增大而相電流減小,從而導(dǎo)致力矩下降?!?〕步進電機低速時可以正常運轉(zhuǎn),但假設(shè)高于一定速度就無法啟動,并伴有嘯叫聲。介紹步進電機的一個技術(shù)參數(shù):空載啟動頻率,即步進電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。如果要使電機到達(dá)高速轉(zhuǎn)動,脈沖頻率應(yīng)該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉(zhuǎn)速從低速升到高速)。〔7〕步進電動機以其顯著的特點,在數(shù)字化制造時代發(fā)揮著重大的用途。伴隨著不同的數(shù)字化技術(shù)的開展以及步進電機本身技術(shù)的提高,步進電機將會在更多的領(lǐng)域得到應(yīng)用。3.原理步進電機是機電控制中一種常用的執(zhí)行機構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,它的的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機產(chǎn)生。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,控制換相順序,即通電控制脈沖必須嚴(yán)格按照一定順序分別控制各相的通斷。通過控制脈沖個數(shù)即可以控制角位移量,從而到達(dá)準(zhǔn)確定位的目的??刂撇竭M電機的轉(zhuǎn)向,即給定工作方式正序換相通電,步進電機正轉(zhuǎn),假設(shè)按反序通電換相,那么電機就反轉(zhuǎn)。控制步進電機的速度,即給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步,兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。同時通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而到達(dá)調(diào)速的目的。4.實物〔二〕、顏色傳感器TCS32001.結(jié)構(gòu)框圖從圖1可知:當(dāng)入射光投射到TCS230上時,通過光電二極管控制引腳S2、S3的不同組合,可以選擇不同的濾波器;經(jīng)過電流到頻率轉(zhuǎn)換器后輸出不同頻率的方波(占空比是50%),不同的顏色和光強對應(yīng)不同頻率的方波;還可以通過輸出定標(biāo)控制引腳S0、S1,選擇不同的輸出比例因子,對輸出頻率范圍進行調(diào)整,以適應(yīng)不同的需求。

圖1TCS230的引腳和功能框圖表1S0、S1及S2、S3的組合選項下面簡要介紹TCS230芯片各個引腳的功能及它的一些組合選項。S0、S1用于選擇輸出比例因子或電源關(guān)斷模式;S2、S3用于選擇濾波器的類型;OE是頻率輸出使能引腳,可以控制輸出的狀態(tài),當(dāng)有多個芯片引腳共用微處理器的輸入引腳時,也可以作為片選信號;OUT是頻率輸出引腳,GND是芯片的接地引腳,VCC為芯片提供工作電壓。表1是S0、S1及S2、S3的可用組合。2.原理由上面的介紹可知,這種可編程的彩色光到頻率轉(zhuǎn)換器適合于色度計測量應(yīng)用領(lǐng)域,如彩色打印、醫(yī)療診斷、計算機彩色監(jiān)視器校準(zhǔn)以及油漆、紡織品、化裝品和印刷材料的過程控制和色彩配合。下面以TCS230在液體顏色識別中的應(yīng)用為例,介紹它的具體使用。首先了解一些光與顏色的知識?!?〕三原色的感應(yīng)原理

通常所看到的物體顏色,實際上是物體外表吸收了照射到它上面的白光(日光)中的一局部有色成分,而反射出的另一局部有色光在人眼中的反響。白色是由各種頻率的可見光混合在一起構(gòu)成的,也就是說白光中包含著各種顏色的色光(如紅R、黃Y、綠G、青V、藍(lán)B、紫P)。根據(jù)德國物理學(xué)家赫姆霍茲(Helinholtz)的三原色理論可知,各種顏色是由不同比例的三原色(紅、綠、藍(lán))混合而成的。〔2〕TCS3200識別顏色的原理

由三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道所測試物體的顏色。對于TCS230來說,中選定一個顏色濾波器時,它只允許某種特定的原色通過,阻止其他原色的通過。例如:中選擇紅色濾波器時,入射光中只有紅色可以通過,藍(lán)色和綠色都被阻止,這樣就可以得到紅色光的光強;同理,選擇其他的濾波器,就可以得到藍(lán)色光和綠色光的光強。通過這三個值,就可以分析投射到TCS230傳感器上的光的顏色?!?〕白平衡和顏色識別原理

白平衡就是告訴系統(tǒng)什么是白色。從理論上講,白色是由等量的紅色、綠色和藍(lán)色混合而成的;但實際上,白色中的三原色并不完全相等,并且對于TCS230的光傳感器來說,它對這三種根本色的敏感性是不相同的,導(dǎo)致TCS230的RGB輸出并不相等,因此在測試前必須進行白平衡調(diào)整,使得TCS230對所檢測的“白色〞中的三原色是相等的。進行白平衡調(diào)整是為后續(xù)的顏色識別作準(zhǔn)備。在本裝置中,白平衡調(diào)整的具體步驟和方法如下:將空的試管放置在傳感器的上方,試管的上方放置一個白色的光源,使入射光能夠穿過試管照射到TCS230上;根據(jù)前面所介紹的方法,依次選通紅色、綠色和藍(lán)色濾波器,分別測得紅色、綠色和藍(lán)色的值,然后就可計算出需要的3個調(diào)整參數(shù)。

當(dāng)用TCS230識別顏色時,就用這3個參數(shù)對所測顏色的R、G和B進行調(diào)整。這里有兩種方法來計算調(diào)整參數(shù):①依次選通三種顏色的濾波器,然后對TCS230的輸出脈沖依次進行計數(shù)。當(dāng)計數(shù)到255時停止計數(shù),分別計算每個通道所用的時間。這些時間對應(yīng)于實際測試時TCS230每種濾波器所采用的時間基準(zhǔn),在這段時間內(nèi)所測得的脈沖數(shù)就是所對應(yīng)的R、G和B的值。②設(shè)置定時器為一固定時間(例如10ms),然后選通三種顏色的濾波器,計算這段時間內(nèi)TCS230的輸出脈沖數(shù),計算出一個比例因子,通過這個比例因子可以把這些脈沖數(shù)變?yōu)?55。在實際測試時,使用同樣的時間進行計數(shù),把測得的脈沖數(shù)再乘以求得的比例因子,然后就可以得到所對應(yīng)的R、G和B的值。3.應(yīng)用中需要注意的問題〔1〕顏色識別時要防止外界光線的干擾,否那么會影響顏色識別的結(jié)果。最好把傳感器、光源等放置在一個密閉、無反射的箱子中進行測試?!?〕對光源沒有特殊的要求,但是光源發(fā)出的光要盡量集中,否那么會造成傳感器之間的相互干擾?!?〕當(dāng)?shù)?次使用TCS230時,或TCS230識別模塊重啟、更換光源等情況時,都需要進行白平衡調(diào)整。4.引腳功能TCS3200的引腳排列如圖2所示,各管腳的功能描述見表1所列。

表1TCS230管腳功能引腳號符號類型功能說明1S0I輸出頻率分頻系數(shù)選擇輸入端2S1I3OEI輸入頻率使能端。低電平有效4GND電源地5VDD電影電壓6OUTO輸出頻率〔fo〕7S2I光電二極管類型選擇輸入端8S3I〔三〕、單片機STC89C521.功能概述AT89C52提供以下標(biāo)準(zhǔn)功能:4K字節(jié)FLASH閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個向量兩級中斷結(jié)構(gòu),一個全雙工串行通訊口,內(nèi)置一個精密比擬器,片內(nèi)振蕩器及時鐘電路,同時AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的工作模式,空閑方式停止CPU的工作,但允許RAM,定時計數(shù)器,串行通信及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作,并禁止其它所有部件工作直到下一個硬件復(fù)位。2.引腳功能及其分布圖VCC:電源電壓;GND:地;P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口寫1可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址〔低8位〕和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在FLASH編程時,P0口接受指令字節(jié),而在程序效驗時,輸出指令字節(jié),效驗時,要求外接上拉電阻。P1口:P1口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯門電路。對端口寫1,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉底時會輸出一個電流。FLASH編程和程序效驗期間,P1接收低8位地址。P2口:P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯們電路。對端口寫1,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉底時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器〔例如執(zhí)行MOVX@DPTR指令〕時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器〔如執(zhí)行MOVX@RI〕時,P2口線上的內(nèi)容〔也即特殊功能存放器〔SFR〕區(qū)中R2存放器的內(nèi)容〕,在整個訪問期間不改變。FLASH編程或效驗時,P2亦接收高位地址和其它控制信號。P3口:P3口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P3的輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯們電路。對端口寫1,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉底時會輸出一個電流。P3口除了作為一般的I/O口線外,更重要的用途是他的第二個功能,如下表所示:表1P3口AT89C2051特殊功能端口引腳功能特性P3.0RXD〔串行口輸入〕P3.1TXD〔并行口輸入〕P3.2INT0〔外部中斷0〕P3.3INT1〔外部中斷1〕P3.4T0〔定時計數(shù)外部輸入0〕P3.5T1〔定時計數(shù)外部輸入0〕P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器讀選通)P3口還接收一些用于FLASH閃速存儲器編程和程序效驗的控制信號。RST:復(fù)位輸入。其引腳一旦變成兩個機器周期以上的高電平,所有的I/O口都將復(fù)位到1狀態(tài),當(dāng)振蕩器正在工作時,持續(xù)兩個機器周期以上高電平便可完成復(fù)位,每個機器周期為12個振蕩時鐘周期。EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器〔0000H—FFFFH〕,EA端必須保持低電平接地,需注意的是:如果加密位LB1被編程,復(fù)位是內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平〔接VCC端〕,CPU那么執(zhí)行內(nèi)部程序存儲器中的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器輸出端〔四〕、液晶顯示16021.簡介工業(yè)字符型液晶,能夠同時顯示16x02即32個字符?!?6列2行〕注:為了表示的方便,后文皆以1表示高電平,0表示第電平。2.管腳功能第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器比照度調(diào)整端,接正電源時比照度最弱,接地電源時比照度最高,比照度過高時會產(chǎn)生“鬼影〞,使用時可以通過一個10K的電位器調(diào)整比照度第4腳:RS為存放器選擇,高電平時選擇數(shù)據(jù)存放器、低電平時選擇指令存放器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15腳:背光電源正極第16腳:背光電源負(fù)極3.操作控制操作控制表操作讀狀態(tài)寫指令讀數(shù)據(jù)寫數(shù)據(jù)輸入RS=0,RW=1,E=1RS=0,RW=0,D0~7=指令碼,E=H脈沖RS=1,RW=1,E=1RS=1,RW=0,D0~7=數(shù)據(jù),E=H脈沖4.實物〔五〕、語音播報WT588D1.功能概述WT588D語音芯片是一款功能強大的可重復(fù)擦除燒寫的語音單片機芯片。WT588D讓語音芯片不再為控制方式而尋找適宜的外圍單片機電路,高度集成的單片機技術(shù)足于取代復(fù)雜的外圍控制電路。配套WT588DVoiceChip上位機操作軟件可隨意更換WT588D語音單片機芯片的任何一種控制模式,把信息下載到SPI-Flash上即可。軟件操作方式簡潔易懂,撮合了語音組合技術(shù),大大減少了語音編輯的時間。完全支持在線下載,即便是WT588D通電的情況下,一樣可以通過下載器給關(guān)聯(lián)的SPI-Flash下載信息,給WT588D語音芯片電路復(fù)位一下,就能更新到剛下載進來的控制模式。2.引腳分布及實物〔六〕、霍爾開關(guān)傳感器1.原理霍爾開關(guān)集成電路應(yīng)用霍爾效應(yīng)原理,采用半導(dǎo)體集成技術(shù)制造的磁敏電路,它是由電壓調(diào)整器、霍爾電壓發(fā)生器、差分放大器、史密特觸發(fā)器,溫度補償電路和集電極開路的輸出級組成的磁敏傳感電路,其輸入為磁感應(yīng)強度,輸出是一個數(shù)字電壓訊號。2.電磁特性3.產(chǎn)品特點及應(yīng)用產(chǎn)品特點.體積小.靈敏度高.響應(yīng)速度快.溫度性能好.精確度高.可靠性高典型應(yīng)用.無觸點開關(guān).汽車點火器.剎車電路.位置、轉(zhuǎn)速檢測與控制.平安報警裝置.紡織控制系統(tǒng)4.實物〔七〕、紅外線1.工作原理利用紅外線的物理性質(zhì)來進行測量的傳感器。紅外線又稱紅外光,它具有反射、折射、散射、干預(yù)、吸收等性質(zhì)。任何物質(zhì),只要它本身具有一定的溫度〔高于絕對零度〕,都能輻射紅外線。紅外線傳感器測量時不與被測物體直接接觸,因而不存在摩擦,并且有靈敏度高,反響快等優(yōu)點。2.主要應(yīng)用及實物紅外線傳感器常用于無接觸溫度測量,氣體成分分析和無損探傷,在醫(yī)學(xué)、軍事、空間技術(shù)和環(huán)境工程等領(lǐng)域得到廣泛應(yīng)用。例如采用紅外線傳感器遠(yuǎn)距離測量人體外表溫度的熱像圖,可以發(fā)現(xiàn)溫度異常的部位,及時對疾病進行診斷治療〔見熱像儀〕;利用人造衛(wèi)星上的紅外線傳感器對地球云層進行監(jiān)視,可實現(xiàn)大范圍的天氣預(yù)報;采用紅外線傳感器可檢測飛機上正在運行的發(fā)動機的過熱情況等?!舶恕?、其它固定支架、紅綠藍(lán)白三種小球、電源線、串口轉(zhuǎn)接線、簡易裝置三、系統(tǒng)軟件示意1.系統(tǒng)示意圖2.軟件流程圖3.算法流程圖4.編程軟件使用KeiluVision3、STC_ISP_V479等,程序如見“附錄〞。5.原理圖及PCB6.核心原理TCS3200掃描控制模塊,頻率測量模塊,按鍵掃描模塊、顯示控制模塊和電機控制模塊,其中核心模塊為頻率測量模塊。根據(jù)原理局部的分析本設(shè)計采用了測周期法完成頻率測量的目的,即在固定數(shù)量的被測信號周期內(nèi)對標(biāo)準(zhǔn)時鐘計數(shù)的方式測量頻率,公式如下:

f=〔N/counter〕*F。

其中,N:被測信號計數(shù)脈沖數(shù);f:被測信號頻率;counter:標(biāo)準(zhǔn)時鐘計數(shù)值;F。:標(biāo)準(zhǔn)時鐘頻率四、實驗結(jié)論硬件、軟件測試分析

1、步進電機沒有回到原點:霍爾傳感器出現(xiàn)錯誤

2、紅外線沒有檢測到小球:傳感器位子沒有對準(zhǔn)

3、小球語音報錯:采樣出錯,識別出錯

4、分揀位子送錯:步進電機脈沖選擇有誤

5、軟件程序沒有輸入到單片機里

6、如無上述現(xiàn)象,在工作臺上放置本裝置,實現(xiàn)

功能,即本設(shè)計調(diào)試正確五、致謝從學(xué)校中的理論知識到實訓(xùn)中的實踐操作,我們將有更充分的實踐去挑戰(zhàn)我們的工作,雖然短暫,鍛煉了我們動手的能力,同時也鍛煉了我們的團隊合作精神。我要感謝我們的學(xué)校給予我這樣一個鍛煉的時機,感恩在我成長路上幫助過我的所有老師!感謝我的導(dǎo)師侯秀麗,她嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的典范;她循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。感謝我的實訓(xùn)老師,這片論文的每個實驗細(xì)節(jié)和每個數(shù)據(jù),都離不開你的細(xì)心指導(dǎo)。而你開朗的個性和寬容的態(tài)度,幫助我能夠很快的融入我們這個新的實驗室六、附錄#include"reg52.h"#include"comdef.h"#include"TCS3200.h"#include"step.h"#include"key.h" #include"LCD1602.h"#include"voice.c"/*系統(tǒng)中斷說明: 外部中斷0 :步進電機回原點觸發(fā)霍爾傳感器:輸出接P32 顏色識別的OUT接P35. 定時器0、1 :定時器0產(chǎn)生1ms的計數(shù)周期,定時器1外部計數(shù)模式,配合完成計算頻率 外部中斷1 :獨立按鍵*/externuint8STEPDELAY;externuint16RGB[3][3];uint8Mode=0;//初始化采樣標(biāo)準(zhǔn)值時,用于選擇當(dāng)前對哪種顏色進行采樣1:Red2:Green3:BluesbitBallExit=P3^3;voidDelay(uint16m){ uint8base=120; while(m--) for(base=120;base;base--);}main(){uint8Ball=0,Count=10; uint16R=0,G=0,B=0; EX0=1; /*外部中斷0允許*/ PX0=0; /*外部中斷0優(yōu)先級低*/ IT0=1; /*邊沿觸發(fā)方式中斷*/EX1=0; /*外部中斷1允許*/ PX1=0; /*外部中斷1優(yōu)先級低*/ IT1=1; /*邊沿觸發(fā)方式中斷*/ TCS3200_Init(); LCD_Init(); EA=1; Step_Init();//回原點 Delay(1000); //while(1)Step(STEPBACKWARD,FULLSTEP,29000/18); //電機測試 LCD_Disp_String(0,0,"Normal"); while(Mode<4){ if(KEY1==Key_Scan()){ while(KEY1==Key_Scan()); Mode++; switch(Mode){ case1:LCD_Disp_String(0,0,"RedBall");Read_Voice(7);Delay(1000);Read_Voice(1);Delay(1000);break; //請放入 紅球 case2:LCD_Disp_String(0,0,"GreenBall");Read_Voice(7);Delay(1000);Read_Voice(2);Delay(1000);break; //請放入綠球 case3:LCD_Disp_String(0,0,"BlueBall");Read_Voice(7);Delay(1000);Read_Voice(3);Delay(1000);break; //請放入籃球 } } if(KEY2==Key_Scan()){Read_Voice(6);Delay(1000); //系統(tǒng)正在為你采樣 while(KEY2==Key_Scan()); if(Mode){ //每個球采樣10次,求平均值 while(Count--){ Prameter_Calibration(Mode-1); R+=RGB[Mode-1][0]; G+=RGB[Mode-1][1]; B+=RGB[Mode-1][2]; Delay(10); } RGB[Mode-1][0]=R/10; RGB[Mode-1][1]=G/10; RGB[Mode-1][2]=B/10; R=0; G=0; B=0; Count=10; LCD_Disp_Byte_Dec(1,1,RGB[Mode-1][0]); LCD_Disp_Byte_Dec(4,1,RGB[Mode-1][1]); LCD_Disp_Byte_Dec(7,1,RGB[Mode-1][2]); } } } LCD_Clear(); LCD_Disp_String(0,0,"InitOk"); Read_Voice(8);Delay(1000); //采樣結(jié)束 Delay(1000); LCD_Clear(); LCD_Disp_String(0,0,"Normal"); //UART_Send_String("SystemstartupOk\r\n",19); while(1){ Ball=Ball_Identify(); switch(Ball){ caseCOLOR_REDBALL :LCD_Disp_String(0,1,"RedBall"); Step(STEPBACKWARD,FULLSTEP,9500/18); Read_Voice(0); //這是一顆 Delay(1000); Read_Voice(1); //紅球 Delay(1000); Read_Voice(4);//系統(tǒng)正在為您分揀 Delay(1000); // Read_Voice(17); //請稍候! // Delay(1000); Step_Init();//回原點 Delay(1000); break; caseCOLOR_YELLOWBALL: LCD_Disp_String(0,1,"GreenBall"); Step(STEPBACKWARD,FULLSTEP,16000/18); Read_Voice(0); //這是一顆 Delay(1000); Read_Voice(2); //綠球 Delay(1000); Read_Voice(4);//系統(tǒng)正在為您分揀 Delay(1000); // Read_Voice(17); //請稍候! // Delay(1000); Step_Init();//回原點 Delay(1000); break; caseCOLOR_BLUEBALL :LCD_Disp_String(0,1,"BlueBall"); Step(STEPBACKWA

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論