找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9043|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

TCS230 TCS3200顏色傳感器代碼與資料下載

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
TCS230 TCS3200 二者通用的
TCS230是TAOS公司推出的可編程彩色光到頻率的轉(zhuǎn)換器。它把可配置的硅光電二極管與電流頻率轉(zhuǎn)換器集成在一個(gè)單一的CMOS電路上,同時(shí)在單一芯片上集成了紅綠藍(lán)(RGB)三種濾光器,是業(yè)界第一個(gè)有數(shù)字兼容接口的RGB彩色傳感器。TCS230的輸出信號(hào)是數(shù)字量,可以驅(qū)動(dòng)標(biāo)準(zhǔn)的TTL或CMOS邏輯輸入,因此可直接與微處理器或其他邏輯電路相連接。由于輸出的是數(shù)字量,并且能夠?qū)崿F(xiàn)每個(gè)彩色信道10位以上的轉(zhuǎn)換精度,因而不再需要A/D轉(zhuǎn)換電路,使電路變得更簡(jiǎn)單。圖1是TCS230的引腳和功能框圖。

關(guān)于顏色傳感器模塊接線說明


單片機(jī)源程序如下:
  1. /************************************************
  2. 文件 : tcs230.c
  3. 描述 :TCS320顏色識(shí)別
  4. 編寫 : 朱林
  5. 目標(biāo)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比例系數(shù)***************************/
  18. /****************通過白平衡得出的時(shí)間比例系數(shù)*************/
  19. #define pred   12
  20. #define pgreen 8
  21. #define pblue  6

  22. int  disp_tc;  //計(jì)數(shù)標(biāo)志





  23. /***************************led測(cè)試 閃爍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. /***************************計(jì)數(shù)器初始化****************************/
  37. void t0_init()
  38.         {  
  39.             TMOD=0x51;//設(shè)置定時(shí)器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//定時(shí)器0 1ms中斷響應(yīng)
  50. {      
  51.         TR0=0;
  52.         TR1=0;
  53.         
  54.                 disp_tc=disp_tc+1; //計(jì)數(shù)值加一
  55.                 TH0=0xfc;
  56.             TL0=0x66+TL0;     //加定時(shí)器補(bǔ)償
  57.                                                 
  58.             TR0=1;
  59.             TR1=1;
  60.         
  61. }   

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

  65.   test_led();                        //測(cè)試led
  66.   delay_nms(80);                //延時(shí) 等待串口調(diào)試工具
  67.   LED=1;                                //打開led


  68.   s0=1; s1=1;
  69.   t0_init();
  70.   Time2_init();
  71.   while(1)
  72.    {                                //選擇藍(lán)色濾光
  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. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
DM-S28302 TCS230-DB 顏色傳感器教學(xué)套件.rar (1.93 MB, 下載次數(shù): 189)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:366622 發(fā)表于 2018-7-7 07:56 | 只看該作者
有完整的嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:390743 發(fā)表于 2018-8-28 18:15 | 只看該作者
非要充錢嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:191900 發(fā)表于 2018-9-26 16:19 | 只看該作者
你好,請(qǐng)問能檢測(cè),但為什么白平衡總是校不準(zhǔn),是什么原因?
回復(fù)

使用道具 舉報(bào)

5#
ID:440175 發(fā)表于 2019-2-25 16:21 | 只看該作者
xie xie lou zhu
回復(fù)

使用道具 舉報(bào)

6#
ID:280309 發(fā)表于 2019-3-2 10:35 | 只看該作者
現(xiàn)在學(xué)習(xí)了!
回復(fù)

使用道具 舉報(bào)

7#
ID:313055 發(fā)表于 2019-9-3 20:06 | 只看該作者
有stm32的嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表