颜色识别系统设计说明书_第1页
颜色识别系统设计说明书_第2页
颜色识别系统设计说明书_第3页
颜色识别系统设计说明书_第4页
颜色识别系统设计说明书_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录1选题背景11.1 概述11.2 课设要求12方案设计13实验论述23.1AT89S52单片机简介23.1.1 AT89S52的主要性能和参数23.1.2 AT89S52的主要功能33.2传感器TCS320043.2.1TCS3200芯片的结构框图与特点: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液晶显示模块软件设计113.5 系统结构图124 颜色识别系统测试134.1色彩识别的测试过程

2、134.2 颜色检测中的误差144.3测试结果分析155 课设总结16参 考 文 献171选题背景1.1 概述随着现代工业生产向高速化、自动化方向的发展,颜色识别广泛应用于各种工业检测和自动控制领域,而生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、篮滤光片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采样,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。而TCS3200颜色传

3、感器是美国TAOS公司生产的一种可编程并且能实现彩色光到频率转换的转换器,比市面上见到的光转电压颜色检测仪器在性能上有更多的优势。TCS3200它对光的动态响应范围大,标准输出频率范围为2Hz500kHz,TCS3200有两个可编程的引脚,使用者可以对100%、20%、2%或者是动力关闭模块的输出量程进行选择使用。TCS3200在不需要DCs系统的情况下,给每个彩色通道至少能提供10字节的分辨。TCS3200可以用于彩色打印机、医疗诊断、LED检测、液体颜色识别、电脑彩色监控标准、颜色产品加工控制、和油漆、纺织品、化装品及打印材料的彩色搭配等颜色检测产品。1.2 课设要求此次课程设计是以色彩识

4、别系统设计为目的,采用AT89S51单片机为核心,利用TCS3200颜色传感器和LCD1602建立起来的。文中给出整个系统的设计思路,包括,根据对三原色的感应原理和TCS3200颜色传感器识别颜色的原理的分析,设计出一个合适的可行的实验环境。其次,利用TCS3200颜色传感器,在合适的环境下,对被测物体进行检测,将测得的数据进行A/D转换,转化成数字量。最后,将转化后的数字量送到AT89S51单片机进行处理,得到被测物体所包含的RGB三原色的颜色值,之后利用LCD1602显示出来。2方案设计本次设计的要求包括硬件电路设计和软件编程的设计。由颜色识别与检测原理可知,设计硬件电路可包括单片机控制电

5、路、TCS32000颜色采集、LCD显示三个部分,进而实现颜色的检测识别模式及RGB值。软件编程设计方面,通过C语言设定不同的I/O口驱动显示,在基本R、G、B三基色的基础上设定不同的频率范围来鉴别不同的颜色,可采用定时器0的工作方式1和计数器0的计数方式1进行定时计数特定时间内的脉冲数目来实现。通过单片机动态扫描显示RGB的值和检测颜色的模式。这样就可完成了颜色检测系统的设计。3实验论述3.1AT89S52单片机简介本系统采用ATMEL公司生产的AT89S52单片机作为微处理器。AT89S52与MCS-51系列单片机完全兼容,它采用静态时钟方式,可以大大节省耗电量。AT89S52是一个低电压

6、,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),功能强大的AT89S52单片机已经应用于较复杂的系统控制场合。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可按照常规方法进行编程,亦可在线编程。其将通用之微处理器及Flash存储器结合,特别是可反复擦写的FLASH存储器可有效降低开发成本。AT89C52及AT89S52之别,在于C及S, C表示需用并行编程器下载(接线多且复杂),S表

7、示可支持ISP下载,可在89S52系统板上面预留ISP下载接口,AT89S52引脚如图3.1所示,实物图如图3.2。 图3.1 S52单片机管脚图 图3.2 S52单片机实物图3.1.1 AT89S52的主要性能和参数(1)与MCS-51单片机完全兼容的指令和引脚排列以及工作特性。(2)片内程序存储器内含8K可重复擦写的Flash程序存储器。(3)片内数据存储器内含256字节的RAM。(4)3个可编程的16位计数器(定时器)和32个可编程I/O口线。(5)串行口是具有一个全双工的可编程的串行通信口。(6)中断系统是具有8个中断源、6个中断矢量、2个优先权的中断机构。(7)低功耗模式有空闲模式和

