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

標(biāo)題: 基于stc15單片機(jī)+fdc2214手勢(shì)識(shí)別系統(tǒng),ti杯源程序 [打印本頁(yè)]

作者: hl521521    時(shí)間: 2018-10-23 09:30
標(biāo)題: 基于stc15單片機(jī)+fdc2214手勢(shì)識(shí)別系統(tǒng),ti杯源程序
本代碼是TI杯省賽手勢(shì)識(shí)別代碼,如果需要原理圖的話,我回去整理,畫出來,再分享,顯示用的是串口屏


單片機(jī)源程序如下:
  1. #include "FDCIIC.h"
  2. #include "FDCdelay.h"
  3. //uint8 dis[6];                                        //顯示數(shù)字(-511至512)的字符數(shù)組
  4. //int        dis_data;                                        //變量
  5. //********************************************************************************
  6. //整數(shù)轉(zhuǎn)字符串
  7. //********************************************************************************
  8. //void lcd_printf(uint8 *s,int temp_data)
  9. //{
  10. //        if(temp_data<0)
  11. //        {
  12. //                temp_data=-temp_data;
  13. //                *s='-';
  14. //        }
  15. //        else *s=' ';

  16. //        *++s =temp_data/10000+0x30;
  17. //        temp_data=temp_data%10000;     //取余運(yùn)算

  18. //        *++s =temp_data/1000+0x30;
  19. //        temp_data=temp_data%1000;     //取余運(yùn)算

  20. //        *++s =temp_data/100+0x30;
  21. //        temp_data=temp_data%100;     //取余運(yùn)算
  22. //        *++s =temp_data/10+0x30;
  23. //        temp_data=temp_data%10;      //取余運(yùn)算
  24. //        *++s =temp_data+0x30;        
  25. //}






  26. //*************************************************************************************************
  27. //I2C起始信號(hào)
  28. //*************************************************************************************************
  29. void I2C_Start()
  30. {
  31.     SDA = 1;                    //拉高數(shù)據(jù)線
  32.     SCL = 1;                    //拉高時(shí)鐘線
  33.     Delay5us();                 //延時(shí)
  34.     SDA = 0;                    //產(chǎn)生下降沿
  35.     Delay5us();                 //延時(shí)
  36.     SCL = 0;                    //拉低時(shí)鐘線
  37. }
  38. //*************************************************************************************************
  39. //I2C停止信號(hào)
  40. //*************************************************************************************************
  41. void I2C_Stop()
  42. {
  43.     SDA = 0;                    //拉低數(shù)據(jù)線
  44.                 SCL = 0;
  45.                 Delay5us();
  46.     SCL = 1;                    //拉高時(shí)鐘線
  47.     Delay5us();                 //延時(shí)
  48.     SDA = 1;                    //產(chǎn)生上升沿
  49.     //Delay5us();                 //延時(shí)
  50. }
  51. //**************************************************************************************************
  52. //I2C發(fā)送應(yīng)答信號(hào)
  53. //入口參數(shù):ack (0:ACK 1:NAK)
  54. //**************************************************************************************************
  55. void I2C_SendACK(bit ack)
  56. {
  57.     SDA = ack;                  //寫應(yīng)答信號(hào)
  58.     SCL = 1;                    //拉高時(shí)鐘線
  59.     Delay5us();                 //延時(shí)
  60.     SCL = 0;                    //拉低時(shí)鐘線
  61.     Delay5us();                 //延時(shí)
  62. }
  63. //****************************************************************************************************
  64. //I2C接收應(yīng)答信號(hào)
  65. //****************************************************************************************************
  66. bit I2C_RecvACK()
  67. {
  68.     SCL = 1;                    //拉高時(shí)鐘線
  69.     Delay5us();                 //延時(shí)
  70.     CY = SDA;                   //讀應(yīng)答信號(hào)
  71.     SCL = 0;                    //拉低時(shí)鐘線
  72.     Delay5us();                 //延時(shí)
  73.     return CY;
  74. }
  75. //*****************************************************************************************************
  76. //向I2C總線發(fā)送一個(gè)字節(jié)數(shù)據(jù)
  77. //*****************************************************************************************************
  78. void I2C_SendByte(uint8 dat)
  79. {
  80.     uint8 i;
  81.     for (i=0; i<8; i++)         //8位計(jì)數(shù)器
  82.     {
  83.         dat <<= 1;              //移出數(shù)據(jù)的最高位
  84.         SDA = CY;               //送數(shù)據(jù)口
  85.         SCL = 1;                //拉高時(shí)鐘線
  86.         Delay5us();             //延時(shí)
  87.         SCL = 0;                //拉低時(shí)鐘線
  88.         Delay5us();             //延時(shí)
  89.     }
  90.     I2C_RecvACK();
  91. }
  92. //*****************************************************************************************************
  93. //從I2C總線接收一個(gè)字節(jié)數(shù)據(jù)
  94. //******************************************************************************************************
  95. uint8 I2C_RecvByte()
  96. {
  97.     uint8 i;
  98.     uint8 dat = 0;
  99.     SDA = 1;                    //使能內(nèi)部上拉,準(zhǔn)備讀取數(shù)據(jù),
  100.     for (i=0; i<8; i++)         //8位計(jì)數(shù)器
  101.     {
  102.         dat <<= 1;
  103.         SCL = 1;                //拉高時(shí)鐘線
  104.         Delay5us();             //延時(shí)
  105.         dat |= SDA;             //讀數(shù)據(jù)               
  106.         SCL = 0;                //拉低時(shí)鐘線
  107.         Delay5us();             //延時(shí)
  108.     }
  109.     return dat;
  110. }


  111. /*******************************************************************************
  112. * 函數(shù)名        : WriteRegfdc2214
  113. * 描述            : 寫寄存器數(shù)據(jù)
  114. * 輸入?yún)?shù)  : add,value
  115. * 返回參數(shù)  : 無(wú)
  116. *******************************************************************************/
  117. void WriteRegfdc2214(unsigned char add,unsigned int value)
  118. {
  119.     I2C_Start();
  120.     I2C_SendByte(0X54);         //ADDR=0時(shí),地址0X2A<<1+0=0X54  
  121.     I2C_SendByte(add);      //寫地址
  122.     I2C_SendByte(value>>8); //
  123.     I2C_SendByte(value&0xff);//寫低8位
  124.     I2C_Stop();               //產(chǎn)生一個(gè)停止條件
  125.     delay_ms();         
  126. }
  127. /*******************************************************************************
  128. * 函數(shù)名        : ReadRegLDC
  129. * 描述            : 讀寄存器數(shù)據(jù)
  130. * 輸入?yún)?shù)  : add地址
  131. * 返回參數(shù)  : 無(wú)
  132. *******************************************************************************/
  133. unsigned int ReadRegfdc2214(unsigned char add)
  134. {
  135.     unsigned   int status;
  136.     unsigned    int a,b;
  137.     I2C_Start();
  138.     I2C_SendByte(0X54);           //寫命令A(yù)DDR=0
  139.     I2C_SendByte(add);     //
  140.     I2C_Start();            //重新開始
  141.     I2C_SendByte(0X55);           //發(fā)送讀命令A(yù)DDR=0
  142.    
  143.     a=I2C_RecvByte();     //讀高位
  144.         I2C_SendACK(0);
  145.     b=I2C_RecvByte();                 //讀低位
  146.         I2C_SendACK(1);
  147.     status=a*256+b;
  148.     I2C_Stop();
  149.     return (status);
  150. }
  151. /*******************************************************************************
  152. * 函數(shù)名        : InitSingleLDC1314
  153. * 描述            : 初始化單通道
  154. * 輸入?yún)?shù)  : 無(wú)
  155. * 返回參數(shù)  : 無(wú)
  156. *******************************************************************************/
  157. void InitSinglefdc2214(void)
  158. {
  159.     WriteRegfdc2214(0x08,0x0fa0);//設(shè)置轉(zhuǎn)換時(shí)間  設(shè)置達(dá)到最高精度

  160.     WriteRegfdc2214(0x10,0x000f);//FDC2214_SETTLECOUNT_CH0 穩(wěn)定技計(jì)數(shù)計(jì)數(shù)
  161.    
  162.     WriteRegfdc2214(0x14,0x08); //參考分頻系數(shù)
  163.     //    LDC_Write_Reg(0x0C,0x0F00); //調(diào)零
  164.     WriteRegfdc2214(0x19,0x0000); //ERROE_CONFIG
  165.        
  166.     WriteRegfdc2214(0x1B,0x020D); //通道配置
  167.     WriteRegfdc2214(0x1E,0xF800); //配置驅(qū)動(dòng)電流
  168.     WriteRegfdc2214(0x1A,0x1C81); //參數(shù)配置
  169.           //以下自己//
  170.           WriteRegfdc2214(0x18,0x02); //使用外部時(shí)鐘
  171. }
  172. /*******************************************************************************
  173. * 函數(shù)名        : InitMultiLDC1314
  174. * 描述            : 初始化多通道
  175. * 輸入?yún)?shù)  : 無(wú)
  176. * 返回參數(shù)  : 無(wú)
  177. *******************************************************************************/
  178. void InitMultifdc2214(void)//雙通道
  179. {
  180.     WriteRegfdc2214(0x08,0x0fa0);//轉(zhuǎn)換時(shí)間           \\穩(wěn)定參考計(jì)數(shù)值、||原值為0x04D6
  181.           WriteRegfdc2214(0x09,0x0fa0);
  182.           WriteRegfdc2214(0x0A,0x0fa0);//轉(zhuǎn)換時(shí)間
  183.           WriteRegfdc2214(0x0B,0x0fa0);
  184.        
  185.                 WriteRegfdc2214(0x0C,0x0F00); //調(diào)0值         CH0
  186.                 WriteRegfdc2214(0x0D,0x0F00); //調(diào)0值   CH1
  187.                 WriteRegfdc2214(0x0E,0x0F00); //調(diào)0值   CH2
  188.                 WriteRegfdc2214(0x0F,0x0F00); //調(diào)0值   CH3
  189.                        
  190.                 WriteRegfdc2214(0x10,0x000A);//作用時(shí)間 CH1
  191.           WriteRegfdc2214(0x11,0x000A);//CH2
  192.                 WriteRegfdc2214(0x12,0x000A);//CH3
  193.                 WriteRegfdc2214(0x13,0x000A);//CH4
  194.          
  195.                 WriteRegfdc2214(0x14,0x08);//分頻                      \\修改分頻系數(shù)可改變數(shù)值大小     原值為0x2002
  196.           WriteRegfdc2214(0x15,0x08);
  197.     WriteRegfdc2214(0x16,0x08);//分頻
  198.           WriteRegfdc2214(0x17,0x08);
  199.        
  200.           WriteRegfdc2214(0x19,0x0000);
  201.           WriteRegfdc2214(0x1B,0xC20D);//配置多通道   2通道--0x820D
  202.        
  203.           WriteRegfdc2214(0x1E,0x9000); //驅(qū)動(dòng)電流 CH0
  204.           WriteRegfdc2214(0x1F,0x9000); //CH1
  205.                 WriteRegfdc2214(0x20,0x9000); //CH2
  206.           WriteRegfdc2214(0x21,0x9000); //CH3
  207.                   

  208.         WriteRegfdc2214(0x1A,0x1C81);//配置寄存器
  209.        
  210.        
  211. }
  212. /*********************************END FILE*************************************/
