顏色識別系統(tǒng)設(shè)計說明書_第1頁
顏色識別系統(tǒng)設(shè)計說明書_第2頁
顏色識別系統(tǒng)設(shè)計說明書_第3頁
顏色識別系統(tǒng)設(shè)計說明書_第4頁
顏色識別系統(tǒng)設(shè)計說明書_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄1選題背景11.1 概述11.2 課設(shè)要求12方案設(shè)計13實驗論述23.1AT89S52單片機簡介23.1.1 AT89S52的主要性能和參數(shù)23.1.2 AT89S52的主要功能33.2傳感器TCS320043.2.1TCS3200芯片的結(jié)構(gòu)框圖與特點:43.2.2 TCS3200識別原理63.3 傳感器與單片機連接83.4 LCD1602模塊93.4.1液晶顯示器簡介93.4.2 指令格式與指令功能103.4.3 LCD顯示器的初始化103.4.4 硬件電路連接103.4.5 LCD1602液晶顯示模塊軟件設(shè)計113.5 系統(tǒng)結(jié)構(gòu)圖124 顏色識別系統(tǒng)測試134.1色彩識別的測試過程

2、134.2 顏色檢測中的誤差144.3測試結(jié)果分析155 課設(shè)總結(jié)16參 考 文 獻171選題背景1.1 概述隨著現(xiàn)代工業(yè)生產(chǎn)向高速化、自動化方向的發(fā)展,顏色識別廣泛應(yīng)用于各種工業(yè)檢測和自動控制領(lǐng)域,而生產(chǎn)過程中長期以來由人眼起主導(dǎo)作用的顏色識別工作將越來越多地被相應(yīng)的顏色傳感器所替代。目前的顏色傳感器通常是在獨立的光電二極管上覆蓋經(jīng)過修正的紅、綠、籃濾光片,然后對輸出信號進行相應(yīng)的處理,才能將顏色信號識別出來;有的將兩者集合起來,但是輸出模擬信號,需要一個A/D電路進行采樣,對該信號進一步處理,才能進行識別,增加了電路的復(fù)雜性,并且存在較大的識別誤差,影響了識別的效果。而TCS3200顏色傳

3、感器是美國TAOS公司生產(chǎn)的一種可編程并且能實現(xiàn)彩色光到頻率轉(zhuǎn)換的轉(zhuǎn)換器,比市面上見到的光轉(zhuǎn)電壓顏色檢測儀器在性能上有更多的優(yōu)勢。TCS3200它對光的動態(tài)響應(yīng)范圍大,標準輸出頻率范圍為2Hz500kHz,TCS3200有兩個可編程的引腳,使用者可以對100%、20%、2%或者是動力關(guān)閉模塊的輸出量程進行選擇使用。TCS3200在不需要DCs系統(tǒng)的情況下,給每個彩色通道至少能提供10字節(jié)的分辨。TCS3200可以用于彩色打印機、醫(yī)療診斷、LED檢測、液體顏色識別、電腦彩色監(jiān)控標準、顏色產(chǎn)品加工控制、和油漆、紡織品、化裝品及打印材料的彩色搭配等顏色檢測產(chǎn)品。1.2 課設(shè)要求此次課程設(shè)計是以色彩識

4、別系統(tǒng)設(shè)計為目的,采用AT89S51單片機為核心,利用TCS3200顏色傳感器和LCD1602建立起來的。文中給出整個系統(tǒng)的設(shè)計思路,包括,根據(jù)對三原色的感應(yīng)原理和TCS3200顏色傳感器識別顏色的原理的分析,設(shè)計出一個合適的可行的實驗環(huán)境。其次,利用TCS3200顏色傳感器,在合適的環(huán)境下,對被測物體進行檢測,將測得的數(shù)據(jù)進行A/D轉(zhuǎn)換,轉(zhuǎn)化成數(shù)字量。最后,將轉(zhuǎn)化后的數(shù)字量送到AT89S51單片機進行處理,得到被測物體所包含的RGB三原色的顏色值,之后利用LCD1602顯示出來。2方案設(shè)計本次設(shè)計的要求包括硬件電路設(shè)計和軟件編程的設(shè)計。由顏色識別與檢測原理可知,設(shè)計硬件電路可包括單片機控制電