8、掉电模式。(8)编程频率是3-24MH,编程启动电流是1mA。(9)AT89S52的工作电压为5V。3.1.2 AT89S52的主要功能P0口8位漏极开路之双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。访问外部程序和数据存储器时,P0口亦被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在FLASH编程时,P0口亦用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需外部上拉电阻。P1口有内部上拉电阻的8位双向I/O 口,P1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时

9、可作输入口用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口用。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(IIL)。此外,P1.0及P1.2分别作定时器/计数器2之外部计数输入(P1.0/T2)及时器/计数器2之触发输入(P1.1/T2EX),详见表3.1所示。在flash编程及校验时,P1口接收低8位地址字节。 表3.1 P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(

10、在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口有内部上拉电阻的8 位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2口送出高八位地址。在这种应用中,P2口用很强的内部上拉发送1。在用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器之内容。在FLASH编程及校验时,P2口亦接收高8位地址字节及一些控制信号。 P3口

11、有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL 逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可用作输入口。作输入用时,被外部拉低的引脚因内部电阻之原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)用,如表3.2所示。在FLASH编程及校验时,P3口亦接收些控制信号。此外,P3口亦接收些用于FLASH闪存编程及程序校验的控制信号。表3.2 P3口的第二功能引脚第二功能引脚第二功能P3.0RXD(串行输入口)P3.4TO(定时/计数器0)P3.1TXD(串行输出口)P3.5T1(定时/计数器1)P3.2INTO(外中断0)P3.6WR(外部

12、数据存储器写选通)P3.3INT1(外中断1)P3.7RD(外部数据存储器读选通)RST复位输入。振荡器工作时,RST引脚有两个机器周期以上高电平将是单片机复位。 ALE/PROG访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般,ALE仍以时钟振荡频率的1/6输出固定之脉冲信号,故它可对外输出时钟或用于定时目的。需注意:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚亦用于输入编程脉冲(PROG)。若必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX及M

13、OVC指令方能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器之读选通信号,AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP外部访问允许,要CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端须保持低电平(接地)。需注意:若加密位LB1被编程,复位时内部会锁存EA端状态。若EA端为高电平(接Vcc端),CPU则执行内部程序存储器之指令。 FLASH存储器编程时,该引脚加上+1

14、2V的编程允许电源Vpp,当然这须是该器件是使用12V编程电压Vpp。XTAL1振荡器反相放大器及内部时钟发生电路之输入端。XTAL2振荡器反相放大器之输出端。3.2传感器TCS32003.2.1TCS3200芯片的结构框图与特点:TCS3200是TAOS公司推出的可编程彩色光到频率的转换器。它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器。TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接。由于输出的是数字量,并

15、且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单。图1是TCS230的引脚和功能框图。图3.1中,TCS3200采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管。这些二极管共分为四种类型。其中16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器;其余16个不带有任何滤波器,可以透过全部的光信息。这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。

16、工作时,通过两个可编程的引脚来动态选择所需要的滤波器。该传感器的典型输出频率范围从2 Hz500 kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS3200的输出频率和计数器相匹配。从图3.1可知:当入射光投射到TCS3200上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;还可以通过输出定标控制引脚S

17、0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。图3.1 TCS3200的引脚和功能框图下面简要介绍TCS3200芯片各个引脚的功能及它的一些组合选项。S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输入引脚时,也可以作为片选信号;OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压。表3-1是S0、S1及S2、S3的可用组合。表3-1 S0、S1及S2、S3的组合选项S0S1输出频率定标S2S3滤波器类型LL关断电源LL红色LH2%LH蓝色HL

