久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

GY-31 TCS230顏色傳感器如何將數據顯示在串口助手上

查看數: 3214 | 評論數: 7 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-12-30 22:07

正文摘要:

各位大佬,大家好,我做的這個是GY-31顏色傳感器顯示在液晶屏LCD1602上RGB三色代碼的一個功能,現在我能成功的實現RGB三色代碼在LCD屏上,但是我不知道該如何將程序中的三色代碼顯示在串口助手上,請問有大佬 ...

回復

ID:677868 發表于 2019-12-31 17:32
2032139772 發表于 2019-12-31 11:10
直接采用上面的程序實現就可以了,之前我也是在想別的方法,最后就做好了

請問方便聯系嗎,我想私下問問你最后是怎么做好的,十分感謝
ID:677868 發表于 2019-12-31 16:14
2032139772 發表于 2019-12-31 11:10
直接采用上面的程序實現就可以了,之前我也是在想別的方法,最后就做好了

能QQ聯系問下你嗎 十分感謝  我不是很太懂 因為有兩個程序
ID:213173 發表于 2019-12-31 15:16
由于你的程序使用兩個定時器完成顏色采樣,所以采樣完成后要關閉定時器,輸出一個標志,在主程序中查詢這個標志將結果用串口發送到上位機。給你一個串口參考程序,原來的LCD顯示程序也要作相應修改。

  1. //重新定義顯示緩存數組
  2. uchar disp[]="R:000G:000B:000";
  3. //改寫此程序,將讀取的數據按位分解保存,同樣可用于LCD顯示
  4. void conversion(uint temp_data)  
  5. {
  6.         disp[2]=temp_R/100%10+'0';
  7.         disp[3]=temp_R/10%10+'0';
  8.         disp[4]=temp_R%10++'0';
  9.         disp[7]=temp_G/100%10+'0';
  10.         disp[8]=temp_G/10%10+'0';
  11.         disp[9]=temp_G%10++'0';
  12.         disp[12]=temp_B/100%10+'0';
  13.         disp[13]=temp_B/10%10+'0';
  14.         disp[14]=temp_B%10++'0';
  15. }
  16. //定時器1分時工作于顏色采樣和串口切換
  17. //下面兩個程序放在主函數中
  18. //注意:只發不收不要開串口中斷
  19. /**********串口發送函數*************/
  20. void SendOneByte(uchar c)
  21. {
  22.     SBUF = c;                //發送數據
  23.     while(!TI);        //等待發送完成
  24.     TI = 0;                        //發送中斷請求標志位清0
  25. }

  26. void analysis()
  27. {
  28.         uchar i;
  29.         if(flag==1)//使能標志,在定時器中斷中當完成一次完整顏色采樣flag置1
  30.         {
  31.                 flag=0;//使能標志清0
  32.                 //定時器1工作于串口設置
  33.                 SCON = 0x50;                //8位數據,可變波特率
  34.                 TMOD &= 0x0F;                //清除定時器1模式位,保持定時器0模式不變
  35.                 TMOD |= 0x20;                //設定定時器1為8位自動重裝方式
  36.                 TL1 = 0xFD;                //設定定時初值(波特率9600)
  37.                 TH1 = 0xFD;                //設定定時器重裝值
  38.                 ET1 = 0;                //禁止定時器1中斷
  39.                 EA=0;                        //關閉總中斷,保證串口發送過程不被干擾
  40.                 TR1 = 1;                //啟動定時器1
  41.                 for(i=0;i<100;i++);//小延時等待串口穩定
  42.                 for(i=0;i<14;i++)//串口發送數據串
  43.                         SendOneByte(disp[i]);
  44.                 //恢復定時器1工作于顏色采樣設置
  45.                 TMOD &= 0x0F;                //清除定時器1模式位,保持定時器0模式不變
  46.                 TMOD |= 0x50;                //設定定時器1為外部計數模式
  47.                 TH1=0x00;         //計數初值
  48.                 TL1=0x00;
  49.                 EA=1;            //開總中斷
  50.                 TR0=1;
  51.                 TR1=1;
  52.         }
  53. }
復制代碼
ID:517333 發表于 2019-12-31 11:10
直接采用上面的程序實現就可以了,之前我也是在想別的方法,最后就做好了
ID:215430 發表于 2019-12-31 10:54
很好感謝樓主分享verygood  nicefor you
ID:677868 發表于 2019-12-31 10:33
51hei**1140 發表于 2019-12-31 09:55
你好!
增加一個串口發送函數;
把 RGB值發送給上位機。

您好,請問是在我原程序上添加串口發送函數嗎,能否具體指教一下呢,留下聯系方式可以嗎?萬分感謝。
ID:648281 發表于 2019-12-31 09:55
你好!
增加一個串口發送函數;
把 RGB值發送給上位機。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲午夜一区二区 | 国产高清一二三区 | 精品国产一区二区三区久久 | 欧美日韩1区2区3区 欧美久久一区 | 亚洲一区二区三区国产 | 国产精品欧美一区喷水 | 毛片一区二区 | 特一级毛片 | 成人网址在线观看 | 国产精品久久国产精品99 | 精品国产31久久久久久 | 亚洲xx在线 | 久久成人精品一区二区三区 | 国产高清精品一区 | 国产成人福利视频在线观看 | av网站免费在线观看 | 久久99国产精品久久99果冻传媒 | 亚洲成人三级 | 97久久久久久久久 | 天堂免费| 4hu最新网址 | 国产人成精品一区二区三 | 在线免费看91 | 国产日韩久久 | 国产精品永久免费视频 | 91精品国产自产在线老师啪 | 91久久精品日日躁夜夜躁欧美 | 狠狠狠色丁香婷婷综合久久五月 | 免费毛片网 | 精品一区二区av | av黄色免费| 国产精品美女久久久久久久网站 | 日韩精品成人网 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 中文字幕国产 | 欧美成人不卡 | 欧美成人精品 | 999久久久| 日韩视频在线播放 | 久久精品16 | 精品国产成人 |