5、路、TCS32000顏色采集、LCD顯示三個部分,進而實現(xiàn)顏色的檢測識別模式及RGB值。軟件編程設(shè)計方面,通過C語言設(shè)定不同的I/O口驅(qū)動顯示,在基本R、G、B三基色的基礎(chǔ)上設(shè)定不同的頻率范圍來鑒別不同的顏色,可采用定時器0的工作方式1和計數(shù)器0的計數(shù)方式1進行定時計數(shù)特定時間內(nèi)的脈沖數(shù)目來實現(xiàn)。通過單片機動態(tài)掃描顯示RGB的值和檢測顏色的模式。這樣就可完成了顏色檢測系統(tǒng)的設(shè)計。3實驗論述3.1AT89S52單片機簡介本系統(tǒng)采用ATMEL公司生產(chǎn)的AT89S52單片機作為微處理器。AT89S52與MCS-51系列單片機完全兼容,它采用靜態(tài)時鐘方式,可以大大節(jié)省耗電量。AT89S52是一個低電壓

6、,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),功能強大的AT89S52單片機已經(jīng)應(yīng)用于較復(fù)雜的系統(tǒng)控制場合。AT89S52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89S52可按照常規(guī)方法進行編程,亦可在線編程。其將通用之微處理器及Flash存儲器結(jié)合,特別是可反復(fù)擦寫的FLASH存儲器可有效降低開發(fā)成本。AT89C52及AT89S52之別,在于C及S, C表示需用并行編程器下載(接線多且復(fù)雜),S表

7、示可支持ISP下載,可在89S52系統(tǒng)板上面預(yù)留ISP下載接口,AT89S52引腳如圖3.1所示,實物圖如圖3.2。 圖3.1 S52單片機管腳圖 圖3.2 S52單片機實物圖3.1.1 AT89S52的主要性能和參數(shù)(1)與MCS-51單片機完全兼容的指令和引腳排列以及工作特性。(2)片內(nèi)程序存儲器內(nèi)含8K可重復(fù)擦寫的Flash程序存儲器。(3)片內(nèi)數(shù)據(jù)存儲器內(nèi)含256字節(jié)的RAM。(4)3個可編程的16位計數(shù)器(定時器)和32個可編程I/O口線。(5)串行口是具有一個全雙工的可編程的串行通信口。(6)中斷系統(tǒng)是具有8個中斷源、6個中斷矢量、2個優(yōu)先權(quán)的中斷機構(gòu)。(7)低功耗模式有空閑模式和

8、掉電模式。(8)編程頻率是3-24MH,編程啟動電流是1mA。(9)AT89S52的工作電壓為5V。3.1.2 AT89S52的主要功能P0口8位漏極開路之雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。訪問外部程序和數(shù)據(jù)存儲器時,P0口亦被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0不具有內(nèi)部上拉電阻。在FLASH編程時,P0口亦用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需外部上拉電阻。P1口有內(nèi)部上拉電阻的8位雙向I/O 口,P1 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時

9、可作輸入口用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可作輸入口用。作輸入用時,被外部拉低的引腳因內(nèi)部電阻,將輸出電流(IIL)。此外,P1.0及P1.2分別作定時器/計數(shù)器2之外部計數(shù)輸入(P1.0/T2)及時器/計數(shù)器2之觸發(fā)輸入(P1.1/T2EX),詳見表3.1所示。在flash編程及校驗時,P1口接收低8位地址字節(jié)。 表3.1 P1口的第二功能引腳號第二功能P1.0T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5MOSI(

10、在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口有內(nèi)部上拉電阻的8 位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可作輸入口。作輸入用時,被外部拉低的引腳因內(nèi)部電阻,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR) 時,P2口送出高八位地址。在這種應(yīng)用中,P2口用很強的內(nèi)部上拉發(fā)送1。在用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器之內(nèi)容。在FLASH編程及校驗時,P2口亦接收高8位地址字節(jié)及一些控制信號。 P3口

