資源簡介
狀態機實現4按鍵 數碼管595*2 四位顯示 模塊編程
代碼片段和文件信息
#include?“IIC.h“
//延時函數delay(),有形參Count用于控制延時函數執行次數,無返回值
/****************************************************************/
static?void?delay(u16?Count)
{
??u8?ij;
??while?(Count--)//Count形參控制延時次數
??{
????for(i=0;i<2;i++)
??????for(j=0;j<3;j++);
??}
}
//static?void?delay(u16?Count)
//{
//????/*?Decrement?nCount?value?*/
//????while?(nCount?!=?0)
//????{
//????????nCount--;
//????}
//}
//void?USART1_SendStr(unsigned?char?*Str)?
//{
//????????while(*Str!=0)//不為結束
//????????{
//????????????USART_SendData8(USART1*Str);?????//發送數據?
//????????????while(!USART_GetFlagStatus?(USART1USART_FLAG_TXE));//等待發送完畢
//????????????Str++;//下一個數據
//????????}
//}
///****************************************************************/
//UART1發送單字符函數UART1_SendByte(),有形參data,無返回值
///****************************************************************/
//void?UART1_SendByte(u8?data)
//{
//??UART1_SR&=0xBF;//清零發送完成標志位TC
//??UART1_DR=data;//發送數據
//??while(!(UART1_SR&0x40));//等待發送完成
//??UART1_SR&=0xBF;//清零發送完成標志位TC
//}
//
///****************************************************************/
////UART1發送字符重定向函數putchar(),有形參ch有返回值
///****************************************************************/
//int?putchar(int?ch)?
//{?
//??UART1_SendByte((u8)ch);//將Printf內容發往串口
//??return?(ch);?
//}
/****************************************************************/
//I2C_SDA串行數據引腳方向性配置函數I2C_SDA_DDR(),有形參ddr無返回值
/****************************************************************/
void?I2C_SDA_DDR(u8?ddr)
{
??if(ddr==1)//配置為輸出方式
??{
????GPIO_Init(GPIOC?GPIO_Pin_0?GPIO_Mode_Out_OD_HiZ_Fast);
??}
??else//配置為輸入方式
??{
????GPIO_Init(GPIOC?GPIO_Pin_0?GPIO_Mode_In_PU_No_IT??);
??}
}
/****************************************************************/
//I2C總線起始信號配置函數I2C_START(),無形參,無返回值
/****************************************************************/
void?I2C_START(void)
{
??I2C_SDA_DDR(1);//配置SDA引腳為推挽輸出模式
??SDA_OUT=1;//SDA引腳置為高電平
??SCL=1;//SCL引腳置為高電平
??delay(1);//延時等待
??SDA_OUT=0;//將SDA置低產生下降沿(產生起始信號)
??delay(1);//延時等待
??SCL=0;//將SCL置低產生下降沿(允許SDA數據傳送)
??delay(1);//延時等待
}
/****************************************************************/
//I2C總線終止信號配置函數I2C_STOP(),無形參,無返回值
/****************************************************************/
void?I2C_STOP(void)
{
??I2C_SDA_DDR(1);//配置SDA引腳為推挽輸出模式
??SDA_OUT=0;//SDA引腳置為低電平
??SCL=0;//SCL引腳置為低電平
??delay(1);//延時等待
??SCL=1;//將SCL引腳置高產生上升沿
??delay(1);//延時等待
??SDA_OUT=1;//將SDA引腳置高產生上升沿(產生終止信號)
??//delay(1);//延時等待
}
/****************************************************************/
//I2C總線單字節數據寫入函數I2C_Write8Bit(u8?DAT),有形參DAT
//有返回值I2C_Write_ACK(應答信號變量值)若返回值為“0”則有從機應答
//若返回值為“1”則從機無應答
/****************************************************************/
u8?I2C_Write8Bit(u8?DAT)
{
??u8?numI2C_Write_ACK=0;//定義循環控制變量num
??//定義應答信號變量I2C_Write_ACK
??I2C_SDA_DDR(1);//配置SDA引腳為推挽輸出模式
??delay(1);//延時等待
??for(num=0x80;num!=0;num>>=1)//執行8次循環
??{
????if((DAT&
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9097??2020-09-02?14:37??STM8L051F_chankou\Bsp\iic.c
?????文件???????1092??2020-09-02?14:37??STM8L051F_chankou\Bsp\iic.h
?????文件????????706??2020-08-14?15:24??STM8L051F_chankou\Bsp\key.c
?????文件????????609??2020-08-13?22:46??STM8L051F_chankou\Bsp\key.h
?????文件???????2152??2020-08-13?15:52??STM8L051F_chankou\Bsp\led.c
?????文件???????1002??2020-08-13?15:33??STM8L051F_chankou\Bsp\led.h
?????文件????????408??2020-08-14?10:44??STM8L051F_chankou\Bsp\tim4.c
?????文件?????????97??2019-03-04?21:21??STM8L051F_chankou\Bsp\tim4.h
?????文件???????1582??2020-08-12?20:59??STM8L051F_chankou\Bsp\uart1.c
?????文件???????1017??2018-03-02?21:32??STM8L051F_chankou\Bsp\uart1.h
?????文件??????????3??2018-03-02?10:41??STM8L051F_chankou\BuildLog.log
?????文件??????19635??2020-09-02?14:37??STM8L051F_chankou\chankou.dep
?????文件??????16039??2020-08-13?20:53??STM8L051F_chankou\chankou.ewd
?????文件??????59638??2020-08-27?12:33??STM8L051F_chankou\chankou.ewp
?????文件?????161588??2020-08-27?12:33??STM8L051F_chankou\chankou.ewt
?????文件????????161??2019-01-03?11:13??STM8L051F_chankou\chankou.eww
?????文件???????8198??2020-09-02?14:37??STM8L051F_chankou\Debug\Exe\UART.hex
?????文件?????115052??2020-09-02?14:37??STM8L051F_chankou\Debug\Exe\UART.out
?????文件??????26973??2020-09-02?14:37??STM8L051F_chankou\Debug\List\UART.map
?????文件?????694127??2020-09-02?15:35??STM8L051F_chankou\Debug\Obj\chankou.pbd
?????文件?????694127??2020-09-02?15:35??STM8L051F_chankou\Debug\Obj\chankou.pbd.browse
?????文件????????591??2020-09-02?15:35??STM8L051F_chankou\Debug\Obj\chankou.pbd.linf
?????文件??????24943??2020-09-02?14:37??STM8L051F_chankou\Debug\Obj\iic.o
?????文件?????619412??2020-09-02?14:37??STM8L051F_chankou\Debug\Obj\iic.pbi
?????文件??????11595??2020-09-02?14:37??STM8L051F_chankou\Debug\Obj\iic.pbi.xcl
?????文件??????14121??2020-09-01?14:52??STM8L051F_chankou\Debug\Obj\key.o
?????文件?????610263??2020-09-01?14:53??STM8L051F_chankou\Debug\Obj\key.pbi
?????文件??????11595??2020-09-01?14:53??STM8L051F_chankou\Debug\Obj\key.pbi.xcl
?????文件??????11434??2020-09-01?14:52??STM8L051F_chankou\Debug\Obj\led.o
?????文件?????610951??2020-09-01?14:53??STM8L051F_chankou\Debug\Obj\led.pbi
............此處省略150個文件信息
- 上一篇:職工信息管理系統源碼(控制臺)
- 下一篇:svpwm程序
評論
共有 條評論