单片机/MCUwilliam hill官网
直播中

马有财

10年用户 189经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[资料]

基于stm32之LED左移与右移

我的STM32学习之旅,第一个程序。
STM32之流水灯。
◆实验目的:
    学习GPIO作为输出的使用
   
◆硬件资源:
    1,LED  PB口(0~15)
   
◆实验现象:
    本实验通过代码控制STM32开发板上的16个LED左移/右移闪烁,实现流水灯的效果。

STM32单片机源程序如下:
  • #include "sys.h"
  • #include "delay.h"
  • #include "usart.h"
  • #include "led.h"
  • //*******************下面注释掉的代码是通过 直接操作寄存器 方式实现IO口控制**************************************
  • int main(void)
  • {
  •         u8 i;
  •         delay_init();                  //初始化延时函数
  •         LED_Init();                        //初始化LED端口
  •         while(1)
  •         {
  •                  GPIOB->BSRR=GPIO_Pin_All;//LED0灭
  •                 for(i=0;i<17;i++)
  •                 {
  •                         delay_ms(100);
  •                         GPIOB->BRR=(GPIO_Pin_0<                }
  •                 GPIOB->BSRR=GPIO_Pin_All;//LED0灭
  •                 for(i=0;i<17;i++)
  •                 {
  •                         delay_ms(100);
  •                         GPIOB->BRR=(GPIO_Pin_15>>i);//LED0右移1位
  •                 }
  •          }
  • }
  • //**************************************************************************************************


更多回帖

发帖
×
20
完善资料,
赚取积分