TS12芯片驱动
使用模拟I2C驱动TS12完成触摸按键检测功能:
#include "stm8s.h"
#include "global.h"
#include "drv_key.h"
uint8_t KeyByte;
/*******************************************************************************
// Function: I2C_Int
// Description: 模拟I2C 与ds1307端口初始化
// Param:
// Return:
// Author: Huangzhigang 2014-0410
*******************************************************************************/
static void I2C_Int(void)
{
IIC_SDA_OUTPUT;
IIC_SCL_OUTPUT;
}
/*******************************************************************************
// Function: Delay_5us
// Description: 微妙级延时函数 延时时间约为16us
// Param:
// Return: fcpu 16MHz 时
// Author: Huangzhigang 2014-0410
*******************************************************************************/
static void Delay_5us(void)
{
uint8_t i;
for (i=5; i>0; i--);
}
/*******************************************************************************
// Function: I2C_Start
// Description: I2C 开始传输信号 当SCL 为高时 SDA由高变低
// Param:
// Return:
// Author: Huangzhigang 2014-0410
*******************************************************************************/
static void I2C_Start(void)
{
// SDA 1->0 while SCL High
SDA_HIGH;
SCL_HIGH;
Delay_5us();
SDA_LOW;
Delay_5us();
SCL_LOW;
}
/*******************************************************************************
// Function: I2C_Stop
// Description: I2C 停止传输信号 当SCL 为高时 SDA由低变高
// Param:
// Return:
// Author: Huangzhigang 2014-0410
*******************************************************************************/
static