• 大小: 3.18M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-16
  • 语言: C/C++
  • 标签: STM8  4按键  状态机  

资源简介

状态机实现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个文件信息

评论

共有 条评论