11、有內(nèi)部上拉電阻的8位雙向I/O口,p3輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可用作輸入口。作輸入用時,被外部拉低的引腳因內(nèi)部電阻之原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)用,如表3.2所示。在FLASH編程及校驗時,P3口亦接收些控制信號。此外,P3口亦接收些用于FLASH閃存編程及程序校驗的控制信號。表3.2 P3口的第二功能引腳第二功能引腳第二功能P3.0RXD(串行輸入口)P3.4TO(定時/計數(shù)器0)P3.1TXD(串行輸出口)P3.5T1(定時/計數(shù)器1)P3.2INTO(外中斷0)P3.6WR(外部

12、數(shù)據(jù)存儲器寫選通)P3.3INT1(外中斷1)P3.7RD(外部數(shù)據(jù)存儲器讀選通)RST復(fù)位輸入。振蕩器工作時,RST引腳有兩個機器周期以上高電平將是單片機復(fù)位。 ALE/PROG訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般,ALE仍以時鐘振蕩頻率的1/6輸出固定之脈沖信號,故它可對外輸出時鐘或用于定時目的。需注意:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳亦用于輸入編程脈沖(PROG)。若必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX及M

13、OVC指令方能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。PSEN程序儲存允許(PSEN)輸出是外部程序存儲器之讀選通信號,AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 EA/VPP外部訪問允許,要CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端須保持低電平(接地)。需注意:若加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。若EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器之指令。 FLASH存儲器編程時,該引腳加上+1

14、2V的編程允許電源Vpp,當然這須是該器件是使用12V編程電壓Vpp。XTAL1振蕩器反相放大器及內(nèi)部時鐘發(fā)生電路之輸入端。XTAL2振蕩器反相放大器之輸出端。3.2傳感器TCS32003.2.1TCS3200芯片的結(jié)構(gòu)框圖與特點:TCS3200是TAOS公司推出的可編程彩色光到頻率的轉(zhuǎn)換器。它把可配置的硅光電二極管與電流頻率轉(zhuǎn)換器集成在一個單一的CMOS電路上,同時在單一芯片上集成了紅綠藍(RGB)三種濾光器,是業(yè)界第一個有數(shù)字兼容接口的RGB彩色傳感器。TCS3200的輸出信號是數(shù)字量,可以驅(qū)動標準的TTL或CMOS邏輯輸入,因此可直接與微處理器或其他邏輯電路相連接。由于輸出的是數(shù)字量,并

15、且能夠?qū)崿F(xiàn)每個彩色信道10位以上的轉(zhuǎn)換精度,因而不再需要A/D轉(zhuǎn)換電路,使電路變得更簡單。圖1是TCS230的引腳和功能框圖。圖3.1中,TCS3200采用8引腳的SOIC表面貼裝式封裝,在單一芯片上集成有64個光電二極管。這些二極管共分為四種類型。其中16個光電二極管帶有紅色濾波器;16個光電二極管帶有綠色濾波器;16個光電二極管帶有藍色濾波器;其余16個不帶有任何濾波器,可以透過全部的光信息。這些光電二極管在芯片內(nèi)是交叉排列的,能夠最大限度地減少入射光輻射的不均勻性,從而增加顏色識別的精確度;另一方面,相同顏色的16個光電二極管是并聯(lián)連接的,均勻分布在二極管陣列中,可以消除顏色的位置誤差。

