基于TCS230颜色传感器的色彩识别器的设计 2_第1页
基于TCS230颜色传感器的色彩识别器的设计 2_第2页
基于TCS230颜色传感器的色彩识别器的设计 2_第3页
基于TCS230颜色传感器的色彩识别器的设计 2_第4页
基于TCS230颜色传感器的色彩识别器的设计 2_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

徐州工程学院毕业设计 论文 I 2 颜色识别及颜色传感器技术介绍 2 1 色彩识别 正如我们所知道的那样 色彩实际上是频率连续的电磁波 理论上色彩是无限的 但是人们能分辨的色彩是有限的 而且存在着个体差异 专业人士在设计一个色彩识别 系统的时候 会很仔细地以 5 甚至更小的区别来仔细调整色彩之间的比值 当这些类似 色并排在一起时 即使是没有经过训练的普通人 除了色盲意外 都能够看出它们之间 的区别 但是当一个色彩识别系统被确定并且单独展现时 普通人是无法区别出这 5 什 么更大的差异的 因此大多数人会简单的将他们所看到的某个色彩归类到他们能用简单 语言描述的一类颜色 比如红 黄 白 或在这个基础上加以设当的区分 比如橘黄 有点发白的橘黄等 这种普通人感知的色彩可以被看作围绕着一个核心色的一个一个的 区间 在这个区间中的所有颜色在色彩识别的时候 都会被看作是一种色彩 初中同一 色彩识别区间的所有色彩尽管值不一样 但是对于受众而言是一样的 2 2 色彩识别算法 2 2 1 色彩识别的应用 在现今的工业化社会中 色彩识别被广泛的应用于各行各业之中 如 各种物体表 面颜色识别 产品包装色标检测 产品外表特征颜色的检测 液体溶液颜色变化过程的 检测与控制 等等 又如 图书馆使用颜色区分对文献进行分类 能够极大的提高排架 管理和统计等工作 在包装行业 产品包装利用不同的颜色或装磺来表示其不同的性质 或用途 在品牌的形象设计和品牌推广的竞争中 色彩系统是一个比较重要的部分 设 计师都会花费大量的时间细致地调整不同色彩搭配之间的组合关系 以达到更好的视觉 效果 2 2 2 色彩识别一般算法 1 色彩空间 通常所看到的物体的颜色 实际上是物体表面吸收了照射到它上面的白光 日光 中 的一部分有色成分 而反射出的另一部分有色光在人眼中的反应 任何一种颜色都可以用 三种基本颜色按照不同的比例混合得到 这里介绍一种最典型的颜色模型 即 RGB 模型 如图 2 1 所示 在这个颜色模型中 3 徐州工程学院毕业设计 论文 II 个轴分别为 R G B 原点对应的为黑色 0 0 0 离原点最远的顶点对应白色 255 255 255 由黑到白的灰度分布在从原点到最远顶点间的连线上 正方体的其他六个角点分 别为红 黄 绿 青 蓝 和品红 需要注意的一点是 RGB 颜色模型所覆盖的颜色域 取决于显示设备因光电的颜色特性 每一种颜色都有唯一的 RGB 值与它对应 R 红 B 蓝 G 绿 品红 白 青 黑 黄 图 2 1 RGB 颜色模型 2 白平衡算法 颜色实际就是物体对光的反射或投射而表现出来在人眼中的反映 而 TCS230 就是 通过分别检测一种颜色反映出来的光的红 绿 蓝分量 通过把光强线性转换为频率信 号 量化出 R G B 值 从而计算出颜色 值得注意的是 不同的光线通过物体反映出 来的光强是不同的 而且非标准白光 RGB 三者不相等 在物体上反映出来的光强分量也 是不同的 为解决这个问题 就要进行白平衡 即首先测量出基准光源的 RGB 光强值 再测量 出在标准光源下物体所反映出的光强值 两者之比就是物体的反射 或透射 性质 即物体 的实际颜色 如公式 1 2 3 R P 物红 P 源红 1 G P 物绿 P 源绿 2 B P 物蓝 P 源蓝 3 由于在 RGB 坐标下的颜色标准坐标为 0 255 之间 所以把所得结果乘以 255 即得 到标准的 RGB 值 透明物体直接测量光源的光强 频率值 不透明物体需要用白纸测量 徐州工程学院毕业设计 论文 III 反射光源 3 基于 TCS230 的设计 3 1 MCS 51 单片机简介 MCS 51 系列单片机是美国 Intel 公司在 1980 年推出的高性能 8 位单片机 它包含 51 和 52 两个子系列 对于 51 子系列 主要有 8031 8051 8751 三种机型 它们的指令系统与芯片引脚 完全兼容 仅片内程序存储器有所不同 8031 芯片不带 ROM 8051 芯片待 4KB 的 ROM 8751 芯片待 4KB 的 EPROM 51 子系列单片机的主要特点为 4k 8k 字节程序存储器 128 256 字节数据存储器 32 条 I O 口线 111 条指令 其中大多数是单字节指令 21 个专用寄存器 2 个可编程定时 计数器 5 个中断源 2 个优先级 一个全双工串行通信口 外部数据存储器寻址空间为 64k 字节 外部程序存储器寻址空间 64k 字节 逻辑操作位寻址功能 MCS 51 系列单片机应用十分广泛 各种教材和应用资料也很多 尽管 INTEL 公司本 身没有在品种和功能上对 MCS 51 系列单片机作进一步的扩展 但是由于 lNTEL 公司开放 了 MCS 51 系列单片机的核心技术 加之 51 系列单片机已经成为 8 位通用单片机的公认 标准 因此 许多著名的半导体生产厂家 如 Atmel Philips Cygnal Dallas 等纷纷推 出以 80C51 为基核的各具特色 性能优异 功能强大的单片机 形成了庞大的 80C51 系 列单片机家族 为熟悉 51 系列单片机的人们提供了最广泛的选择空间 也为 51 系列单 片机注入了勃勃的生机 徐州工程学院毕业设计 论文 IV 图 3 1 C51 单片机管脚图 图 3 2 C51 单片机实物图 3 2 颜色传感器及硬件电路的连接 3 2 1 颜色传感器 TCS230 芯片的结构框图与特点 TCS230 是 TAOS 公司推出的可编程彩色光到频率的转换器 它把可配置的硅光电二 极管与电流频率转换器集成在一个单一的 CMOS 电路上 同时在单一芯片上集成了红绿 蓝 RGB 三种滤光器 是业界第一个有数字兼容接口的 RGB 彩色传感器 TCS230 的 输出信号是数字量 可以驱动标准的 TTL 或 CMOS 逻辑输入 因此可直接与微处理器或 其他逻辑电路相连接 由于输出的是数字量 并且能够实现每个彩色信道 10 位以上的转 换精度 因而不再需要 A D 转换电路 使电路变得更简单 图 3 3 是 TCS230 的引脚和功 能框图 徐州工程学院毕业设计 论文 V S0 S3 S1 S2 OE OUT GND Vcc 1 2 3 45 6 7 8 TCS230 光电二极管阵 列 电流 频率转 换器 S2S3S0S1OE 输出 图 3 3 TCS230 的引脚和功能图 图 3 3 中 TCS230 采用 8 引脚的 SOIC 表面贴装式封装 在单一芯片上集成有 64 个 光电二极管 这些二极管分为四种类型 其 16 个光电二极管带有红色滤波器 16 个光电 二极管带有绿色滤波器 16 个光电二极管带有蓝色滤波器 其余 16 个不带有任何滤波器 可以透过全部的光信息 这些光电二极管在芯片内是交叉排列的 能够最大限度地减少 入射光辐射的不均匀性 从而增加颜色识别的精确度 另一方面 相同颜色的 16 个光电 二极管是并联连接的 均匀分布在二极管阵列中 可以消除颜色的位置误差 工作时 通过两个可编程的引脚来动态选择所需要的滤波器 该传感器的典型输出频率范围从 2Hz 500kHz 用户还可以通过两个可编程引脚来选择 100 20 或 2 的输出比例因 子 或电源关断模式 输出比例因子使传感器的输出能够适应不同的测量范围 提高了 它的适应能力 例如 当使用低速的频率计数器时 就可以选择小的定标值 使 TCS230 的输出频率和计数器相匹配 从图 3 3 可知 当入射光投射到 TCS230 上时 通过光电二极管控制引脚 S2 S3 的 不同组合 可以选择不同的滤波器 经过电流到频率转换器后输出不同频率的方波 占 空比是 50 不同的颜色和光强对应不同频率的方波 还可以通过输出定标控制引脚 S0 S1 选择不同的输出比例因子 对输出频率范围进行调整 以适应不同的需求 下面简要介绍 TCS230 芯片各个引脚的功能及它的一些组合选项 S0 S1 用于选择输出比例因子或电源关断模式 S2 S3 用于选择滤波器的类型 OE 反是频率输出使能引脚 可以控制输出的状态 当有多个芯片引脚共用微处理器的输 出引脚时 也可以作为片选信号 OUT 是频率输出引脚 GND 是芯片的接地引脚 VCC 为芯片提供工作电压 表 3 1 是 S0 S1 及 S2 S3 的可用组合 徐州工程学院毕业设计 论文 VI 表 3 1 S0 S1 及 S2 S3 的组合选项 S0S1输出频率定标S2S3滤波器类型 LL关断电源LL红色 LH2 LH蓝色 HL20 HL无 HH100 HH绿色 3 2 2 TCS230 颜色传感器与 51 单片机的连接 TCS230 是 TAOS 公司推出的可编程彩色光到频率的转换器 该传感器具有分辨率高 可变成的颜色选择与输出定标 单电源供电等特点 输出为数字量 可直接与微处理器 连接 图 3 4 为 TCS230 颜色传感器的实物图 图 3 4 TCS230 颜色传感器实物管脚图 徐州工程学院毕业设计 论文 VII S0 S1 E S2 S3 OUT P1 0 P1 1 P1 2 P1 6 P1 7 P3 2 TCS23051单片机 图 3 5 TCS230 与单片机的连接图 3 2 3 LCD1602 与 51 单片机的连接 1 液晶显示器简介 液晶显示器简称 LCD 显示器 它是利用液晶经过处理后能改变光线的传输方向的特 性显示信息的 液晶显示器具有体积小 重量轻 功耗极低 显示内容丰富等特点 在 单片机应用系统中得到了日益广泛的应用 液晶显示器按其功能可分为三类 笔段式液 晶显示器 字符点阵式液晶显示器和图形点阵式液晶显示器 前两种可显示数字 字符 和符号等 而图形点阵式液晶显示器还可以显示汉字和任意图形 达到图文并茂的效果 字符型液晶显示器模块是一种专门用于显示字母 数字 符号等的点阵式液晶显示 模块 它是由若干个 5 7 或 5 11 等点阵符位组成的 每一个点阵字符位都可以显示一个 字符 点阵字符位之间有一定点距的间隔 这样就起到了字符间距和行距的作用 要使用点阵型 LCD 显示器 必须有相应的 LCD 控制器 驱动器来对 LCD 显示器进 行扫描 驱动 以及一定空间的 ROM 和 RAM 来存储写入的命令和显示字符的点阵 现 在往往将 LCD 控制器 驱动器 RAM ROM 和 LCD 显示器连接在一起 称为液晶显示 模块 LCM 使用时只要向 LCM 送入相应的命令和数据就可以实现显示所需的信息 目前市场上常用的有 16 字 1 行 16 字 2 行 20 字 2 行和 40 字 2 行等的字符液晶 显示模块 这些 LCM 虽然显示字符数各不相同 但是都具有相同的输入输出界面 本文 将介绍 16 2 字符型液晶显示模块 CA1602A 的应用 1 字符型液晶显示模块 CA1602A 的外观与引脚 CA1602A 字符型液晶显示模块是 2 行 16 字的 5 7 点阵图形字符的液晶显示器 它的 徐州工程学院毕业设计 论文 VIII 外观形状如图 3 6 图 3 6 CA1602A 的外观 CA1602A 采用标准的 16 脚接口 各引脚情况如下 第 1 脚 Vss 电源地 第 2 脚 Vcc 5v 电源 第 3 脚 Vo 液晶显示偏压信号 第 4 脚 RS 数据 命令选择端 高电平时选择数据寄存器 低电平时选择指令寄存 器 第 5 脚 RW 读 写选择端 高电平时进行读操作 低电平时进行写操作 但 RS 和 RW 共同为低电平时可以写入指令或者显示地址 当 RS 为低电平 RW 为高电平时可以读 忙信号 当 RS 为高电平 RW 为低电平时可以写入数据 第 6 脚 E 使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 脚 A 背光源正极 第 16 脚 K 背光源负极 2 指令格式与指令功能 LCD 控制器 HD44780 内有多个寄存器 通过 RS 和 RW 引脚共同决定选择哪一个寄 存器 选择情况见表 3 2 表 3 2 HD44780 内部寄存器选择表 RSRW寄存器及操作 徐州工程学院毕业设计 论文 IX 00指令寄存器写入 01忙标志和地址计数器读出 10数据寄存器写入 11数据寄存器读出 总共有 11 条指令 它们的格式和功能如下表 3 3 表 3 3 控制命令表 序号指令RSRWD7D6D5D4D3D2D1D0 1清显示0000000001 2光标返回000000001 3置输入模式00000001I DS 4显示开 关控制0000001DCB 5光标或字符移位000001S CR L 6置功能00001DLNF 7置字符发生存储器地址0001字符发生存储器地址 8置数据发生存储器地址001显示数据发生存储器地址 9读忙标志或地址01BF计数器地址 10写数到 CGRAM或 DDRAM 10要写的数据内容 11从 CGRAM 或 DDRAM 读数11读出的数据内容 液晶显示模块是一个慢显示器件 所以在执行每条指令之前一定要确认模块的忙标 志为低电平 表示不忙 否则此指令失效 要显示字符时要先输入显示字符地址 也就 是告诉模块在哪里显示字符 图 3 7 是 1602 的内部显示地址 徐州工程学院毕业设计 论文 X 图 3 7 1602 的内部显示地址 1602 液晶模块内部的字符发生存储器 CGROM 已经存储了 160 个不同的点阵字符 图形 这些字符有 阿拉伯数字 英文字母的大 小写 常用的符号 和日文假名等 每 一个字符都有一个固定的代码 比如大写的英文字母 A 的代码是 01000001B 41H 显示时模块把地址 41H 中的点阵字符图形显示出来 我们就能看到字母 A 3 LCD 显示器的初始化 LCD 使用之前须对它进行初始化 初始化可以通过复位完成 也可以在复位后完成 初始化过程如下 1 清屏 2 功能设置 3 开 关显示设置 4 输入方式设置 2 1602 显示器与单片机的连接 在本设计中 1602 显示器与单片机的连接如下图 3 8 所示 徐州工程学院毕业设计 论文 XI P0 0 P0 7 P2 7 P2 1 P2 0 D0 D7 E RW RS 51单片机 LCD1602 图 3 8 1602 显示与单片机连接图 3 3 TCS230 颜色识别原理简介 TCS230 识别颜色的原理 由上面的介绍可知 这种可编程的彩色光到频率转换器适合于色度计测量应用领域 如彩色打印 医疗诊断 计算机彩色监视器校准以及油漆 纺织品 化妆品和印刷材料 的过程控制和色彩配合 下面以 TCS230 在液体颜色识别中的应用为例 介绍它的具体使 用 首先了解一些光与颜色的知识 1 三原色的感应原理 通常所看到的物体颜色 实际上是物体表面吸收了照射到它上面的白光 日光 中 的一部分有色成分 而反射出的另一部分有色光在人眼中的反应 白色是由各种频率的 可见光混合在一起构成的 也就是说白光中包含着各种颜色的色光 如红 R 黄 Y 绿 G 青 V 蓝 B 紫 P 根据德国物理学家赫姆霍兹 Helinholtz 的三原色理论可知 各种颜色是由不同比例的三原色 红 绿 蓝 混合而成的 2 TCS230 识别颜色的原理 由三原色感应原理可知 如果知道构成各种颜色的三原色的值 就能够知道所测试 物体的颜色 对于 TCS230 来说 当选定一个颜色滤波器时 它只允许某种特定的原色通 过 阻止其他原色的通过 例如 当选择红色滤波器时 入射光中只有红色可以通过 蓝色和绿色都被阻止 这样就可以得到红色光的光强 同时 选择其他的滤波器 就可 以得到蓝色光和绿色光的光强 通过这三个值 就可以分析投射到 TCS230 传感器上的光 的颜色 3 白平衡和颜色识别原理 徐州工程学院毕业设计 论文 XII 白平衡就是告诉系统什么是白色 从理论上讲 白色是由等量的红色 绿色和蓝色 混合而成的 但实际上 白色中的三原色并不完全相等 并且对于 TCS230 的光传感器来 说 它对这三种基本色的敏感性是不相同的 导致 TCS230 的 RGB 输出并不相等 因此 在测试前必须进行白平衡调整 使得 TCS230 对所检测的 白色 中的三原色是相等的 进 行白平衡调整是为后续的颜色识别作准备 在本装置中 白平衡调整的具体步骤和方法 如下 将空的试管放置在传感器的上方 试管的上方放置一个白色的光源 使入射光能 够穿过试管照射到 TCS230 上 根据前面所介绍的方法 依次选通红色 绿色和蓝色滤波 器 分别测得红色 绿色和蓝色的值 然后就可计算出需要的 3 个调整参数 当 TCS230 识别颜色时 就用这 3 个参数对所测颜色的 R G 和 B 进行调整 这里有 两种方法来计算调整参数 1 依次选通三颜色的滤波器 然后对 TCS230 的输出脉冲依 次进行计数 当计数到 255 时停止计数 分别计算每个通道所用的时间 这些时间对应 于实际测试时 TCS230 每种滤波器所采用的时间基准 在这段时间内所测得的脉冲数就是 所对应的 R G 和 B 的值 2 设置定时器为一固定时间 例如 10ms 然后选通三种 颜色的滤波器 计算这段时间内 TCS230 的输出脉冲数 计算出一个比例因子 通过这个 比例因子可以把这些脉冲数变为 255 在实际测试时 室外同样的时间进行计数 把测得 的脉冲数再乘以求得的比例因子 然后就可以得到所对应的 R G 和 B 的值 徐州工程学院毕业设计 论文 XIII 4 色彩识别器系统的设计与实现 4 1 系统结构框图 色彩识别系统是基于 MCS 51 系列单片机控制的基础上 添加了 TCS230 颜色传感器 采集模块 TCS230 驱动模块 四个白色 LED 补光模块 LCD1602 液晶显示模块 在这 些模块的基础上实现的色彩识别系统 色彩识别系统的设计如图 4 1 系统框架所示 MC 51系列 单片机 TCS230颜色采集 TCS230驱动模块 四个白色LED补光模块 LCD1602液晶显示模块 图 4 1 系统框架 图 4 2 色彩识别系统实物图 4 2 TCS230 驱动模块 TCS230 采用 8 引脚的 SOIC 表面贴装式封装 在单一芯片上集成有 64 个光电二极管 这些二极管分为四种类型 其 16 个光电二极管带有红色滤波器 16 个光电二极管带有绿 色滤波器 16 个光电二极管带有蓝色滤波器 其余 16 个不带有任何滤波器 可以透过全 部的光信息 这些光电二极管在芯片内是交叉排列的 能够最大限度地减少入射光辐射 的不均匀性 从而增加颜色识别的精确度 另一方面 相同颜色的 16 个光电二极管是并 联连接的 均匀分布在二极管阵列中 可以消除颜色的位置误差 本模块主要包括 TCS230 初始化 定时器初始化和颜色采集 具体程序如下 void TCS230Inital void DDRC DDRC 0 x0f PORTC PORTC 0 x0f PORTC PORTC 0 x20 DDRC DDRC 0 x20 PORTC PORTCTCS230Mode FrequencyMode PhotoDiodeMode 徐州工程学院毕业设计 论文 XIV void TimerInital void TCCR1A 0 x00 TCCR1B 0 x06 TCNT1H 0 x00 TCNT1L 0 x00 ICR1H 0 x00 ICR1L 0 x00 OCR1AH 0 x00 OCR1AL 0 x00 OCR1BH 0 x00 OCR1BL 0 x00 ASSR 0 x00 TCCR2 0 x07 TCNT2 0 xb7 OCR2 0 x00 TIMSK 0 x40 unsigned char TCS230Mode unsigned char FOutMode unsigned char PhotoType if FOutMode F POWERDOWN PORTC PORTC else if FOutMode F 100 2 PORTD PORTD PORTD PORTD 0 x02 else if FOutMode F 100 20 PORTD PORTD PORTD PORTD 0 x01 else if FOutMode F 100 100 PORTD PORTD 0 x03 else return 1 FrequencyMode FOutMode if PhotoType PH RED PORTD PORTD else if PhotoType PH CLEAR 徐州工程学院毕业设计 论文 XV PORTC PORTC PORTC PORTC 0 x04 else if PhotoType PH BLUE PORTC PORTC PORTC PORTC 0 x08 else if PhotoType PH GREEN PORTC PORTC 0 x0c else return 2 PhotoDiodeMode PhotoType return 0 4 3 TCS230 颜色采集模块的设计 4 3 1 TCS230颜色采集模块与51单片机的接口 本设计中 TCS230 模块主要与 51 单片机的 P1 口和 P3 口连接 P1 口是准双向口 它只能作通用 I O 接口使用 P1 口的输出只由一个场效应管与内部上拉电阻组成 其输 入输出原理特性与 P0 口作为通用 I O 接口使用时一样 当其输出时 可以提供电流负载 不必像 P0 口那样需要外接上拉电阻 P1 口具有驱动 4 个 LSTTL 负载的能力 TCS230 颜色传感器与 51 单片机具体的连接方式如图 4 3 所示 4 3 2 TCS230 颜色采集模块的软件设计 本设计的 TCS230 颜色采集模块主要是利用定时器 计数器 T0 和外部中断 INT0 来实 现的 流程图 4 4 所示 徐州工程学院毕业设计 论文 XVI P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RST Vpd 9 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 6 RD 17 XTAL1 18 XTAL2 19 Vss 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE PROG 30 EA Vpp 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 Vcc 40 U1 AT89S51 S0 1 S1 2 OE 3 GND 4 Vcc 5v 5 OUT 6 S2 7 S3 8 TCS230 A1 GND VCC 图 4 3 TCS230 与 51 的连接图 定时器初始化 定时时间到外部中断计数 外部脉冲信号 输出频率值 否 是 图 4 4 颜色采集模块软件流程图 1 定时器 计数器 MCS 51 系列中 51 子系列有两个 16 位的可编程定时 计数器 定时 计数器 T0 和定时 计数器 T1 52 子系列有三个 比 51 子系列多一个定时 计数器 T2 每个定时 计数器都有多种工作方式 其中 T0 有四种工作方式 T1 有三种工作方式 T2 有三种工作方式 通过编程可设定工作于某种方式 在本设计中 设置 T0 的工作方式为方式 0 定时 1ms 赋初值为 TH0 0 xe0 TL0 0 x18 在定时器 计数器 T0 中断函数 void timer0 void 中重新给定时器 徐州工程学院毕业设计 论文 XVII 计数器 T0 赋初值 并且设定了一个变量 lck 用来计数定时器 计数器 T0 中断的次数 当变量 lck 达到 1000 时 表明定时了一秒钟 而外部中断 0 的中断函数 void int0 void 中 定义的变量 dispcount 在定时一秒时间达到时候的值就是此时所选择的某种颜色通道的频 率值 具体程序如下 void initTimer void 定时器初值 1ms TMOD 0 x0 TH0 0 xe0 TL0 0 x18 void timer0 void interrupt 1 定时 1 秒 每一秒中断一次 所记得数就是频率 TH0 0 xe0 TL0 0 x18 lck if lck 1000 disp dispcount lck 0 dispcount 0 2 MCS 51 单片机提供 5 个硬件中断源 2 个外部中断源 INT0 和 INT1 2 个定时器 计数器 T0 和 T1 的溢出中断 TF0 和 TF1 本设计中采用外部中断请求 INT0 来接收传感器的输出值 TCS230 颜色传感器的 OUT 输出端与外部中断 INT0 P3 2 管脚相连接 在外部中断 INT0 的中断函数 void int0 void 中定义了一个变量 dispcount 当接收一个脉冲信号时 dispcount 就会加 1 在 定时 计数器 T0 设定的一秒时间内所累计的数值就是频率 具体程序如下 void int0 void interrupt 0 外部中断 0 TCS230 的 OUT 端口接到 INT0 端口 dispcount 每一次中断 计数加一 3 RGB 三种色彩通道采集 void red 红色通道 徐州工程学院毕业设计 论文 XVIII P1 0 x01 delay1ms 1100 date disp 100 date 255 0 153 date 153 是在纯白情况下测得的红色通道频率值 void green 绿色通道 P1 0 xc1 delay1ms 1100 date disp 100 date 255 0 145 date 145 是在纯白情况下测得的绿色通道频率值 void blue 蓝色通道 P1 0 x81 delay1ms 1100 date disp 100 date 255 0 183 date 183 是在纯白情况下测得的蓝色通道频率值 4 4 4 个白色 LED 补光模块的设计 因为本设计的 TCS230 颜色采集模块需要在密闭的环境下实现 所以需要另外添加一 个稳定的光源 本模块主要是用 4 个白色的 LED 光 照在待检测的物体上 然后反射到 TCS230 颜色传感器上 达到合适的光强的目的 电路图设计如图 4 5 所示 4 5 LCD1602 液晶显示模块 4 5 1 LCD1602液晶显示模块硬件设计 本设计中的 LCD1602 液晶显示模块主要是和 MCS 51 单片机的 P0 口和 P2 口连接的 P0 口是一个三态双向口 可作为地址 数据分时复用接口 也可作为通用的 I O 接口 它 由一个输出锁存器 两个三态缓冲器 输出驱动电路和输出控制电路组成 P2 口也是准双向口 它有两种用途 通用 I O 接口和高 8 位地址线 与 P1 口相比 它只在输出驱动电路上比 P1 口多了一个模拟转换开关 MUX 和反相器 徐州工程学院毕业设计 论文 XIX LCD1602 与 51 单片机的具体连接方式如图 4 6 所示 S0 1 S1 2 OE 3 GND 4 Vcc 5v 5 OUT 6 S2 7 S3 8 TCS230 A1 R1 200 R2 200 R3 200 R4 200 DS1DS2DS3DS4 C1 104 C2 104 C3 104 C4 104 VCC 图 4 5 白色 LED 补光模块电路图 4 5 2 LCD1602液晶显示模块软件设计 徐州工程学院毕业设计 论文 XX P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RST Vpd 9 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 6 RD 17 XTAL1 18 XTAL2 19 Vss 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE PROG 30 EA Vpp 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 Vcc 40 U1 AT89S51 GND 1 Vcc 2 Vo 3 RS 4 RW 5 E 6 D0 7 D1 8 D2 9 D3 10 D4 11 D5 12 D6 13 D7 14 A 15 K 16 U1 LCD1602 5 5 图 4 6 LCD1602 与 51 单片机的具体连接图 整型数转化成字符型数组 LCD1602初始化和清屏 设定光标显示位置 以字符串方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论