单色图像识别单片机课程设计(5)

2019-05-24 14:24

单片机课程设计(论文)

2、1602显示器与单片机的连接

在本设计中,1602显示器与单片机的连接如下图3.8所示:Vss管脚接地,Vcc管脚接+5V电源,Vo管脚接地,RS管脚接P2.0管脚,RW管脚接P2.1管脚,E管脚接P2.7管脚,D0-D7管脚依次接P0.0-P0.7管脚,A管脚接+5V电源,K管脚接地。

P0.0~P0.7D0~D7 P2.751单片机 P2.1ELCD1602RW P2.0RS图3.8 1602显示与单片机连接图

3.3 TCS3200D颜色识别原理简介

TCS3200D识别颜色的原理:

由上面的介绍可知,这种可编程的彩色光到频率转换器适合于色度计测量应用领域,如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制和色彩配合。下面以TCS3200D在液体颜色识别中的应用为例,介绍它的具体使用。首先了解一些光与颜色的知识。

(1) 三原色的感应原理:

通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。

(2)TCS3200D识别颜色的原理:

由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于TCS3200D来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其他原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同时,选择其他的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个值,就可以分析投射到TCS3200D传感器上的光的颜色。

(3)白平衡和颜色识别原理:

白平衡就是告诉系统什么是白色。从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于TCS3200D的光传感器来

19

单片机课程设计(论文)

说,它对这三种基本色的敏感性是不相同的,导致TCS3200D的RGB输出并不相等,因此在测试前必须进行白平衡调整,使得TCS3200D对所检测的\白色\中的三原色是相等的。进行白平衡调整是为后续的颜色识别作准备。在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS3200D上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的3个调整参数。

当TCS3200D识别颜色时,就用这3个参数对所测颜色的R、G和B进行调整。这里有两种方法来计算调整参数:1、依次选通三颜色的滤波器,然后对TCS3200D的输出脉冲依次进行计数。当计数到255时停止计数,分别计算每个通道所用的时间,这些时间对应于实际测试时TCS3200D每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G和B的值。2、设置定时器为一固定时间 (例如10ms),然后选通三种颜色的滤波器,计算这段时间内TCS3200D的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,室外同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。

3.4液晶显示器各种图形显示的原理简介

线段的显示:

点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列, 每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和 显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显 示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H, (002H)=00H,??(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。

字符的显示:

用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和 显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个 字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。

汉字的显示:

汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提 取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5??右边为

20

单片机课程设计(论文)

2、4、6??根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节??直到32B显示完就可以LCD上 得到一个完整汉字。

3.5本章小结

本章主要介绍了TCS3200D颜色传感器和LCD1602液晶显示器的相应原理,以及它们与单片机的连接方式及相应的电路原理图,其中对TCS3200D颜色传感器的内部结构和各个管脚以及它们的功能作了详细介绍,另外对颜色传感器识别颜色的原理以及液晶显示器显示各种图形的原理进行了一定深度的介绍,为后面整个系统的具体设计提供了很好的帮助。

21

单片机课程设计(论文)

4 色彩识别器系统的设计与实现

4.1 系统结构框图

色彩识别系统是基于MCS-51系列单片机控制的基础上,添加了TCS3200D颜色传感器采集模块,TCS3200D驱动模块,四个白色LED补光模块,LCD1602液晶显示模块,在这些模块的基础上实现的色彩识别系统,色彩识别系统的设计如图4.1系统框架所示。

TCS230驱动模块MC-51系列单片机TCS230颜色采集LCD1602液晶显示模块四个白色LED补光模块图 4.1 系统框架

4.2 TCS3200D驱动模块

TCS3200D采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管,这些二极管分为四种类型,其16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。

本模块主要包括TCS3200D初始化、定时器初始化和颜色采集,具体程序如下: void TCS3200DInital(void) { }

void TimerInital(void) { }

TCCR1A=0x00; TCCR1B=0x06; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00;ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR= 0x00; TCCR2 = 0x07; TCNT2 = 0xb7; OCR2= 0x00; TIMSK=0x40; DDRC= DDRC|0x0f;PORTC = PORTC|0x0f; PORTC = PORTC|0x20; DDRC= DDRC|0x20;

PORTC = PORTC&0xdf;TCS3200DMode(FrequencyMode,PhotoDiodeMode);

22

单片机课程设计(论文)

unsigned char TCS3200DMode(unsigned char FOutMode,unsigned char PhotoType) { }

if( FOutMode == F_POWERDOWN) {

PORTC = PORTC & 0xfc; } else if(FOutMode == F_100_2) { { { {

PORTD = PORTD & 0xfe;PORTD = PORTD | 0x02;} PORTD = PORTD & 0xfd;PORTD = PORTD | 0x01;} PORTD = PORTD | 0x03; } return 1; }

FrequencyMode = FOutMode; if(PhotoType==PH_RED) {PORTD = PORTD & 0xf3; } else if(PhotoType==PH_CLEAR) { { { {

return 2; }

PhotoDiodeMode=PhotoType; return 0;

PORTC = PORTC & 0xf7;PORTC = PORTC | 0x04; PORTC = PORTC & 0xfb;PORTC = PORTC | 0x08; PORTC = PORTC | 0x0c;

}

} }

else if(PhotoType==PH_BLUE) else if(PhotoType==PH_GREEN) else

else if(FOutMode == F_100_20) else if(FOutMode == F_100_100) else

4.3 TCS3200D颜色采集模块的设计

4.3.1 TCS3200D颜色采集模块与51单片机的接口

本设计中,TCS3200D模块主要与51单片机的P1口和P3口连接。P1口是准双向口,它只能作通用I/O接口使用。P1口的输出只由一个场效应管与内部上拉电阻组成。其输入输出原理特性与P0口作为通用I/O接口使用时一样,当其输出时,可以提供电流负载,不必像P0口那样需要外接上拉电阻。P1口具有驱动4个LSTTL负载的能力。

23


单色图像识别单片机课程设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于开展乡(镇)村干部轮训的通知

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: