蓝桥杯代码芯片手册解读

AT24C02

EEPROM 连续写入 Stop 与 Start 间加入延时 6ms
但是页写可不加

IIC_SendByte();		函数定义后面 加上 IIC_WaitAck(void);
unsigned char Write_24C02(unsigned char add, unsigned char dat)
	{
   
		IIC_Start();
		IIC_SendByte(0xa0);		// AT24C02 写
		IIC_SendByte(add);		/ 选择内存地址,题中没有要求就写 0x00, 写入哪里,就从哪里读出
		IIC_SendByte(dat);		// 数据写入内存地址	
		// 此处可以页写 连续写入八个数据,地址按照 0x00 ~ 0x07 
					 			// 或者           0x08 ~ 0x16 C02 人为划分了
		IIC_Stop();				// 终止信号
	}	

在这里插入图片描述
在这里插入图片描述

PCF8591

读取 A/D 值,连续读取时,请关闭中断

unsigned char read_adc(unsigned char add)
	{
   
		unsigned char val = 0;

		/0x90 0x91 PCF8591 写 读  	0xa0 0xa1 AT24C02 写 读		
		IIC_Start();				
		IIC_SendByte(0x90);			// MCU向:PCF8591 发送写设备
		IIC_SendByte(add);			// 传入的内存设备地址 
									/  0x03 Rb2   0x01 光敏电阻   0x00 J3 A/D 输入
		IIC_Start();
		IIC_SendByte(0x91);			// MCU向:PCF8591 发送读设备
		val = IIC_RecByte();		// 读取 A/D 转换值
		IIC_Stop();

		return val;
	}

写入 D/A 值

unsigned  char Write_adc(unsigned char val)	
	{
   
		IIC_Start();
		IIC_SendByte(0x90);		/PCF8591 的 DA 输出
		IIC_SendByte(0x40);		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值