IIC-实践

前言

  上节讲解了IIC的协议,这节讲讲函数实现。参考之前我们平衡小车的程序,上面用到0.96的屏幕,这个屏幕就是IIC通信的。

基本函数的实现

当 SCL 线是高电平时 ,SDA 线从高电平向低电平切换,表示通讯的起始。

/**********************************************
//IIC Start
**********************************************/
void OLED_IIC_Start()
{
   
	OLED_SCLK_Set() ; 		//置高SCL引脚
	OLED_SDIN_Set();		//置高SDA引脚
	OLED_SDIN_Clr();		//置低SDA引脚
	OLED_SCLK_Clr();		//置低SCL引脚
}

  首先置高SCL,此时将SDA先置高,之后再置低,就完成了从高到低的转换,最后置低SCL位,为下次操作做准备,这就是IIC的开始。是不是很简单、

当 SCL 是高电平时,SDA线由低电平向高电平切换,表示通讯的停止。

/**********************************************
//IIC Stop
**********************************************/
void OLED_IIC_Stop()
{
   
	OLED_SCLK_Set() ;
	//	OLED_SCLK_Clr();
	OLED_SDIN_Clr();
	OLED_SDIN_Set();
	OLED_SCLK_Clr() ;
}

  首先置高SCL,此时将SDA先置低,之后再置高,就完成了从低到高的转换,最后置低SCL位,为下次操作做准备,这就是IIC的结束。是不是很简单、

写操作函数的实现

/**********************************************
// IIC Write byte
**********************************************/
void OLED_Write_IIC_Byte(unsigned char IIC_Byte)
{
   
	unsigned char i;
	unsigned char m,da;
	da=IIC_Byte;		//把将要发送的数据放到da中
	OLED_SCLK_Clr(); 	//先置低SCL引脚
	for(i=0;i<8;i++)	//一个字节8各位,循环8次	
	{
   
		m=da;			//把数据转到m中
		m
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
aduc812系列 IIC2 // ===================================================================================== // // 文件名称:huganqi.c 互感器测试程序 // // 芯片类型: aduc812 // // 开发软件: KEIL C51 V2.0 , Windows XP // // 开发时间:2006年11月16日 // // 程序功能: // // 编写人员:吕云曾 // // 联系方式:13845052176 lvyunzeng@163.com // // ===================================================================================== // //AT24C02 C语言驱动程序—MAX7219 显示 -|zl0801 发表于 2005-8-25 9:19:00 //AT24C02 EEPROM drive program // ===================================================================================== // // 文件名称:huganqi.c 互感器测试程序 // // 芯片类型: aduc812 // // 开发软件: KEIL C51 V2.0 , Windows XP // // 开发时间:2006年11月22日 // // 程序功能: // // 编写人员:吕云曾 // // 联系方式:13845052176 lvyunzeng@163.com // // ===================================================================================== // //=============================引脚定义========================================= /* ===================变量标志定义============================== Bj_tishi1 --LED0--P0.0 报警提示I Bj_tishi2 --LED1--P0.1 报警提示II Set_yuzhi1 --LED2--P0.2 设置报警阈值 I 提示 Set_yuzhi2 --LED3--P0.3 设置报警阈值II 提示 set_time --LED4--P0.4 设置报警时间 提示 Baojing1 --LED5--P2.3 报警 I 动作信号 Baojing2 --LED6--P2.4 报警 II 动作信号 ======
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值