标题: stm8s208mb单个led闪烁实验源码 [打印本页]

作者: qq782119142    时间: 2018-11-17 16:18
标题: stm8s208mb单个led闪烁实验源码
#include "iostm8s208mb.h"//主控芯片的头文件
/************************常用数据类型定义*************************/
#define u8  uint8_t
#define u16 uint16_t
#define u32 uint32_t
typedef unsigned char    uint8_t;
typedef unsigned short   uint16_t;
typedef unsigned long    uint32_t;
/*************************端口/引脚定义区域***********************/
#define LED   PI_ODR_ODR0//连接至LED引脚
/**************************函数声明区域***************************/
void delay(u16 Count);//延时函数声明
/**************************主函数区域*****************************/
void main(void)
{
  PI_DDR_DDR0=1; //配置PI0端口为输出模式
  PI_CR1_C10=1;  //配置PI0端口为推挽输出模式
  PI_CR2_C20=0;  //配置PI0端口低斜率输出
  LED=1;         //上电后让PI0引脚输出高电平
  while(1)      //执行死循环
  {
    //小实验1***************************
    //LED=1;//让PI0引脚输出高电平
   // delay(200);//延时保持熄灭状态
    //LED=0;//让PI0引脚输出低电平
    //delay(2000);//延时保持点亮状态
    //小实验2***************************
    //LED=!LED;//让PI0引脚输出高电平
    //delay(200);//延时保持熄灭状态
    //小实验3***************************
    LED=1;//让PI0引脚输出高电平
    delay(2000);//延时保持熄灭状态
    LED=0;//让PI0引脚输出低电平
    delay(10);//延时保持点亮状态
  }
}
/****************************************************************/
//延时函数delay(),有形参Count用于控制延时函数执行次数,无返回值
/****************************************************************/
void delay(u16 Count)
{
  u8 i,j;
  while (Count--)//Count形参控制延时次数
  {
    for(i=0;i<50;i++)
      for(j=0;j<20;j++);
  }
}


作者: 1500hjw    时间: 2018-11-17 18:50
对嵌入式有帮助
作者: 1500hjw    时间: 2018-11-17 18:51
对于嵌入式学习可以参考
作者: newwd    时间: 2018-11-17 19:57
学习一下。多谢楼主分享




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1