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

QQ登錄

只需一步,快速開(kāi)始

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

TCS34725顏色傳感器 IIC通訊51單片機(jī)演示代碼(STM32 Arduino demo)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:117454 發(fā)表于 2021-1-8 10:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
買了一塊TCS34725的顏色傳感器回來(lái),只有STM32和ARDUINO的演示代碼,讓自己感到了尷尬。一直再用STC12C5A60S2的單片機(jī),所以將τ 寶客服給的代碼改了下,經(jīng)過(guò)調(diào)試 可以直接使用串口讀取RGB和HSL值。希望幫助到大家

單片機(jī)源程序如下:
  1. #include <stc12c5a60s2.h>
  2. #include <stdio.h>
  3. #include "iic.h"

  4. #define uint unsigned int

  5. COLOR_RGBC rgb;
  6. COLOR_HSL  hsl;

  7. void init()                                    //中斷
  8. {  

  9.     TMOD=0x20;    //定時(shí)器工作方式,選擇了定時(shí)器1,工作方式2 八位初值自動(dòng)重裝的8位定時(shí)器。         
  10.      TH1=0xfd;     //定時(shí)器1初值  ,設(shè)置波特率為9600 晶振11.0529MHZ?  
  11.      TL1=0xfd;  
  12.      TR1=1;        //開(kāi)啟定時(shí)器1  
  13.    
  14.      SM0=0;  
  15.      SM1=1;        //10位異步接收,(8位數(shù)據(jù))波特率可變  
  16.      REN=1;        //允許串行口接收位  
  17.      /*EA=1;         //允許中斷(總閘)  
  18.      ES=1;         //允許串口中斷 */        
  19. }

  20. void delay_ms(uint time)
  21. {
  22.         uint i,j;
  23.         for(i = 0;i < time;i ++)
  24.                 for(j = 0;j < 930;j ++);
  25. }       

  26. void main()
  27. {       
  28.         init();
  29.         TCS34725_Init();
  30.         if(TCS34725_Init() == 1)
  31.         {                                TI=1;  
  32.                                         printf("Initial OK!\r\n");
  33.                                         while(!TI);
  34.                                         TI=0;
  35.         }
  36.         while(1)
  37.         {
  38.                                        
  39.                                 TCS34725_GetRawData(&rgb);  
  40.                                 RGBtoHSL(&rgb,&hsl);
  41.                                 TI=1;
  42.                                 printf("R=%d G=%d B=%d C=%d\r\n",rgb.r,rgb.g,rgb.b,rgb.c);
  43.                                 printf("H=%d S=%d L=%d\r\n",hsl.h,hsl.s,hsl.l);
  44.                                         while(!TI);
  45.                                         TI=0;
  46.                                 delay_ms(3000);
  47.         }
  48. }
復(fù)制代碼

所有資料51hei提供下載:
TCS34725 _C51DEMO程序、.rar (64.04 KB, 下載次數(shù): 296)
Tcs3472x_DEMO.7z (400.37 KB, 下載次數(shù): 190)


評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:913974 發(fā)表于 2021-5-5 11:28 | 只看該作者
你設(shè)置的I2C是用那個(gè)io口
回復(fù)

使用道具 舉報(bào)

板凳
ID:802449 發(fā)表于 2021-5-11 15:00 | 只看該作者
樓主,請(qǐng)問(wèn)有完整的電路圖和代碼頭文件嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:341120 發(fā)表于 2021-5-17 00:14 來(lái)自觸屏版 | 只看該作者
為啥我用你的程序串口讀不出來(lái)
回復(fù)

使用道具 舉報(bào)

5#
ID:341120 發(fā)表于 2021-5-17 00:43 來(lái)自觸屏版 | 只看該作者
為啥出來(lái)我用串口文本確是亂碼?
回復(fù)

使用道具 舉報(bào)

6#
ID:428114 發(fā)表于 2021-5-18 15:00 | 只看該作者
串口方式那就簡(jiǎn)單了
回復(fù)

使用道具 舉報(bào)

7#
ID:117454 發(fā)表于 2021-7-28 09:49 | 只看該作者
apple_01 發(fā)表于 2021-5-18 15:00
串口方式那就簡(jiǎn)單了

是使用串口的方式讀取的
回復(fù)

使用道具 舉報(bào)

8#
ID:117454 發(fā)表于 2021-7-28 09:51 | 只看該作者
hjc110 發(fā)表于 2021-5-17 00:43
為啥出來(lái)我用串口文本確是亂碼?

讀取文本的方式正常是可以的
回復(fù)

使用道具 舉報(bào)

9#
ID:117454 發(fā)表于 2021-7-28 09:52 | 只看該作者
liuqiang180 發(fā)表于 2021-5-5 11:28
你設(shè)置的I2C是用那個(gè)io口

SCL=P1^1;
SDA=P1^0;
回復(fù)

使用道具 舉報(bào)

10#
ID:958100 發(fā)表于 2021-8-23 16:11 | 只看該作者
用什么顯示的啊
回復(fù)

使用道具 舉報(bào)

11#
ID:117454 發(fā)表于 2021-8-27 09:14 | 只看該作者

串口助手可以讀取到返回值
回復(fù)

使用道具 舉報(bào)

12#
ID:1084053 發(fā)表于 2023-6-14 15:18 | 只看該作者
main.c(420): error C67: 'Hsl': undefined identifier,樓主為什么會(huì)出現(xiàn)這個(gè)錯(cuò)誤的
回復(fù)

使用道具 舉報(bào)

13#
ID:1089890 發(fā)表于 2023-8-9 10:19 | 只看該作者
周藍(lán)海 發(fā)表于 2023-6-14 15:18
main.c(420): error C67: 'Hsl': undefined identifier,樓主為什么會(huì)出現(xiàn)這個(gè)錯(cuò)誤的

.c和.h文件的stc12c5a60s2換成你的單片機(jī)頭文件
回復(fù)

使用道具 舉報(bào)

14#
ID:482246 發(fā)表于 2023-8-20 17:02 | 只看該作者
一被測(cè)對(duì)象 多高?改變距離,RGB的數(shù)據(jù) 也變化 較大,
回復(fù)

使用道具 舉報(bào)

15#
ID:1093238 發(fā)表于 2023-9-11 23:03 | 只看該作者
我的搞不出來(lái),不知道啥原因
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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