打印
[STM8]

stm8 开发例程 一些基础外设-------LED

[复制链接]
462|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenqiang10|  楼主 | 2019-2-27 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chenqiang10 于 2019-2-27 14:52 编辑


void LED_conf(void)
{
  PD_DDR|=0x0f;   /* 设置数据方向寄存器 1为输出,0为输入--查看STM8寄存器.pdf P87 */
  PD_CR1|=0x0f;   /* 设置推挽输出--查看STM8寄存器.pdf P88 */
  PD_CR2|=0x0f;   /* 设置输出频率 1为10M,0为2M--查看STM8寄存器.pdf P89 */

}


沙发
chenqiang10|  楼主 | 2019-2-27 14:48 | 只看该作者
/**************************************************************************
* 函数名:Set_Led_On
* 描述  :LED灯全亮
* 输入  :无
*
* 输出  :无
* 返回  :无
* 调用  :外部调用
*************************************************************************/
void Set_Led_On(void)
{
  PD_ODR&=0xf0;   /* 对数据寄存器写入值 写0亮,写1灭--查看STM8寄存器.pdf P85 */
}

使用特权

评论回复
板凳
chenqiang10|  楼主 | 2019-2-27 14:48 | 只看该作者
/**************************************************************************
* 函数名:Set_Led_Off
* 描述  :LED灯全灭
* 输入  :无
*
* 输出  :无
* 返回  :无
* 调用  :外部调用
*************************************************************************/
void Set_Led_Off(void)
{
  PD_ODR|=0x0f;   /* 对数据寄存器写入值 写0亮,写1灭--查看STM8寄存器.pdf P85 */
}

使用特权

评论回复
地板
chenqiang10|  楼主 | 2019-2-27 14:50 | 只看该作者
/**************************************************************************
* 函数名:LED_Display
* 描述  :LED流水灯
* 输入  :无
*
* 输出  :无
* 返回  :无
* 调用  :外部调用
*************************************************************************/
void LED_Display(void)
{
  u8 PortVal;
  for(PortVal=0;PortVal<4;PortVal++)
  {
      PD_ODR =(u8)(~(1<<PortVal));    /* 移位再取反  */   
      Delay(0x1fff);    /* 延时一小段时间,否则看不出LED的亮灭效果 */
  }
}

使用特权

评论回复
5
chenqiang10|  楼主 | 2019-2-27 14:50 | 只看该作者
/**************************************************************************
* 函数名:LED_Display_Bit
* 描述  :用51编程风格实现LED0的亮灭
* 输入  :无
*
* 输出  :无
* 返回  :无
* 调用  :外部调用
*************************************************************************/
void LED_Display_Bit()
{
  PD0_out = 0;    /* PD0引脚输出0 */
  Delay(0x1fff);  
  PD0_out = 1;    /* PD0引脚输出1 */
  Delay(0x1fff);  
}

使用特权

评论回复
6
chenqiang10|  楼主 | 2019-2-27 14:51 | 只看该作者
/**************************************************************************
* 函数名:Delay
* 描述  :延时函数
* 输入  :nCount--要延时的计数值
*
* 输出  :无
* 返回  :无
* 调用  :内部调用
*************************************************************************/
static void Delay(u32 nCount)
{
  /* Decrement nCount value */
  while (nCount != 0)
  {
    nCount--;
  }

}

使用特权

评论回复
7
chenqiang10|  楼主 | 2019-2-27 14:52 | 只看该作者
压缩包如下:

2-LED.zip

587.06 KB

使用特权

评论回复
8
木木guainv| | 2019-3-8 12:56 | 只看该作者
非常的清晰明了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

940

帖子

1

粉丝