復(fù)制代碼

所有資料51hei提供下載:
新建文件夾.zip (379.37 KB, 下載次數(shù): 131)



作者: admin    時(shí)間: 2018-10-23 15:04
好東東 希望能分享原理圖
作者: z1233    時(shí)間: 2019-1-8 11:05
樓主可以分享一下電路圖嗎?謝謝
作者: 1473376265    時(shí)間: 2019-8-8 15:33
樓主樓主求主函數(shù)
作者: 2537986670    時(shí)間: 2019-9-14 16:55
你好,我現(xiàn)在正在學(xué)習(xí)手勢(shì)識(shí)別中fdc2214的用法,感覺里面單通道和多通道的初始化代碼不太明白,能詳細(xì)的解釋一下嗎?
作者: aaaaaa。    時(shí)間: 2019-10-12 19:04
樓主,求原理圖





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: www.久久 | 亚洲高清中文字幕 | 日本精品视频 | 成人福利电影 | 福利国产 | 国产精品欧美一区喷水 | 成人欧美一区二区三区色青冈 | 99亚洲视频| 亚洲精品欧美一区二区三区 | 久久久久久天堂 | 久久精品色欧美aⅴ一区二区 | 中文字幕视频一区二区 | 男人午夜视频 | 蜜桃视频一区二区三区 | 成人免费一区二区三区视频网站 | 一区二区三区在线 | 欧 | 欧美日韩中文在线 | 欧美极品一区二区 | 久久久免费 | 国产精品视频一二三区 | 久久久www成人免费无遮挡大片 | 亚洲精品中文字幕中文字幕 | 在线看一区二区三区 | 亚洲高清视频在线观看 | 久久国产精品一区二区三区 | 日韩中文字幕在线观看 | 黄色在线观看网站 | 免费黄色片在线观看 | 国产69久久精品成人看动漫 | 欧美日韩高清 | 欧美一级片在线观看 | 国产免费观看一级国产 | 国产精品一区二区久久 | www精品| 国产欧美一区二区三区在线看蜜臀 | 91精品久久久久久久久中文字幕 | 久久久久资源 | 日韩中文字幕视频在线观看 | 9久9久| 成年人在线观看 | 久久精品男人的天堂 |