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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18、2、S3的組合選項(xiàng)S0S1輸出頻率定標(biāo)S2S3濾波器類型LL關(guān)斷電源LL紅色LH2%LH藍(lán)色HL20%HL無HH100%HH綠色TCS3200內(nèi)部原理圖3.2.2 TCS3200識別原理1). 色彩空間通常所看到的物體的顏色, 實(shí)際上是物體表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反應(yīng)。任何一種顏色都可以用三種基本顏色按照不同的比例混合得到。這里介紹一種最典型的顏色模型,即RGB模型。如圖3.2.1所示,在這個(gè)顏色模型中, 3個(gè)軸分別為R、G、B。原點(diǎn)對應(yīng)的為黑色(0, 0, 0),離原點(diǎn)最遠(yuǎn)的頂點(diǎn)對應(yīng)白色(255, 255, 255)。 由黑到

19、白的灰度分布在從原點(diǎn)到最遠(yuǎn)頂點(diǎn)間的連線上, 正方體的其他六個(gè)角點(diǎn)分別為紅、 黃、綠、青、藍(lán)、和品紅。需要注意的一點(diǎn)是,RGB顏色模型所覆蓋的顏色域取決于顯示設(shè)備因光電的顏色特性。每一種顏色都有唯一的RGB值與它對應(yīng)。圖3.2.1 RGB顏色模型2). TCS230識別顏色的原理由三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道所測試物體的顏色。對于TCS230來說,當(dāng)選定一個(gè)顏色濾波器時(shí),它只允許某種特定的原色通過,阻止其他原色的通過。例如:當(dāng)選擇紅色濾波器時(shí),入射光中只有紅色可以通過,藍(lán)色和綠色都被阻止,這樣就可以得到紅色光的光強(qiáng);同理,選擇其他的濾波器,就可以得到藍(lán)色光和綠

20、色光的光強(qiáng)。通過這三個(gè)值,就可以分析投射到TCS230傳感器上的光的顏色。3). 白平衡算法顏色實(shí)際就是物體對光的反射或投射而表現(xiàn)出來在人眼中的反映, 而 TCS3200 就是通過分別檢測一種顏色反映出來的光的紅、綠、藍(lán)分量, 通過把光強(qiáng)線性轉(zhuǎn)換為頻率信號, 量化出R、G、B值, 從而計(jì)算出顏色。值得注意的是, 不同的光線通過物體反映出來的光強(qiáng)是不同的, 而且非標(biāo)準(zhǔn)白光 (RGB三者不相等)在物體上反映出來的光強(qiáng)分量也是不同的。為解決這個(gè)問題,就要進(jìn)行白平衡, 即首先測量出基準(zhǔn)光源的RGB光強(qiáng)值, 再測量出在標(biāo)準(zhǔn)光源下物體所反映出的光強(qiáng)值,兩者之比就是物體的反射(或透射)性質(zhì), 即物體的實(shí)際顏

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

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

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

24、否則,轉(zhuǎn)到下一步,檢測是否需要進(jìn)行顏色識別。如不需要顏色識別,返回;如需要顏色識別,調(diào)用顏色識別子程序,直到顏色識別完畢。圖3.3.2  軟件流程 3.4 LCD1602模塊3.4.1液晶顯示器簡介液晶顯示器簡稱LCD顯示器,它是利用液晶經(jīng)過處理后能改變光線的傳輸方向的特性顯示信息的。液晶顯示器具有體積小、重量輕、功耗極低、顯示內(nèi)容豐富等特點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到了日益廣泛的應(yīng)用。目前市場上常用的有16字*1行、16字*2行、20字*2行和40字*2行等的字符液晶顯示模塊。這些LCM雖然顯示字符數(shù)各不相同,但是都具有相同的輸入輸出界面。此次課設(shè)使用的是16*2字符型液晶顯

