欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
基于stc15單片機+fdc2214手勢識別系統,ti杯源程序
[打印本頁]
作者:
hl521521
時間:
2018-10-23 09:30
標題:
基于stc15單片機+fdc2214手勢識別系統,ti杯源程序
本代碼是TI杯省賽手勢識別代碼,如果需要原理圖的話,我回去整理,畫出來,再分享,顯示用的是串口屏
0.png
(50.59 KB, 下載次數: 40)
下載附件
2018-10-23 15:02 上傳
單片機源程序如下:
#include "FDCIIC.h"
#include "FDCdelay.h"
//uint8 dis[6]; //顯示數字(-511至512)的字符數組
//int dis_data; //變量
//********************************************************************************
//整數轉字符串
//********************************************************************************
//void lcd_printf(uint8 *s,int temp_data)
//{
// if(temp_data<0)
// {
// temp_data=-temp_data;
// *s='-';
// }
// else *s=' ';
// *++s =temp_data/10000+0x30;
// temp_data=temp_data%10000; //取余運算
// *++s =temp_data/1000+0x30;
// temp_data=temp_data%1000; //取余運算
// *++s =temp_data/100+0x30;
// temp_data=temp_data%100; //取余運算
// *++s =temp_data/10+0x30;
// temp_data=temp_data%10; //取余運算
// *++s =temp_data+0x30;
//}
//*************************************************************************************************
//I2C起始信號
//*************************************************************************************************
void I2C_Start()
{
SDA = 1; //拉高數據線
SCL = 1; //拉高時鐘線
Delay5us(); //延時
SDA = 0; //產生下降沿
Delay5us(); //延時
SCL = 0; //拉低時鐘線
}
//*************************************************************************************************
//I2C停止信號
//*************************************************************************************************
void I2C_Stop()
{
SDA = 0; //拉低數據線
SCL = 0;
Delay5us();
SCL = 1; //拉高時鐘線
Delay5us(); //延時
SDA = 1; //產生上升沿
//Delay5us(); //延時
}
//**************************************************************************************************
//I2C發送應答信號
//入口參數:ack (0:ACK 1:NAK)
//**************************************************************************************************
void I2C_SendACK(bit ack)
{
SDA = ack; //寫應答信號
SCL = 1; //拉高時鐘線
Delay5us(); //延時
SCL = 0; //拉低時鐘線
Delay5us(); //延時
}
//****************************************************************************************************
//I2C接收應答信號
//****************************************************************************************************
bit I2C_RecvACK()
{
SCL = 1; //拉高時鐘線
Delay5us(); //延時
CY = SDA; //讀應答信號
SCL = 0; //拉低時鐘線
Delay5us(); //延時
return CY;
}
//*****************************************************************************************************
//向I2C總線發送一個字節數據
//*****************************************************************************************************
void I2C_SendByte(uint8 dat)
{
uint8 i;
for (i=0; i<8; i++) //8位計數器
{
dat <<= 1; //移出數據的最高位
SDA = CY; //送數據口
SCL = 1; //拉高時鐘線
Delay5us(); //延時
SCL = 0; //拉低時鐘線
Delay5us(); //延時
}
I2C_RecvACK();
}
//*****************************************************************************************************
//從I2C總線接收一個字節數據
//******************************************************************************************************
uint8 I2C_RecvByte()
{
uint8 i;
uint8 dat = 0;
SDA = 1; //使能內部上拉,準備讀取數據,
for (i=0; i<8; i++) //8位計數器
{
dat <<= 1;
SCL = 1; //拉高時鐘線
Delay5us(); //延時
dat |= SDA; //讀數據
SCL = 0; //拉低時鐘線
Delay5us(); //延時
}
return dat;
}
/*******************************************************************************
* 函數名 : WriteRegfdc2214
* 描述 : 寫寄存器數據
* 輸入參數 : add,value
* 返回參數 : 無
*******************************************************************************/
void WriteRegfdc2214(unsigned char add,unsigned int value)
{
I2C_Start();
I2C_SendByte(0X54); //ADDR=0時,地址0X2A<<1+0=0X54
I2C_SendByte(add); //寫地址
I2C_SendByte(value>>8); //
I2C_SendByte(value&0xff);//寫低8位
I2C_Stop(); //產生一個停止條件
delay_ms();
}
/*******************************************************************************
* 函數名 : ReadRegLDC
* 描述 : 讀寄存器數據
* 輸入參數 : add地址
* 返回參數 : 無
*******************************************************************************/
unsigned int ReadRegfdc2214(unsigned char add)
{
unsigned int status;
unsigned int a,b;
I2C_Start();
I2C_SendByte(0X54); //寫命令ADDR=0
I2C_SendByte(add); //
I2C_Start(); //重新開始
I2C_SendByte(0X55); //發送讀命令ADDR=0
a=I2C_RecvByte(); //讀高位
I2C_SendACK(0);
b=I2C_RecvByte(); //讀低位
I2C_SendACK(1);
status=a*256+b;
I2C_Stop();
return (status);
}
/*******************************************************************************
* 函數名 : InitSingleLDC1314
* 描述 : 初始化單通道
* 輸入參數 : 無
* 返回參數 : 無
*******************************************************************************/
void InitSinglefdc2214(void)
{
WriteRegfdc2214(0x08,0x0fa0);//設置轉換時間 設置達到最高精度
WriteRegfdc2214(0x10,0x000f);//FDC2214_SETTLECOUNT_CH0 穩定技計數計數
WriteRegfdc2214(0x14,0x08); //參考分頻系數
// LDC_Write_Reg(0x0C,0x0F00); //調零
WriteRegfdc2214(0x19,0x0000); //ERROE_CONFIG
WriteRegfdc2214(0x1B,0x020D); //通道配置
WriteRegfdc2214(0x1E,0xF800); //配置驅動電流
WriteRegfdc2214(0x1A,0x1C81); //參數配置
//以下自己//
WriteRegfdc2214(0x18,0x02); //使用外部時鐘
}
/*******************************************************************************
* 函數名 : InitMultiLDC1314
* 描述 : 初始化多通道
* 輸入參數 : 無
* 返回參數 : 無
*******************************************************************************/
void InitMultifdc2214(void)//雙通道
{
WriteRegfdc2214(0x08,0x0fa0);//轉換時間 \\穩定參考計數值、||原值為0x04D6
WriteRegfdc2214(0x09,0x0fa0);
WriteRegfdc2214(0x0A,0x0fa0);//轉換時間
WriteRegfdc2214(0x0B,0x0fa0);
WriteRegfdc2214(0x0C,0x0F00); //調0值 CH0
WriteRegfdc2214(0x0D,0x0F00); //調0值 CH1
WriteRegfdc2214(0x0E,0x0F00); //調0值 CH2
WriteRegfdc2214(0x0F,0x0F00); //調0值 CH3
WriteRegfdc2214(0x10,0x000A);//作用時間 CH1
WriteRegfdc2214(0x11,0x000A);//CH2
WriteRegfdc2214(0x12,0x000A);//CH3
WriteRegfdc2214(0x13,0x000A);//CH4
WriteRegfdc2214(0x14,0x08);//分頻 \\修改分頻系數可改變數值大小 原值為0x2002
WriteRegfdc2214(0x15,0x08);
WriteRegfdc2214(0x16,0x08);//分頻
WriteRegfdc2214(0x17,0x08);
WriteRegfdc2214(0x19,0x0000);
WriteRegfdc2214(0x1B,0xC20D);//配置多通道 2通道--0x820D
WriteRegfdc2214(0x1E,0x9000); //驅動電流 CH0
WriteRegfdc2214(0x1F,0x9000); //CH1
WriteRegfdc2214(0x20,0x9000); //CH2
WriteRegfdc2214(0x21,0x9000); //CH3
WriteRegfdc2214(0x1A,0x1C81);//配置寄存器
}
/*********************************END FILE*************************************/
復制代碼
所有資料51hei提供下載:
新建文件夾.zip
(379.37 KB, 下載次數: 131)
2018-10-23 09:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2018-10-23 15:04
好東東 希望能分享原理圖
作者:
z1233
時間:
2019-1-8 11:05
樓主可以分享一下電路圖嗎?謝謝
作者:
1473376265
時間:
2019-8-8 15:33
樓主樓主求主函數
作者:
2537986670
時間:
2019-9-14 16:55
你好,我現在正在學習手勢識別中fdc2214的用法,感覺里面單通道和多通道的初始化代碼不太明白,能詳細的解釋一下嗎?
作者:
aaaaaa。
時間:
2019-10-12 19:04
樓主,求原理圖
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1