欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

点亮单个LED实验

程序员文章站 2022-07-03 14:14:39
...

连接接原理图

点亮单个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 u8  unsigned char
#define u16 unsigned short
#define u32 unsigned long

/*************************端口/引脚定义区域***********************/
#define LED1   PI_ODR_ODR0//连接至LED引脚PI0
#define LED2   PI_ODR_ODR1//连接至LED引脚PI1
#define LED3   PI_ODR_ODR2//连接至LED引脚PI2
#define LED4  PI_ODR_ODR3//连接至LED引脚PI3
/**************************函数声明区域***************************/
void delay(u16 Count);          //延时函数
/**************************主函数区域*****************************/
void main(void)
{
  PI_DDR_DDR0=1; //配置PI0端口为输出模式
  PI_CR1_C10=1;  //配置PI0端口为推挽输出模式
  PI_CR2_C20=0;  //配置PI0端口低斜率输出2MHz
  LED1=1;         //让PI0引脚输出低电平
 
  PI_DDR_DDR1=1; //配置PI1端口为输出模式
  PI_CR1_C11=1;  //配置PI1端口为推挽输出模式
  PI_CR2_C21=0;  //配置PI1端口低斜率输出2MHz
  LED2=1;         //让PI1引脚输出低电平
  
  PI_DDR_DDR2=1; //配置PI2端口为输出模式
  PI_CR1_C12=1;  //配置PI2端口为推挽输出模式
  PI_CR2_C22=0;  //配置PI2端口低斜率输出2MHz
  LED3=1;         //让PI2引脚输出低电平
  
  PI_DDR_DDR3=1; //配置PI3端口为输出模式
  PI_CR1_C13=1;  //配置PI3端口为推挽输出模式
  PI_CR2_C23=0;  //配置PI3端口低斜率输出2MHz
  LED4=1;         //让PI3引脚输出低电平
  
   while(1)
  {
  LED1=0; 
  delay(200);
  LED1=1;
  delay(200);
  
  LED2=0; 
  delay(200);
  LED2=1;
  delay(200);
  
  LED3=0; 
  delay(200);
  LED3=1;
  delay(200);
  
  LED4=0; 
  delay(200);
  LED4=1;
  delay(200);
  }
}

void delay(u16 Count)
{
  u8 i,j;
  while (Count--)//Count形参控制延时次数
  {
    for(i=0;i<50;i++)
      for(j=0;j<20;j++);
  }
}

 

相关标签: LED