資源簡介
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顯示\Jli
............此處省略263個文件信息
評論
共有 條評論