16、工作時,通過兩個可編程的引腳來動態(tài)選擇所需要的濾波器。該傳感器的典型輸出頻率范圍從2 Hz500 kHz,用戶還可以通過兩個可編程引腳來選擇100%、20%或2%的輸出比例因子,或電源關(guān)斷模式。輸出比例因子使傳感器的輸出能夠適應(yīng)不同的測量范圍,提高了它的適應(yīng)能力。例如,當使用低速的頻率計數(shù)器時,就可以選擇小的定標值,使TCS3200的輸出頻率和計數(shù)器相匹配。從圖3.1可知:當入射光投射到TCS3200上時,通過光電二極管控制引腳S2、S3的不同組合,可以選擇不同的濾波器;經(jīng)過電流到頻率轉(zhuǎn)換器后輸出不同頻率的方波(占空比是50%),不同的顏色和光強對應(yīng)不同頻率的方波;還可以通過輸出定標控制引腳S

17、0、S1,選擇不同的輸出比例因子,對輸出頻率范圍進行調(diào)整,以適應(yīng)不同的需求。圖3.1 TCS3200的引腳和功能框圖下面簡要介紹TCS3200芯片各個引腳的功能及它的一些組合選項。S0、S1用于選擇輸出比例因子或電源關(guān)斷模式;S2、S3用于選擇濾波器的類型;OE是頻率輸出使能引腳,可以控制輸出的狀態(tài),當有多個芯片引腳共用微處理器的輸入引腳時,也可以作為片選信號;OUT是頻率輸出引腳,GND是芯片的接地引腳,VCC為芯片提供工作電壓。表3-1是S0、S1及S2、S3的可用組合。表3-1 S0、S1及S2、S3的組合選項S0S1輸出頻率定標S2S3濾波器類型LL關(guān)斷電源LL紅色LH2%LH藍色HL

18、20%HL無HH100%HH綠色TCS3200內(nèi)部原理圖3.2.2 TCS3200識別原理1). 色彩空間通常所看到的物體的顏色, 實際上是物體表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反應(yīng)。任何一種顏色都可以用三種基本顏色按照不同的比例混合得到。這里介紹一種最典型的顏色模型,即RGB模型。如圖3.2.1所示,在這個顏色模型中, 3個軸分別為R、G、B。原點對應(yīng)的為黑色(0, 0, 0),離原點最遠的頂點對應(yīng)白色(255, 255, 255)。 由黑到白的灰度分布在從原點到最遠頂點間的連線上, 正方體的其他六個角點分別為紅、 黃、綠、青、藍、和品

19、紅。需要注意的一點是,RGB顏色模型所覆蓋的顏色域取決于顯示設(shè)備因光電的顏色特性。每一種顏色都有唯一的RGB值與它對應(yīng)。圖3.2.1 RGB顏色模型2). TCS230識別顏色的原理由三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道所測試物體的顏色。對于TCS230來說,當選定一個顏色濾波器時,它只允許某種特定的原色通過,阻止其他原色的通過。例如:當選擇紅色濾波器時,入射光中只有紅色可以通過,藍色和綠色都被阻止,這樣就可以得到紅色光的光強;同理,選擇其他的濾波器,就可以得到藍色光和綠色光的光強。通過這三個值,就可以分析投射到TCS230傳感器上的光的顏色。3). 白平衡算法顏色

20、實際就是物體對光的反射或投射而表現(xiàn)出來在人眼中的反映, 而 TCS3200 就是通過分別檢測一種顏色反映出來的光的紅、綠、藍分量, 通過把光強線性轉(zhuǎn)換為頻率信號, 量化出R、G、B值, 從而計算出顏色。值得注意的是, 不同的光線通過物體反映出來的光強是不同的, 而且非標準白光 (RGB三者不相等)在物體上反映出來的光強分量也是不同的。為解決這個問題,就要進行白平衡, 即首先測量出基準光源的RGB光強值, 再測量出在標準光源下物體所反映出的光強值,兩者之比就是物體的反射(或透射)性質(zhì), 即物體的實際顏色, 如公式(1), (2), (3)。R=P物紅/P源紅 (1)G=P物綠/P源綠 (2)B=

