资源简介

STM32单片机,串口能显示,采用超声波测距SR04 ,用 LCD1602显示。

资源截图

代码片段和文件信息

#include “AT24CXX.h“

/*******************************************************************************
* 函 数 名         : AT24Cxx_ReadOneByte
* 函数功能    : 24c02读一个字节地址  数据    
* 输    入         : addr
* 输    出         : 返回值temp
*******************************************************************************/
u8 AT24Cxx_ReadOneByte(u16 addr)
{
u8 temp=0;

I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C_Start();
I2C_Send_Byte(0xA1);
I2C_Wait_Ack();

temp=I2C_Read_Byte(0); //  0   代表 NACK
I2C_NAck();
I2C_Stop();

return temp;
}


/*******************************************************************************
* 函 数 名         : AT24Cxx_ReadTwoByte
* 函数功能    : 24c02读2个字节地址 数据  
* 输    入         : addr
* 输    出         : 返回值temp
*******************************************************************************/
u16 AT24Cxx_ReadTwoByte(u16 addr)
{
u16 temp=0;

I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C_Start();
I2C_Send_Byte(0xA1);
I2C_Wait_Ack();

temp=I2C_Read_Byte(1); //  1   代表 ACK
temp<<=8;
temp|=I2C_Read_Byte(0); //  0  代表 NACK

I2C_Stop();

return temp;
}

/*******************************************************************************
* 函 数 名         : AT24Cxx_WriteOneByte
* 函数功能    : 24c02写一个字节地址  数据    
* 输    入         : addr  dt
* 输    出         : 无
*******************************************************************************/
void AT24Cxx_WriteOneByte(u16 addru8 dt)
{
I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C_Send_Byte(dt);
I2C_Wait_Ack();
I2C_Stop();

delay_ms(10);
}

/*******************************************************************************
* 函 数 名         : AT24Cxx_WriteTwoByte
* 函数功能    : 24c02写2个字节地址  数据    
* 输    入         : addr  dt
* 输    出         : 无
*******************************************************************************/
void AT24Cxx_WriteTwoByte(u16 addru16 dt)
{
I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      59715  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\1.uvopt

     文件       3357  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\AT24Cxx\AT24CXX.c

     文件        510  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\AT24Cxx\AT24CXX.h

     文件       1879  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\beep\beep.c

     文件        194  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\beep\beep.h

     文件       4281  2018-12-17 19:06  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\DS18B20\ds18b20.c

     文件        452  2018-12-17 19:06  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\DS18B20\ds18b20.h

     文件       1581  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\exit\exti.c

     文件        151  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\exit\exti.h

     文件       3329  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\IIC(24C02)\iic.c

     文件        725  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\IIC(24C02)\iic.h

     文件       1095  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\key\key.c

     文件        451  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\key\key.h

     文件       2342  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\LED\led.c

     文件        182  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\LED\led.h

     文件       2082  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\printf\printf.c

     文件        147  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\printf\printf.h

     文件       2025  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\PWM\pwm.c

     文件         94  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\PWM\pwm.h

     文件       2580  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\RS485\rs485.c

     文件         98  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\RS485\rs485.h

     文件       1042  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\seg\smg.c

     文件        295  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\seg\smg.h

     文件       1314  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\SysTick\systick.c

     文件        121  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\SysTick\systick.h

     文件       1563  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\time\time.c

     文件        113  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\time\time.h

     文件       2301  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\usart\usart.c

     文件        102  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\APP\usart\usart.h

     文件        497  2016-12-14 16:00  STM32-串口能显示-超声波测距SR04 - LCD1602显示\Jlink Regs CM3.txt

............此处省略263个文件信息

评论

共有 条评论