25、示模塊CA1602A。CA1602A采用標(biāo)準(zhǔn)的16腳接口,各引腳情況如下:第1腳:Vss,電源地第2腳:Vcc,+5v電源第3腳:Vo,液晶顯示偏壓信號第4腳:RS,數(shù)據(jù)/命令選擇端,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器。第5腳:RW:讀/寫選擇端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。但RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址;當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號;當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E,使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7-14腳:D0-D7,為8位雙向數(shù)據(jù)線。第15腳:A,背光源正極第16腳:K,背光源負(fù)極3.

26、4.2 指令格式與指令功能總共有11條指令,它們的格式和功能如下表3.4:序號指令RSRWD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回 00000000013置輸入模式00000001I/D04顯示開/關(guān)控制0000001DCS5光標(biāo)或字符移位000001S/CR/L*B6置功能00001DLNF*7置字符發(fā)生存儲器地址0001字符發(fā)生存儲器地址8置數(shù)據(jù)發(fā)生存儲器地址001顯示數(shù)據(jù)發(fā)生存儲器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容表3.4 控制命令表3.4.3 LCD顯示

27、器的初始化LCD使用之前須對它進(jìn)行初始化,初始化可以通過復(fù)位完成,也可以在復(fù)位后完成,初始化過程如下:1).清屏。2).功能設(shè)置。3).開/關(guān)顯示設(shè)置。4).輸入方式設(shè)置。3.4.4 硬件電路連接在本設(shè)計(jì)中,1602顯示器與單片機(jī)的連接如下: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口是一個(gè)三態(tài)雙向口,可作為地址/數(shù)據(jù)分時(shí)復(fù)用接口,也可作為通用的I/O接口。它由一個(gè)輸出鎖存器、兩個(gè)三態(tài)緩沖器、輸出驅(qū)動(dòng)電路和輸出控制電

28、路組成。P0口作為I/O口輸出的時(shí)候時(shí) 輸出低電平為0 輸出高電平為高組態(tài)(并非5V,相當(dāng)于懸空狀態(tài))。也就是說P0 口不能真正的輸出高電平,給所接的負(fù)載提供電流,因此必須接上拉電阻(一電阻連接到VCC),由電源通過這個(gè)上拉電阻給負(fù)載提供電流。P2口也是準(zhǔn)雙向口,它有兩種用途:通用I/O接口和高8位地址線。與P1口相比,它只在輸出驅(qū)動(dòng)電路上比P1口多了一個(gè)模擬轉(zhuǎn)換開關(guān)MUX和反相器。LCD1602與52單片機(jī)的具體連接方式如圖3.4.4所示:圖3.4.4 LCD1602與單片機(jī)的具體連接圖3.4.5 LCD1602液晶顯示模塊軟件設(shè)計(jì)本設(shè)計(jì)的LCD1602液晶顯示模塊主要是利用比較經(jīng)典的LCD

29、顯示方法來進(jìn)行設(shè)計(jì)的,即字符串的方式進(jìn)行輸出顯示。流程圖如圖3.4.5所示。圖3.4.5 LCD1602顯示模塊流程圖3.5 系統(tǒng)結(jié)構(gòu)圖 色彩識別系統(tǒng)是基于MCS-51系列單片機(jī)控制的基礎(chǔ)上,添加了TCS230顏色傳感器采集模塊,TCS230驅(qū)動(dòng)模塊,四個(gè)白色LED補(bǔ)光模塊,LCD1602液晶顯示模塊,在這些模塊的基礎(chǔ)上實(shí)現(xiàn)的色彩識別系統(tǒng),色彩識別系統(tǒng)的設(shè)計(jì)如圖3.5.1系統(tǒng)框架所示。電路圖如3.5.2所示。圖 3.5.1 系統(tǒng)框架圖 3.5.2 系統(tǒng)電路圖4 顏色識別系統(tǒng)測試4.1色彩識別的測試過程事物是隨時(shí)間變化而運(yùn)動(dòng)變化的,由于本系統(tǒng)對軟硬件關(guān)聯(lián)性要求很高,其整個(gè)實(shí)驗(yàn)過程中間變化過程很復(fù)