21、P物藍/P源藍 (3)由于在 RGB 坐標下的顏色標準坐標為 0-255 之間,所以把所得結(jié)果乘以 255,即得到標準的 RGB 值。 透明物體直接測量光源的光強-頻率值,不透明物體需要用白紙測量反射光源。在實際運用中,對于TCS230的光傳感器來說,這里有兩種方法來計算調(diào)整參數(shù): 依次選通三種顏色的濾波器,然后對TCS230的輸出脈沖依次進行計數(shù)。當計數(shù)到255時停止計數(shù),分別計算每個通道所用的時間。這些時間對應(yīng)于實際測試時TCS230每種濾波器所采用的時間基準,在這段時間內(nèi)所測得的脈沖數(shù)就是所對應(yīng)的R、G和B的值。 設(shè)置定時器為一固定時間(例如10 ms),然后選通三種顏色的濾波器,計算這

22、段時間內(nèi)TCS230的輸出脈沖數(shù),計算出一個比例因子,通過這個比例因子可以把這些脈沖數(shù)變?yōu)?55。在實際測試時,使用同樣的時間進行計數(shù),把測得的脈沖數(shù)再乘以求得的比例因子,然后就可以得到所對應(yīng)的R、G和B的值。3.3 傳感器與單片機連接TCS3200是TAOS公司推出的可編程彩色光到頻率的轉(zhuǎn)換器,該傳感器具有分辨率高、可變成的顏色選擇與輸出定標、單電源供電等特點;輸出為數(shù)字量,可直接與微處理器連接。圖3.3.1中用89C51的P1口的幾個引腳來控制TCS230的各個引腳,而TCS230的輸出引腳連接到89C51的定時器/計數(shù)器1的輸入端(P35)。設(shè)置89C51定時器/計數(shù)器為相應(yīng)的工作方式,

23、初始化89C51定時器為一個定值,再選擇TCS3200的輸出比例因子,并使能輸出引腳。實際使用中,通過讀取89C51計數(shù)器的值,就可以分別計算出TCS3200的3種輸出頻率,進而確定R、G、B值及顏色。相應(yīng)的軟件流程如圖3.3.2所示。圖3.3.1 TCS230顏色識別接口電路 在程序流程中:系統(tǒng)初始化負責(zé)設(shè)置89C51的定時器/計數(shù)器的工作方式,選擇TCS230的輸出比例因子,使能輸出引腳以及通信參數(shù)的設(shè)置。初始化完成后,檢測是否需要進行白平衡調(diào)整。如有,調(diào)整白平衡子程序;否則,轉(zhuǎn)到下一步,檢測是否需要進行顏色識別。如不需要顏色識別,返回;如需要顏色識別,調(diào)用顏色識別子程序,直到顏色識別完畢

24、。圖3.3.2軟件流程 3.4 LCD1602模塊3.4.1液晶顯示器簡介液晶顯示器簡稱LCD顯示器,它是利用液晶經(jīng)過處理后能改變光線的傳輸方向的特性顯示信息的。液晶顯示器具有體積小、重量輕、功耗極低、顯示內(nèi)容豐富等特點,在單片機應(yīng)用系統(tǒng)中得到了日益廣泛的應(yīng)用。目前市場上常用的有16字*1行、16字*2行、20字*2行和40字*2行等的字符液晶顯示模塊。這些LCM雖然顯示字符數(shù)各不相同,但是都具有相同的輸入輸出界面。此次課設(shè)使用的是16*2字符型液晶顯示模塊CA1602A。CA1602A采用標準的16腳接口,各引腳情況如下:第1腳:Vss,電源地第2腳:Vcc,+5v電源第3腳:Vo,液晶顯示

25、偏壓信號第4腳:RS,數(shù)據(jù)/命令選擇端,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。第5腳:RW:讀/寫選擇端,高電平時進行讀操作,低電平時進行寫操作。但RS和RW共同為低電平時可以寫入指令或者顯示地址;當RS為低電平RW為高電平時可以讀忙信號;當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。第6腳:E,使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7-14腳:D0-D7,為8位雙向數(shù)據(jù)線。第15腳:A,背光源正極第16腳:K,背光源負極3.4.2 指令格式與指令功能總共有11條指令,它們的格式和功能如下表3.4:序號指令RSRWD7D6D5D4D3D2D1D01清顯示0000000

