《颜色识别系统设计说明文书》由会员分享,可在线阅读,更多相关《颜色识别系统设计说明文书(23页珍藏版)》请在金锄头文库上搜索。
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表示可支持I
7、SP下载,可在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(在系统编程用)P1.6MISO
10、(在系统编程用)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口有部上拉电阻的8位双向I/O口,p3输出
11、缓冲器能驱动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(外部数据存储器写选通)P3.3INT1(外中断1)
12、P3.7RD(外部数据存储器读选通)RST复位输入。振荡器工作时,RST引脚有两个机器周期以上高电平将是单片机复位。 ALE/PROG访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般,ALE仍以时钟振荡频率的1/6输出固定之脉冲信号,故它可对外输出时钟或用于定时目的。需注意:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚亦用于输入编程脉冲(PROG)。若必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX及MOVC指令方能将ALE激活。此外,该引脚会被微
13、弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器之读选通信号,AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP外部访问允许,要CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端须保持低电平(接地)。需注意:若加密位LB1被编程,复位时部会锁存EA端状态。若EA端为高电平(接Vcc端),CPU则执行部程序存储器之指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这须是该器件是使用1
14、2V编程电压Vpp。XTAL1振荡器反相放大器及部时钟发生电路之输入端。XTAL2振荡器反相放大器之输出端。3.2传感器TCS32003.2.1TCS3200芯片的结构框图与特点:TCS3200是TAOS公司推出的可编程彩色光到频率的转换器。它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器。TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接。由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再
15、需要A/D转换电路,使电路变得更简单。图1是TCS230的引脚和功能框图。图3.1中,TCS3200采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管。这些二极管共分为四种类型。其中16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器;其余16个不带有任何滤波器,可以透过全部的光信息。这些光电二极管在芯片是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。工作时,通过两个可编程的引脚来动态选择所需要的滤波器。该传感器的典型输出频率围从2 Hz500 kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。输出比例因子使传感器的输出能够适应不同的测量围,提高了它的适应能力。例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS3200的输出频率和计数器相匹配。从图3.1可知:当入射光投射到TCS3200上时,通过光电二极管控制引脚S2、