📦
2401源码 - 免费下载
技术资料资源
文件大小:1 K
📋 资源详细信息
💡 温馨提示:本资源由用户 zhanglei193 上传分享,仅供学习交流使用。如有侵权,请联系我们删除。
📄 资源简介
// 包含头文件
//------------------------------------------------------------------------------------
//是模拟 IO, 主 IIC
#include "BasType.h"
#include "RegDefs.h" // SFR declarations
#include "intrins.h"
extern void msec(unsigned int x);
sbit ht2402_data = P2^0;
sbit ht2402_clk = P1^6;
//注意:内置的 24c02 vcc 由 P17供电。P17要设置成:强输出
bit ht2402_ack_ok;
void i2c_start(void)
{
ht2402_data=1;
NOP5
ht2402_clk=1;
NOP10
ht2402_data=0;
NOP10
ht2402_clk=0;
NOP4
}
void i2c_stop(void)
{
ht2402_data=0;
NOP5
ht2402_clk=1;
NOP10
ht2402_data=1;
NOP10
}
void Ack_I2c(uint8 a)
{
if(a==0)ht2402_data=0;
else ht2402_data=1;
NOP6
ht2402_clk=1;
NOP10
ht2402_clk=0;
NOP6
}
void Sendbyte(unsigned char c)
{
uint8 data Bitcount;
for(Bitcount=0;Bitcount<8;Bitcount++)
{
if((c<2ms
}
unsigned char i2c_read_one(uint8 addr)
{
uint8 data c;
i2c_start();
Sendbyte(0xa0);
if(ht2402_ack_ok==0)
{return(0);}
Sendbyte(addr);
if(ht2402_ack_ok==0)
{return(0);}
i2c_start();
Sendbyte(0xa1);
if(ht2402_ack_ok==0)
{return(0);}
c=i2c_receive8bit();
Ack_I2c(1);
i2c_stop();
return(c);
}
💾
立即下载此资源
💡 提示:下载后请用压缩软件解压,推荐使用 WinRAR 或 7-Zip
📖 资源说明
📥 下载说明
- 下载需消耗 2积分
- 24小时内重复下载不扣分
- 支持断点续传
- 资源永久有效
📦 使用说明
- 下载后用解压软件解压
- 推荐 WinRAR 或 7-Zip
- 如有密码请查看说明
- 解压后即可使用
🎁 积分获取
- 上传资源获得积分
- 每日签到免费领取
- 邀请好友注册奖励
- 查看详情 →