18、20%HL无HH100%HH绿色TCS3200内部原理图3.2.2 TCS3200识别原理1). 色彩空间通常所看到的物体的颜色, 实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。任何一种颜色都可以用三种基本颜色按照不同的比例混合得到。这里介绍一种最典型的颜色模型,即RGB模型。如图3.2.1所示,在这个颜色模型中, 3个轴分别为R、G、B。原点对应的为黑色(0, 0, 0),离原点最远的顶点对应白色(255, 255, 255)。 由黑到白的灰度分布在从原点到最远顶点间的连线上, 正方体的其他六个角点分别为红、 黄、绿、青、蓝、和品

19、红。需要注意的一点是,RGB颜色模型所覆盖的颜色域取决于显示设备因光电的颜色特性。每一种颜色都有唯一的RGB值与它对应。图3.2.1 RGB颜色模型2). TCS230识别颜色的原理由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于TCS230来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其他原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其他的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个值,就可以分析投射到TCS230传感器上的光的颜色。3). 白平衡算法颜色

20、实际就是物体对光的反射或投射而表现出来在人眼中的反映, 而 TCS3200 就是通过分别检测一种颜色反映出来的光的红、绿、蓝分量, 通过把光强线性转换为频率信号, 量化出R、G、B值, 从而计算出颜色。值得注意的是, 不同的光线通过物体反映出来的光强是不同的, 而且非标准白光 (RGB三者不相等)在物体上反映出来的光强分量也是不同的。为解决这个问题,就要进行白平衡, 即首先测量出基准光源的RGB光强值, 再测量出在标准光源下物体所反映出的光强值,两者之比就是物体的反射(或透射)性质, 即物体的实际颜色, 如公式(1), (2), (3)。R=P物红/P源红 (1)G=P物绿/P源绿 (2)B=

21、P物蓝/P源蓝 (3)由于在 RGB 坐标下的颜色标准坐标为 0-255 之间,所以把所得结果乘以 255,即得到标准的 RGB 值。 透明物体直接测量光源的光强-频率值,不透明物体需要用白纸测量反射光源。在实际运用中,对于TCS230的光传感器来说,这里有两种方法来计算调整参数: 依次选通三种颜色的滤波器,然后对TCS230的输出脉冲依次进行计数。当计数到255时停止计数,分别计算每个通道所用的时间。这些时间对应于实际测试时TCS230每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G和B的值。 设置定时器为一固定时间(例如10 ms),然后选通三种颜色的滤波器,计算这

22、段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。3.3 传感器与单片机连接TCS3200是TAOS公司推出的可编程彩色光到频率的转换器,该传感器具有分辨率高、可变成的颜色选择与输出定标、单电源供电等特点;输出为数字量,可直接与微处理器连接。图3.3.1中用89C51的P1口的几个引脚来控制TCS230的各个引脚,而TCS230的输出引脚连接到89C51的定时器/计数器1的输入端(P35)。设置89C51定时器/计数器为相应的工作方式,

23、初始化89C51定时器为一个定值,再选择TCS3200的输出比例因子,并使能输出引脚。实际使用中,通过读取89C51计数器的值,就可以分别计算出TCS3200的3种输出频率,进而确定R、G、B值及颜色。相应的软件流程如图3.3.2所示。图3.3.1 TCS230颜色识别接口电路 在程序流程中:系统初始化负责设置89C51的定时器/计数器的工作方式,选择TCS230的输出比例因子,使能输出引脚以及通信参数的设置。初始化完成后,检测是否需要进行白平衡调整。如有,调整白平衡子程序;否则,转到下一步,检测是否需要进行颜色识别。如不需要颜色识别,返回;如需要颜色识别,调用颜色识别子程序,直到颜色识别完毕

24、。图3.3.2软件流程 3.4 LCD1602模块3.4.1液晶显示器简介液晶显示器简称LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特性显示信息的。液晶显示器具有体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中得到了日益广泛的应用。目前市场上常用的有16字*1行、16字*2行、20字*2行和40字*2行等的字符液晶显示模块。这些LCM虽然显示字符数各不相同,但是都具有相同的输入输出界面。此次课设使用的是16*2字符型液晶显示模块CA1602A。CA1602A采用标准的16脚接口,各引脚情况如下:第1脚:Vss,电源地第2脚:Vcc,+5v电源第3脚:Vo,液晶显示