26、0012光標返回 00000000013置輸入模式00000001I/D04顯示開/關(guān)控制0000001DCS5光標或字符移位000001S/CR/L*B6置功能00001DLNF*7置字符發(fā)生存儲器地址0001字符發(fā)生存儲器地址8置數(shù)據(jù)發(fā)生存儲器地址001顯示數(shù)據(jù)發(fā)生存儲器地址9讀忙標志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容表3.4 控制命令表3.4.3 LCD顯示器的初始化LCD使用之前須對它進行初始化,初始化可以通過復(fù)位完成,也可以在復(fù)位后完成,初始化過程如下:1).清屏。2).功能設(shè)置。3).開/關(guān)顯

27、示設(shè)置。4).輸入方式設(shè)置。3.4.4 硬件電路連接在本設(shè)計中,1602顯示器與單片機的連接如下:Vss管腳接地,Vdd管腳接+5V電源,Vo管腳通過一3.3k電阻接地,RS管腳接P2.0管腳,RW管腳接P2.1管腳,E管腳接P2.3管腳,D0-D7管腳依次接P0.0-P0.7管腳,A管腳接+5V電源,K管腳接地。P0口是一個三態(tài)雙向口,可作為地址/數(shù)據(jù)分時復(fù)用接口,也可作為通用的I/O接口。它由一個輸出鎖存器、兩個三態(tài)緩沖器、輸出驅(qū)動電路和輸出控制電路組成。P0口作為I/O口輸出的時候時 輸出低電平為0 輸出高電平為高組態(tài)(并非5V,相當于懸空狀態(tài))。也就是說P0 口不能真正的輸出高電平,給

28、所接的負載提供電流,因此必須接上拉電阻(一電阻連接到VCC),由電源通過這個上拉電阻給負載提供電流。P2口也是準雙向口,它有兩種用途:通用I/O接口和高8位地址線。與P1口相比,它只在輸出驅(qū)動電路上比P1口多了一個模擬轉(zhuǎn)換開關(guān)MUX和反相器。LCD1602與52單片機的具體連接方式如圖3.4.4所示:圖3.4.4 LCD1602與單片機的具體連接圖3.4.5 LCD1602液晶顯示模塊軟件設(shè)計本設(shè)計的LCD1602液晶顯示模塊主要是利用比較經(jīng)典的LCD顯示方法來進行設(shè)計的,即字符串的方式進行輸出顯示。流程圖如圖3.4.5所示。圖3.4.5 LCD1602顯示模塊流程圖3.5 系統(tǒng)結(jié)構(gòu)圖 色彩識

29、別系統(tǒng)是基于MCS-51系列單片機控制的基礎(chǔ)上,添加了TCS230顏色傳感器采集模塊,TCS230驅(qū)動模塊,四個白色LED補光模塊,LCD1602液晶顯示模塊,在這些模塊的基礎(chǔ)上實現(xiàn)的色彩識別系統(tǒng),色彩識別系統(tǒng)的設(shè)計如圖3.5.1系統(tǒng)框架所示。電路圖如3.5.2所示。圖 3.5.1 系統(tǒng)框架圖 3.5.2 系統(tǒng)電路圖4 顏色識別系統(tǒng)測試4.1色彩識別的測試過程事物是隨時間變化而運動變化的,由于本系統(tǒng)對軟硬件關(guān)聯(lián)性要求很高,其整個實驗過程中間變化過程很復(fù)雜,一般仿真無法實現(xiàn)。本設(shè)計的測試過程很簡單,具體操作如下:首先將開發(fā)板接通電源,將色彩紙板放平,其次把設(shè)計中的顏色采集模塊放在待測的紙板上,放

