STM8S的学习-LED(1)

来源:互联网 发布:大数据工程师辛苦吗 编辑:程序博客网 时间:2024/05/16 04:59

 无论学习什么都要先从简单的东西入手,驱动小灯都会成为学习者的第一课,让小灯闪烁,通过配置IO口的状态,让IO口隔间隔的输出高低电平,间隔时间为ms级的否则认的肉眼难以设别小灯的亮灭!

 程序如下:

 /*

//软件环境:IAR FOR STM8 V1.0

//硬件:STM8S-Discovery
//作者:Nicole

//功能:小灯闪烁

//日期:2010.11.01

*/
 #include "iostm8s105c6.h"

unsigned int i;

//时钟初始化
void CLK_Init(void)
{
  CLK_CKDIVR = 0x00;  
}

//GPIO初始化

void GPIO_Init(void)
{
 PD_DDR|=0x01;   //PD0输出,其余保持原功能
 PD_CR1|=0x01;   //对应位设置为推挽输出
 PD_CR2|=0x00;  //输出最大频率为2Mhz
 
}

//延时程序

void Delay(unsigned int i)
{
  unsigned int j;
  while(i--)
  {
    for(j=100;j>0;j--);
  }

}

 

//主函数

main()
{

  CLK_Init();
  GPIO_Init();
 while (1)   //循环
 {
  
  PD_ODR=0xff;   //PD0为输出0,LED灭  
  Delay(500);
  PD_ODR=0xfe;   //PD0为输出1,LED亮  
  Delay(500);
 }
}