25、偏压信号第4脚:RS,数据/命令选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。第5脚:RW:读/写选择端,高电平时进行读操作,低电平时进行写操作。但RS和RW共同为低电平时可以写入指令或者显示地址;当RS为低电平RW为高电平时可以读忙信号;当RS为高电平RW为低电平时可以写入数据。第6脚:E,使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7-14脚:D0-D7,为8位双向数据线。第15脚:A,背光源正极第16脚:K,背光源负极3.4.2 指令格式与指令功能总共有11条指令,它们的格式和功能如下表3.4:序号指令RSRWD7D6D5D4D3D2D1D01清显示0000000

26、0012光标返回 00000000013置输入模式00000001I/D04显示开/关控制0000001DCS5光标或字符移位000001S/CR/L*B6置功能00001DLNF*7置字符发生存储器地址0001字符发生存储器地址8置数据发生存储器地址001显示数据发生存储器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容表3.4 控制命令表3.4.3 LCD显示器的初始化LCD使用之前须对它进行初始化,初始化可以通过复位完成,也可以在复位后完成,初始化过程如下:1).清屏。2).功能设置。3).开/关显

27、示设置。4).输入方式设置。3.4.4 硬件电路连接在本设计中,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口是一个三态双向口,可作为地址/数据分时复用接口,也可作为通用的I/O接口。它由一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成。P0口作为I/O口输出的时候时 输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态)。也就是说P0 口不能真正的输出高电平,给

28、所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。P2口也是准双向口,它有两种用途:通用I/O接口和高8位地址线。与P1口相比,它只在输出驱动电路上比P1口多了一个模拟转换开关MUX和反相器。LCD1602与52单片机的具体连接方式如图3.4.4所示:图3.4.4 LCD1602与单片机的具体连接图3.4.5 LCD1602液晶显示模块软件设计本设计的LCD1602液晶显示模块主要是利用比较经典的LCD显示方法来进行设计的,即字符串的方式进行输出显示。流程图如图3.4.5所示。图3.4.5 LCD1602显示模块流程图3.5 系统结构图 色彩识

29、别系统是基于MCS-51系列单片机控制的基础上,添加了TCS230颜色传感器采集模块,TCS230驱动模块,四个白色LED补光模块,LCD1602液晶显示模块,在这些模块的基础上实现的色彩识别系统,色彩识别系统的设计如图3.5.1系统框架所示。电路图如3.5.2所示。图 3.5.1 系统框架图 3.5.2 系统电路图4 颜色识别系统测试4.1色彩识别的测试过程事物是随时间变化而运动变化的,由于本系统对软硬件关联性要求很高,其整个实验过程中间变化过程很复杂,一般仿真无法实现。本设计的测试过程很简单,具体操作如下:首先将开发板接通电源,将色彩纸板放平,其次把设计中的颜色采集模块放在待测的纸板上,放

30、正放平,最后用隔光较好的纸张或者盒子将颜色采集模块遮盖起来,然后用笔记录LCD显示的值,依次测量不同颜色的纸板并记录数据即可。 在测试过程中进行了多次的测量试验,记录的一些数据如下图4.1图4.1 测试数据4.2 颜色检测中的误差物体颜色信息十分广泛,颜色的确定需要色调、明度和饱和度三大要素或三原色(红绿蓝)的刺激值。影响颜色检测准确度的参数主要有:照射光、物体反射、光源方位、观测方位和传感器性能等,任何一个参数发生变化都会导致观察到的颜色发生变化。(1)光源的影响照射光包含有太阳光和外界杂散光,太阳照射角度、云层厚度和其它天气条件都会导致照射光发生变化,从而导致被测物体颜色发生变化。(2)

