标题: TCS230 TCS3200颜色传感器代码与资料下载 [打印本页]

作者: 你爱吃大白菜    时间: 2017-8-1 16:05
标题: TCS230 TCS3200颜色传感器代码与资料下载
TCS230 TCS3200 二者通用的
TCS230是TAOS公司推出的可编程彩色光到频率的转换器。它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器。TCS230的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接。由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单。图1是TCS230的引脚和功能框图。

关于颜色传感器模块接线说明


单片机源程序如下:
  1. /************************************************
  2. 文件 : tcs230.c
  3. 描述 :TCS320颜色识别
  4. 编写 : 朱林
  5. 目标MCU:AT89S52
  6. 晶振:11.0592MHZ
  7. ************************************************/
  8. #include "uart2.h"
  9. #define        LED P1_3
  10.    
  11. sbit  s0   =   P2^1;     
  12. sbit  s1   =   P2^2;     
  13. sbit  s2   =   P2^3;   
  14. sbit  s3   =   P2^4;
  15.    

  16. long int  green=0,red=0,blue=0;        //RGB颜色初始化

  17. /**********************RGB比例系数***************************/
  18. /****************通过白平衡得出的时间比例系数*************/
  19. #define pred   12
  20. #define pgreen 8
  21. #define pblue  6

  22. int  disp_tc;  //计数标志





  23. /***************************led测试 闪烁3次****************************/
  24. void test_led()
  25. {
  26.         uchar i;
  27.         for(i=0;i<3;i++)
  28.         {
  29.                 LED=0;
  30.                 delay_nms(200);
  31.                 LED=1;
  32.                 delay_nms(200);
  33.         }
  34.         LED=0;
  35. }
  36. /***************************计数器初始化****************************/
  37. void t0_init()
  38.         {  
  39.             TMOD=0x51;//设置定时器0为工作方式一

  40.             TH0 =0xfc;
  41.             TL0 =0x66;//如果晶振是11.0592MHZ的话,误差是0.00017%
  42.             
  43.             EA=1;
  44.             ET0=1;
  45.             TR0=1;
  46.             TR1=1;
  47.         }

  48. /************************10ms中断子程序 *******************/
  49. void c1ms_out() interrupt 1//定时器0 1ms中断响应
  50. {      
  51.         TR0=0;
  52.         TR1=0;
  53.         
  54.                 disp_tc=disp_tc+1; //计数值加一
  55.                 TH0=0xfc;
  56.             TL0=0x66+TL0;     //加定时器补偿
  57.                                                 
  58.             TR0=1;
  59.             TR1=1;
  60.         
  61. }   

  62. /*****************************主控制程序****************************/
  63. void main()
  64. {

  65.   test_led();                        //测试led
  66.   delay_nms(80);                //延时 等待串口调试工具
  67.   LED=1;                                //打开led


  68.   s0=1; s1=1;
  69.   t0_init();
  70.   Time2_init();
  71.   while(1)
  72.    {                                //选择蓝色滤光
  73.                         disp_tc=0;
  74.                                                    s2=0;
  75.                                     s3=1;
  76.                                 while(disp_tc!=pblue);
  77.                                                  TR0=0;
  78.                                      TR1=0;
  79.                                                 blue=TH1*256+TL1;
  80.                                             TL1=0x00;
  81.                                         TH1=0x00;
  82.                                               disp_tc=0;
  83.                                                 TR0=1;
  84.                                         TR1=1;

  85.                                                 //选择绿色滤光
  86.                                      s2=1;
  87.                                      s3=1;
  88.                                                  while(disp_tc!=pgreen);
  89.                                                  TR0=0;
  90.                                      TR1=0;
  91.                                                  green=TH1*256+TL1;
  92.                                                  TL1=0x00;
  93.                                          TH1=0x00;
  94.                                                disp_tc=0;
  95.                                                  TR0=1;
  96.                                          TR1=1;
  97.                                     
  98.                                                  //选择红色滤光
  99.                                       s2=0;
  100.                                       s3=0;
  101.                                                   while(disp_tc!=pred);
  102.                                                   TR0=0;
  103. ……………………

  104. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
DM-S28302 TCS230-DB 颜色传感器教学套件.rar (1.93 MB, 下载次数: 189)



作者: yeqiang    时间: 2018-7-7 07:56
有完整的吗
作者: idy123    时间: 2018-8-28 18:15
非要充钱吗
作者: hubobo    时间: 2018-9-26 16:19
你好,请问能检测,但为什么白平衡总是校不准,是什么原因啊?
作者: xjc147896325    时间: 2019-2-25 16:21
xie xie lou zhu
作者: david826    时间: 2019-3-2 10:35
现在学习了!
作者: lyt110    时间: 2019-9-3 20:06
有stm32的吗





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1