30、正放平,最后用隔光較好的紙張或者盒子將顏色采集模塊遮蓋起來,然后用筆記錄LCD顯示的值,依次測量不同顏色的紙板并記錄數(shù)據(jù)即可。 在測試過程中進行了多次的測量試驗,記錄的一些數(shù)據(jù)如下圖4.1圖4.1 測試數(shù)據(jù)4.2 顏色檢測中的誤差物體顏色信息十分廣泛,顏色的確定需要色調(diào)、明度和飽和度三大要素或三原色(紅綠藍)的刺激值。影響顏色檢測準確度的參數(shù)主要有:照射光、物體反射、光源方位、觀測方位和傳感器性能等,任何一個參數(shù)發(fā)生變化都會導(dǎo)致觀察到的顏色發(fā)生變化。(1)光源的影響照射光包含有太陽光和外界雜散光,太陽照射角度、云層厚度和其它天氣條件都會導(dǎo)致照射光發(fā)生變化,從而導(dǎo)致被測物體顏色發(fā)生變化。(2)

31、光源方位和觀測方位的影響光源方位,也就是被測物體指向光源的法線方向,它決定了有多少太陽光或外界雜散光作為入射光。觀測方位是指被測物體指向傳感器的法線方向,它決定了反射到傳感器中的光強。(3) 被測物表面反射狀況的影響傳感器探頭與被測物之間的距離影響著輸出信號,可能會造成不同顏色信號的交叉,形成測量誤差,所以存在某一最佳距離對輸出特性影響最小,以保證顏色與輸出信號的一一對應(yīng)關(guān)系。被測物表面的較明顯凹凸區(qū)域也會給輸出信號帶來較大的誤差。誤差 結(jié)果實驗次數(shù) RGB光照強度光強第一次10112192第二次9811689 光弱第一次465653第二次385840方位影響正方向第一次2484238第二次2

32、553442側(cè)方向第一次1438696第二次12396102表面反射影響反射強第一次12393104第二次11310696反射弱第一次665246第二次5461484.3測試結(jié)果分析通過上面的測試結(jié)果可以看出,如果被測物體的顏色中,紅色成分比較多,那么在顯示的輸出結(jié)果中的R的值就大;同樣的,如果綠色成分多,輸出結(jié)果中的G的值就大,如果藍色成分多,輸出結(jié)果中的B的值就大。表格最后一列給出了這些顏色值對應(yīng)的色彩圖像,而表格的第一列給出了標準的色彩圖像,可以看出,實際測得值與標準值之間還存在著一定的誤差,這些誤差產(chǎn)生的原因有很多,其中之一就是外界干擾光的存在,其次因為傳感器芯片對光的敏感性不同,此外

33、可能的原因包括補光模塊中的LED二極管發(fā)出的光不穩(wěn)定,還可能因為物體對光的反射能力不同等等,所有的這些原因?qū)е铝嗽跍y量的過程中存在的誤差在所難免,只有不斷的改善,以達到減小誤差的目的,所以本系統(tǒng)還有待更進一步的研究以改善整個系統(tǒng)。通過系統(tǒng)測試,驗證了色彩識別系統(tǒng)的可行性,通過對純白色、純綠色、純藍色三個紙板的檢測,驗證了本系統(tǒng)的確可以完成預(yù)期的任務(wù),實現(xiàn)系統(tǒng)功能,但是與其真實值之間還有一定的誤差,這也是本系統(tǒng)的不完善之處,這也為以后的更完善的功能更強大的精確度更高的色彩識別系統(tǒng)打了一個結(jié)實的基礎(chǔ),為以后更好的完善和簡化色彩識別系統(tǒng)做下了鋪墊。5 課設(shè)總結(jié)這次課設(shè)我們就色彩識別系統(tǒng)的原理及實現(xiàn)做