30、雜,一般仿真無法實(shí)現(xiàn)。本設(shè)計(jì)的測試過程很簡單,具體操作如下:首先將開發(fā)板接通電源,將色彩紙板放平,其次把設(shè)計(jì)中的顏色采集模塊放在待測的紙板上,放正放平,最后用隔光較好的紙張或者盒子將顏色采集模塊遮蓋起來,然后用筆記錄LCD顯示的值,依次測量不同顏色的紙板并記錄數(shù)據(jù)即可。 在測試過程中進(jìn)行了多次的測量試驗(yàn),記錄的一些數(shù)據(jù)如下圖4.1圖4.1 測試數(shù)據(jù)4.2 顏色檢測中的誤差物體顏色信息十分廣泛,顏色的確定需要色調(diào)、明度和飽和度三大要素或三原色(紅綠藍(lán))的刺激值。影響顏色檢測準(zhǔn)確度的參數(shù)主要有:照射光、物體反射、光源方位、觀測方位和傳感器性能等,任何一個(gè)參數(shù)發(fā)生變化都會導(dǎo)致觀察到的顏色發(fā)生變化。(

31、1)光源的影響照射光包含有太陽光和外界雜散光,太陽照射角度、云層厚度和其它天氣條件都會導(dǎo)致照射光發(fā)生變化,從而導(dǎo)致被測物體顏色發(fā)生變化。(2) 光源方位和觀測方位的影響光源方位,也就是被測物體指向光源的法線方向,它決定了有多少太陽光或外界雜散光作為入射光。觀測方位是指被測物體指向傳感器的法線方向,它決定了反射到傳感器中的光強(qiáng)。(3) 被測物表面反射狀況的影響傳感器探頭與被測物之間的距離影響著輸出信號,可能會造成不同顏色信號的交叉,形成測量誤差,所以存在某一最佳距離對輸出特性影響最小,以保證顏色與輸出信號的一一對應(yīng)關(guān)系。被測物表面的較明顯凹凸區(qū)域也會給輸出信號帶來較大的誤差。誤差 結(jié)果實(shí)驗(yàn)次數(shù)

32、RGB光照強(qiáng)度光強(qiáng)第一次10112192第二次9811689 光弱第一次465653第二次385840方位影響正方向第一次2484238第二次2553442側(cè)方向第一次1438696第二次12396102表面反射影響反射強(qiáng)第一次12393104第二次11310696反射弱第一次665246第二次5461484.3測試結(jié)果分析通過上面的測試結(jié)果可以看出,如果被測物體的顏色中,紅色成分比較多,那么在顯示的輸出結(jié)果中的R的值就大;同樣的,如果綠色成分多,輸出結(jié)果中的G的值就大,如果藍(lán)色成分多,輸出結(jié)果中的B的值就大。表格最后一列給出了這些顏色值對應(yīng)的色彩圖像,而表格的第一列給出了標(biāo)準(zhǔn)的色彩圖像,可以

33、看出,實(shí)際測得值與標(biāo)準(zhǔn)值之間還存在著一定的誤差,這些誤差產(chǎn)生的原因有很多,其中之一就是外界干擾光的存在,其次因?yàn)閭鞲衅餍酒瑢獾拿舾行圆煌送饪赡艿脑虬ㄑa(bǔ)光模塊中的LED二極管發(fā)出的光不穩(wěn)定,還可能因?yàn)槲矬w對光的反射能力不同等等,所有的這些原因?qū)е铝嗽跍y量的過程中存在的誤差在所難免,只有不斷的改善,以達(dá)到減小誤差的目的,所以本系統(tǒng)還有待更進(jìn)一步的研究以改善整個(gè)系統(tǒng)。通過系統(tǒng)測試,驗(yàn)證了色彩識別系統(tǒng)的可行性,通過對純白色、純綠色、純藍(lán)色三個(gè)紙板的檢測,驗(yàn)證了本系統(tǒng)的確可以完成預(yù)期的任務(wù),實(shí)現(xiàn)系統(tǒng)功能,但是與其真實(shí)值之間還有一定的誤差,這也是本系統(tǒng)的不完善之處,這也為以后的更完善的功能更強(qiáng)大

