颜色识别系统设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图3.1中,TCS3200采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管。这些二极管共分为四种类型。其中16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器;其余16个不带有任何滤波器,可以透过全部的光信息。这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。工作时,通过两个可编程的引脚来动态选择所需要的滤波器。该传感器的典型输出频率范围从2 Hz~500 kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS3200的输出频率和计数器相匹配。
图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口线。
1.2
此次课程设计是以色彩识别系统设计为目的,采用AT89S51单片机为核心,利用TCS3200颜色传感器和LCD1602建立起来的。文中给出整个系统的设计思路,包括,根据对三原色的感应原理和TCS3200颜色传感器识别颜色的原理的分析,设计出一个合适的可行的实验环境。其次,利用TCS3200颜色传感器,在合适的环境下,对被测物体进行检测,将测得的数据进行A/D转换,转化成数字量。最后,将转化后的数字量送到AT89S51单片机进行处理,得到被测物体所包含的RGB三原色的颜色值,之后利用LCD1602显示出来。
PSEN——程序储存允许(PSEN)输出是外部程序存储器之读选通信号,AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,要CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端须保持低电平(接地)。需注意:若加密位LB1被编程,复位时内部会锁存EA端状态。若EA端为高电平(接Vcc端),CPU则执行内部程序存储器之指令。
(5)串行口是具有一个全双工的可编程的串行通信口。
(6)中断系统是具有8个中断源、6个中断矢量、2个优先权的中断机构。
(7)低功耗模式有空闲模式和掉电模式。
(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”时,内部上拉电阻把端口拉高,此时可作输入口用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口用。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(IIL)。此外,P1.0及P1.2分别作定时器/计数器2之外部计数输入(P1.0/T2)及时器/计数器2之触发输入(P1.1/T2EX),详见表3.1所示。在flash编程及校验时,P1口接收低8位地址字节。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这须是该器件是使用12V编程电压Vpp。
XTAL1——振荡器反相放大器及内部时钟发生电路之输入端。
XTAL2——振荡器反相放大器之输出端。
3.2
3.2.1
TCS3200是TAOS公司推出的可编程彩色光到频率的转换器。它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器。TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接。由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单。图1是TCS230的引脚和功能框图。
从图3.1可知:当入射光投射到TCS3200上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;还可以通过输出定标控制引脚S0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。
这里介绍一种最典型的颜色模型,即RGB模型。如图3.2.1所示,在这个颜色模型中, 3个轴分别为R、G、B。原点对应的为黑色(0, 0, 0),离原点最远的顶点对应白色(255, 255, 255)。由黑到白的灰度分布在从原点到最远顶点间的连线上,正方体的其他六个角点分别为红、黄、绿、青、蓝、和品红。需要注意的一点是,RGB颜色模型所覆盖的颜色域取决于显示设备因光电的颜色特性。每一种颜色都有唯一的RGB值与它对应。
3实验论述
3.1
本系统采用ATMEL公司生产的AT89S52单片机作为微处理器。AT89S52与MCS-51系列单片机完全兼容,它采用静态时钟方式,可以大大节省耗电量。AT89S52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),功能强大的AT89S52单片机已经应用于较复杂的系统控制场合。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可按照常规方法进行编程,亦可在线编程。其将通用之微处理器及Flash存储器结合,特别是可反复擦写的FLASH存储器可有效降低开发成本。AT89C52及AT89S52之别,在于C及S,C表示需用并行编程器下载(接线多且复杂),S表示可支持ISP下载,可在89S52系统板上面预留ISP下载接口,AT89S52引脚如图3.1所示,实物图如图3.2。
表3.1P1口的第二功能
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口——有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口用很强的内部上拉发送1。在用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器之内容。在FLASH编程及校验时,P2口亦接收高8位地址字节及一些控制信号。
1.1
随着现代工业生产向高速化、自动化方向的发展,颜色识别广泛应用于各种工业检测和自动控制领域,而生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、篮滤光片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采样,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。而TCS3200颜色传感器是美国TAOS公司生产的一种可编程并且能实现彩色光到频率转换的转换器,比市面上见到的光转电压颜色检测仪器在性能上有更多的优势。TCS3200它对光的动态响应范围大,标准输出频率范围为2Hz~500kHz,TCS3200有两个可编程的引脚,使用者可以对100%、20%、2%或者是动力关闭模块的输出量程进行选择使用。TCS3200在不需要DCs系统的情况下,给每个彩色通道至少能提供10字节的分辨。TCS3200可以用于彩色打印机、医疗诊断、LED检测、液体颜色识别、电脑彩色监控标准、颜色产品加工控制、和油漆、纺织品、化装品及打印材料的彩色搭配等颜色检测产品。
ALE/PROG——访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般,ALE仍以时钟振荡频率的1/6输出固定之脉冲信号,故它可对外输出时钟或用于定时目的。需注意:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚亦用于输入编程脉冲(PROG)。若必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX及MOVC指令方能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
2方案设计
本次设计的要求包括硬件电路设计和软件编程的设计。由颜色识别与检测原理可知,设计硬件电路可包括单片机控制电路、TCS32000颜色采集、LCD显示三个部分,进而实现颜色的检测识别模式及RGB值。
软件编程设计方面,通过C语言设定不同的I/O口驱动显示,在基本R、G、B三基色的基础上设定不同的频率范围来鉴别不同的颜色,可采用定时器0的工作方式1和计数器0的计数方式1进行定时计数特定时间内的脉冲数目来实现。通过单片机动态扫描显示RGB的值和检测颜色的模式。这样就可完成了颜色检测系统的设计。
表3-1S0、S1及S2、S3的组合选项
S0
S1
输出频率定标
S2
S3
滤波器类型
L
L
关断电源
L
L
红色
L
H
2%
L
H
蓝色
H
L
20%
H
L

H
H
100%
H
H
绿色
TCS3200内部原理图
3.2.2
1).色彩空间
通常所看到的物体的颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。任何一种颜色都可以用三种基本颜色按照不同的比例混合得到。
表3.2P3口的第二功能
引脚
第二功能
引脚
第二功能
P3.0
RXD(串行输入口)
P3.4
TO(定时/计数器0)
P3.1Байду номын сангаас
TXD(串行输出口)
P3.5
T1(定时/计数器1)
P3.2
INTO(外中断0)
P3.6
WR(外部数据存储器写选通)
P3.3
INT1(外中断1)
P3.7
RD(外部数据存储器读选通)
RST——复位输入。振荡器工作时,RST引脚有两个机器周期以上高电平将是单片机复位。
P3口——有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可用作输入口。作输入用时,被外部拉低的引脚因内部电阻之原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)用,如表3.2所示。在FLASH编程及校验时,P3口亦接收些控制信号。此外,P3口亦接收些用于FLASH闪存编程及程序校验的控制信号。
图3.1TCS3200的引脚和功能框图
下面简要介绍TCS3200芯片各个引脚的功能及它的一些组合选项。
S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输入引脚时,也可以作为片选信号;OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压。表3-1是S0、S1及S2、S3的可用组合。
相关文档
最新文档