久久久久久久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í)別代碼,如果需要原理圖的話,我回去整理,畫出來,再分享,顯示用的是串口屏
0.png
(50.59 KB, 下載次數(shù): 40)
下載附件
2018-10-23 15:02 上傳
單片機(jī)源程序如下:
#include "FDCIIC.h"
#include "FDCdelay.h"
//uint8 dis[6]; //顯示數(shù)字(-511至512)的字符數(shù)組
//int dis_data; //變量
//********************************************************************************
//整數(shù)轉(zhuǎn)字符串
//********************************************************************************
//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; //取余運(yùn)算
// *++s =temp_data/1000+0x30;
// temp_data=temp_data%1000; //取余運(yùn)算
// *++s =temp_data/100+0x30;
// temp_data=temp_data%100; //取余運(yùn)算
// *++s =temp_data/10+0x30;
// temp_data=temp_data%10; //取余運(yùn)算
// *++s =temp_data+0x30;
//}
//*************************************************************************************************
//I2C起始信號(hào)
//*************************************************************************************************
void I2C_Start()
{
SDA = 1; //拉高數(shù)據(jù)線
SCL = 1; //拉高時(shí)鐘線
Delay5us(); //延時(shí)
SDA = 0; //產(chǎn)生下降沿
Delay5us(); //延時(shí)
SCL = 0; //拉低時(shí)鐘線
}
//*************************************************************************************************
//I2C停止信號(hào)
//*************************************************************************************************
void I2C_Stop()
{
SDA = 0; //拉低數(shù)據(jù)線
SCL = 0;
Delay5us();
SCL = 1; //拉高時(shí)鐘線
Delay5us(); //延時(shí)
SDA = 1; //產(chǎn)生上升沿
//Delay5us(); //延時(shí)
}
//**************************************************************************************************
//I2C發(fā)送應(yīng)答信號(hào)
//入口參數(shù):ack (0:ACK 1:NAK)
//**************************************************************************************************
void I2C_SendACK(bit ack)
{
SDA = ack; //寫應(yīng)答信號(hào)
SCL = 1; //拉高時(shí)鐘線
Delay5us(); //延時(shí)
SCL = 0; //拉低時(shí)鐘線
Delay5us(); //延時(shí)
}
//****************************************************************************************************
//I2C接收應(yīng)答信號(hào)
//****************************************************************************************************
bit I2C_RecvACK()
{
SCL = 1; //拉高時(shí)鐘線
Delay5us(); //延時(shí)
CY = SDA; //讀應(yīng)答信號(hào)
SCL = 0; //拉低時(shí)鐘線
Delay5us(); //延時(shí)
return CY;
}
//*****************************************************************************************************
//向I2C總線發(fā)送一個(gè)字節(jié)數(shù)據(jù)
//*****************************************************************************************************
void I2C_SendByte(uint8 dat)
{
uint8 i;
for (i=0; i<8; i++) //8位計(jì)數(shù)器
{
dat <<= 1; //移出數(shù)據(jù)的最高位
SDA = CY; //送數(shù)據(jù)口
SCL = 1; //拉高時(shí)鐘線
Delay5us(); //延時(shí)
SCL = 0; //拉低時(shí)鐘線
Delay5us(); //延時(shí)
}
I2C_RecvACK();
}
//*****************************************************************************************************
//從I2C總線接收一個(gè)字節(jié)數(shù)據(jù)
//******************************************************************************************************
uint8 I2C_RecvByte()
{
uint8 i;
uint8 dat = 0;
SDA = 1; //使能內(nèi)部上拉,準(zhǔn)備讀取數(shù)據(jù),
for (i=0; i<8; i++) //8位計(jì)數(shù)器
{
dat <<= 1;
SCL = 1; //拉高時(shí)鐘線
Delay5us(); //延時(shí)
dat |= SDA; //讀數(shù)據(jù)
SCL = 0; //拉低時(shí)鐘線
Delay5us(); //延時(shí)
}
return dat;
}
/*******************************************************************************
* 函數(shù)名 : WriteRegfdc2214
* 描述 : 寫寄存器數(shù)據(jù)
* 輸入?yún)?shù) : add,value
* 返回參數(shù) : 無(wú)
*******************************************************************************/
void WriteRegfdc2214(unsigned char add,unsigned int value)
{
I2C_Start();
I2C_SendByte(0X54); //ADDR=0時(shí),地址0X2A<<1+0=0X54
I2C_SendByte(add); //寫地址
I2C_SendByte(value>>8); //
I2C_SendByte(value&0xff);//寫低8位
I2C_Stop(); //產(chǎn)生一個(gè)停止條件
delay_ms();
}
/*******************************************************************************
* 函數(shù)名 : ReadRegLDC
* 描述 : 讀寄存器數(shù)據(jù)
* 輸入?yún)?shù) : add地址
* 返回參數(shù) : 無(wú)
*******************************************************************************/
unsigned int ReadRegfdc2214(unsigned char add)
{
unsigned int status;
unsigned int a,b;
I2C_Start();
I2C_SendByte(0X54); //寫命令A(yù)DDR=0
I2C_SendByte(add); //
I2C_Start(); //重新開始
I2C_SendByte(0X55); //發(fā)送讀命令A(yù)DDR=0
a=I2C_RecvByte(); //讀高位
I2C_SendACK(0);
b=I2C_RecvByte(); //讀低位
I2C_SendACK(1);
status=a*256+b;
I2C_Stop();
return (status);
}
/*******************************************************************************
* 函數(shù)名 : InitSingleLDC1314
* 描述 : 初始化單通道
* 輸入?yún)?shù) : 無(wú)
* 返回參數(shù) : 無(wú)
*******************************************************************************/
void InitSinglefdc2214(void)
{
WriteRegfdc2214(0x08,0x0fa0);//設(shè)置轉(zhuǎn)換時(shí)間 設(shè)置達(dá)到最高精度
WriteRegfdc2214(0x10,0x000f);//FDC2214_SETTLECOUNT_CH0 穩(wěn)定技計(jì)數(shù)計(jì)數(shù)
WriteRegfdc2214(0x14,0x08); //參考分頻系數(shù)
// LDC_Write_Reg(0x0C,0x0F00); //調(diào)零
WriteRegfdc2214(0x19,0x0000); //ERROE_CONFIG
WriteRegfdc2214(0x1B,0x020D); //通道配置
WriteRegfdc2214(0x1E,0xF800); //配置驅(qū)動(dòng)電流
WriteRegfdc2214(0x1A,0x1C81); //參數(shù)配置
//以下自己//
WriteRegfdc2214(0x18,0x02); //使用外部時(shí)鐘
}
/*******************************************************************************
* 函數(shù)名 : InitMultiLDC1314
* 描述 : 初始化多通道
* 輸入?yún)?shù) : 無(wú)
* 返回參數(shù) : 無(wú)
*******************************************************************************/
void InitMultifdc2214(void)//雙通道
{
WriteRegfdc2214(0x08,0x0fa0);//轉(zhuǎn)換時(shí)間 \\穩(wěn)定參考計(jì)數(shù)值、||原值為0x04D6
WriteRegfdc2214(0x09,0x0fa0);
WriteRegfdc2214(0x0A,0x0fa0);//轉(zhuǎn)換時(shí)間
WriteRegfdc2214(0x0B,0x0fa0);
WriteRegfdc2214(0x0C,0x0F00); //調(diào)0值 CH0
WriteRegfdc2214(0x0D,0x0F00); //調(diào)0值 CH1
WriteRegfdc2214(0x0E,0x0F00); //調(diào)0值 CH2
WriteRegfdc2214(0x0F,0x0F00); //調(diào)0值 CH3
WriteRegfdc2214(0x10,0x000A);//作用時(shí)間 CH1
WriteRegfdc2214(0x11,0x000A);//CH2
WriteRegfdc2214(0x12,0x000A);//CH3
WriteRegfdc2214(0x13,0x000A);//CH4
WriteRegfdc2214(0x14,0x08);//分頻 \\修改分頻系數(shù)可改變數(shù)值大小 原值為0x2002
WriteRegfdc2214(0x15,0x08);
WriteRegfdc2214(0x16,0x08);//分頻
WriteRegfdc2214(0x17,0x08);
WriteRegfdc2214(0x19,0x0000);
WriteRegfdc2214(0x1B,0xC20D);//配置多通道 2通道--0x820D
WriteRegfdc2214(0x1E,0x9000); //驅(qū)動(dòng)電流 CH0
WriteRegfdc2214(0x1F,0x9000); //CH1
WriteRegfdc2214(0x20,0x9000); //CH2
WriteRegfdc2214(0x21,0x9000); //CH3
WriteRegfdc2214(0x1A,0x1C81);//配置寄存器
}
/*********************************END FILE*************************************/
復(fù)制代碼
所有資料51hei提供下載:
新建文件夾.zip
(379.37 KB, 下載次數(shù): 131)
2018-10-23 09:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
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久
|
成年人在线观看
|
久久精品男人的天堂
|