34、的精確度更高的色彩識別系統(tǒng)打了一個(gè)結(jié)實(shí)的基礎(chǔ),為以后更好的完善和簡化色彩識別系統(tǒng)做下了鋪墊。5 課設(shè)總結(jié)這次課設(shè)我們就色彩識別系統(tǒng)的原理及實(shí)現(xiàn)做了研究。現(xiàn)將本論文所做的主要工作內(nèi)容總結(jié)如下:(1) 建立顏色識別系統(tǒng)的模型,推算出顏色識別的算法。(2) 介紹單片機(jī)等主要模塊的功能及優(yōu)勢。(3) 對系統(tǒng)進(jìn)行整體的軟硬件設(shè)計(jì)。(4)編寫程序計(jì)算RGB三種顏色值,然后進(jìn)行測試實(shí)驗(yàn),以驗(yàn)證論文中結(jié)論的準(zhǔn)確性??偟膩碚f,本論文是以AT89S52單片機(jī)為基礎(chǔ),利用TCS3200顏色傳感器模塊,LCD1602液晶顯示模塊實(shí)現(xiàn)色彩識別系統(tǒng)的設(shè)計(jì),并進(jìn)行了色彩識別的測試實(shí)驗(yàn)。其中,色彩識別的算法實(shí)現(xiàn)原理和各模塊的

35、實(shí)現(xiàn)是其中的重點(diǎn)。心得體會:通過本次的課程設(shè)計(jì)我們發(fā)現(xiàn)了很多不足,不論是理論知識方面還是實(shí)踐方面都有一些問題。我們從態(tài)度上應(yīng)該積極向上,主動(dòng)發(fā)現(xiàn)問題并且解決問題,克制遇到問題就氣餒的壞習(xí)慣。而在理論的的知識方面,我們擁有編寫代碼的能力,但是卻沒有模塊化的編寫過程序,導(dǎo)致開始編寫的時(shí)候代碼混淆不清。在硬件電路的焊接中,雖然電路比較小,但是還是忽略了一些細(xì)節(jié),或者因?yàn)榫€有些亂而接錯(cuò)了接口并且沒有更好的布局。在制作或者設(shè)計(jì)中的時(shí)候我們總會犯各種各樣的小錯(cuò)誤,比如布局,接線,測設(shè)等等。但是總的來說還是還是學(xué)到了一些東西并且最終完成了課設(shè)。在此也多些老師的指導(dǎo)和培養(yǎng),才讓我們更快更好的完成設(shè)23參 考

36、文 獻(xiàn)1 李朝青.單片機(jī)原理及接口技術(shù)M.北京航空航天大學(xué)出版社,2000.2 楊家國.單片機(jī)原理與應(yīng)用及S52程序設(shè)計(jì)J.電子報(bào),2009.3 張松燦,肖本賢.高分辨率顏色傳感器TCS3200的原理和應(yīng)用D.合肥工業(yè)大學(xué).2005.4 盧川英, 于浩成, 孫敬輝, 孟 中. 基于 TCS3200傳感器的顏色檢測系統(tǒng)J.吉林大學(xué)學(xué)報(bào).2008.11.5 胡建民. 顏色傳感器TCS3200及顏色識別電路 EB/OL.附錄1 程序代碼#include<REG52.H>#include<math.h> #include<stdio.h> #include<I

37、NTRINS.H>#define uchar unsigned char#define uint unsigned int#define DataPort P0 sbit LCM_RS=P20; sbit LCM_RW=P21; sbit LCM_EN=P22; 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 in

38、t k);void InitLcd();void WriteDataLCM(uchar dataW);void WriteCommandLCM(uchar CMD,uchar Attribc);void DisplayOneChar(uchar X,uchar Y,uchar DData);void InitLcd()WriteCommandLCM(0x38,0);WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1);WriteCommandLCM(0x01,1);WriteCommandLCM(0x06,1);WriteCommandLCM(0x0f

39、,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 WriteCommandLCM(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|=0x40;X|=0x80;WriteCommandLCM(X,0);WriteDataLCM(DData);void delay(uns

溫馨提示

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

評論

0/150

提交評論