31、光源方位和观测方位的影响光源方位,也就是被测物体指向光源的法线方向,它决定了有多少太阳光或外界杂散光作为入射光。观测方位是指被测物体指向传感器的法线方向,它决定了反射到传感器中的光强。(3) 被测物表面反射状况的影响传感器探头与被测物之间的距离影响着输出信号,可能会造成不同颜色信号的交叉,形成测量误差,所以存在某一最佳距离对输出特性影响最小,以保证颜色与输出信号的一一对应关系。被测物表面的较明显凹凸区域也会给输出信号带来较大的误差。误差 结果实验次数 RGB光照强度光强第一次10112192第二次9811689 光弱第一次465653第二次385840方位影响正方向第一次2484238第二次2

32、553442侧方向第一次1438696第二次12396102表面反射影响反射强第一次12393104第二次11310696反射弱第一次665246第二次5461484.3测试结果分析通过上面的测试结果可以看出,如果被测物体的颜色中,红色成分比较多,那么在显示的输出结果中的R的值就大;同样的,如果绿色成分多,输出结果中的G的值就大,如果蓝色成分多,输出结果中的B的值就大。表格最后一列给出了这些颜色值对应的色彩图像,而表格的第一列给出了标准的色彩图像,可以看出,实际测得值与标准值之间还存在着一定的误差,这些误差产生的原因有很多,其中之一就是外界干扰光的存在,其次因为传感器芯片对光的敏感性不同,此外

33、可能的原因包括补光模块中的LED二极管发出的光不稳定,还可能因为物体对光的反射能力不同等等,所有的这些原因导致了在测量的过程中存在的误差在所难免,只有不断的改善,以达到减小误差的目的,所以本系统还有待更进一步的研究以改善整个系统。通过系统测试,验证了色彩识别系统的可行性,通过对纯白色、纯绿色、纯蓝色三个纸板的检测,验证了本系统的确可以完成预期的任务,实现系统功能,但是与其真实值之间还有一定的误差,这也是本系统的不完善之处,这也为以后的更完善的功能更强大的精确度更高的色彩识别系统打了一个结实的基础,为以后更好的完善和简化色彩识别系统做下了铺垫。5 课设总结这次课设我们就色彩识别系统的原理及实现做

34、了研究。现将本论文所做的主要工作内容总结如下:(1) 建立颜色识别系统的模型,推算出颜色识别的算法。(2) 介绍单片机等主要模块的功能及优势。(3) 对系统进行整体的软硬件设计。(4)编写程序计算RGB三种颜色值,然后进行测试实验,以验证论文中结论的准确性。总的来说,本论文是以AT89S52单片机为基础,利用TCS3200颜色传感器模块,LCD1602液晶显示模块实现色彩识别系统的设计,并进行了色彩识别的测试实验。其中,色彩识别的算法实现原理和各模块的实现是其中的重点。心得体会:通过本次的课程设计我们发现了很多不足,不论是理论知识方面还是实践方面都有一些问题。我们从态度上应该积极向上,主动发现

35、问题并且解决问题,克制遇到问题就气馁的坏习惯。而在理论的的知识方面,我们拥有编写代码的能力,但是却没有模块化的编写过程序,导致开始编写的时候代码混淆不清。在硬件电路的焊接中,虽然电路比较小,但是还是忽略了一些细节,或者因为线有些乱而接错了接口并且没有更好的布局。在制作或者设计中的时候我们总会犯各种各样的小错误,比如布局,接线,测设等等。但是总的来说还是还是学到了一些东西并且最终完成了课设。在此也多些老师的指导和培养,才让我们更快更好的完成设23参 考 文 献1 李朝青.单片机原理及接口技术M.北京航空航天大学出版社,2000.2 杨家国.单片机原理与应用及S52程序设计J.电子报,2009.3

36、 张松灿,肖本贤.高分辨率颜色传感器TCS3200的原理和应用D.合肥工业大学.2005.4 卢川英, 于浩成, 孙敬辉, 孟 中. 基于 TCS3200传感器的颜色检测系统J.吉林大学学报.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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论