34、了研究?,F(xiàn)將本論文所做的主要工作內(nèi)容總結(jié)如下:(1) 建立顏色識別系統(tǒng)的模型,推算出顏色識別的算法。(2) 介紹單片機等主要模塊的功能及優(yōu)勢。(3) 對系統(tǒng)進行整體的軟硬件設(shè)計。(4)編寫程序計算RGB三種顏色值,然后進行測試實驗,以驗證論文中結(jié)論的準確性。總的來說,本論文是以AT89S52單片機為基礎(chǔ),利用TCS3200顏色傳感器模塊,LCD1602液晶顯示模塊實現(xiàn)色彩識別系統(tǒng)的設(shè)計,并進行了色彩識別的測試實驗。其中,色彩識別的算法實現(xiàn)原理和各模塊的實現(xiàn)是其中的重點。心得體會:通過本次的課程設(shè)計我們發(fā)現(xiàn)了很多不足,不論是理論知識方面還是實踐方面都有一些問題。我們從態(tài)度上應(yīng)該積極向上,主動發(fā)現(xiàn)

35、問題并且解決問題,克制遇到問題就氣餒的壞習(xí)慣。而在理論的的知識方面,我們擁有編寫代碼的能力,但是卻沒有模塊化的編寫過程序,導(dǎo)致開始編寫的時候代碼混淆不清。在硬件電路的焊接中,雖然電路比較小,但是還是忽略了一些細節(jié),或者因為線有些亂而接錯了接口并且沒有更好的布局。在制作或者設(shè)計中的時候我們總會犯各種各樣的小錯誤,比如布局,接線,測設(shè)等等。但是總的來說還是還是學(xué)到了一些東西并且最終完成了課設(shè)。在此也多些老師的指導(dǎo)和培養(yǎng),才讓我們更快更好的完成設(shè)23參 考 文 獻1 李朝青.單片機原理及接口技術(shù)M.北京航空航天大學(xué)出版社,2000.2 楊家國.單片機原理與應(yīng)用及S52程序設(shè)計J.電子報,2009.3

36、 張松燦,肖本賢.高分辨率顏色傳感器TCS3200的原理和應(yīng)用D.合肥工業(yè)大學(xué).2005.4 盧川英, 于浩成, 孫敬輝, 孟 中. 基于 TCS3200傳感器的顏色檢測系統(tǒng)J.吉林大學(xué)學(xué)報.2008.11.5 胡建民. 顏色傳感器TCS3200及顏色識別電路 EB/OL.附錄1 程序代碼#include#include #include #include#define uchar unsigned char#define uint unsigned int#define DataPort P0 sbit LCM_RS=P20; sbit LCM_RW=P21; sbit LCM_EN=P22

37、; sbit s2=P11; sbit s3=P10; sbit test_pin=P12; uchar ge,shi,bai ;uchar rp=2,gp=2,bp=2; uchar count; uchar disp_R3; uchar disp_G3; uchar disp_B3; void delay(unsigned int k);void InitLcd();void WriteDataLCM(uchar dataW);void WriteCommandLCM(uchar CMD,uchar Attribc);void DisplayOneChar(uchar X,uchar Y,

38、uchar DData);void InitLcd()WriteCommandLCM(0x38,0);WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1);WriteCommandLCM(0x01,1);WriteCommandLCM(0x06,1);WriteCommandLCM(0x0f,1);void WaitForEnable(void)DataPort=0xff;LCM_RS=0;LCM_RW=1;_nop_();LCM_EN=1;_nop_();_nop_();while(DataPort&0x80);LCM_EN=0;void Write

39、CommandLCM(uchar CMD,uchar Attribc)if(Attribc)WaitForEnable();LCM_RS=0;LCM_RW=0;_nop_();DataPort=CMD;_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;void WriteDataLCM(uchar dataW)WaitForEnable();LCM_RS=1;LCM_RW=0;_nop_();DataPort=dataW;_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;void DisplayOneChar(uchar X,uchar Y,uchar DData)Y&=1;X&=15;if(Y)X|=

溫馨提示

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

評論

0/150

提交評論