找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1789|回复: 3
打印 上一主题 下一主题
收起左侧

初学STM32用proteus仿真8个流水灯循环显示

[复制链接]
跳转到指定楼层
楼主
最近用keil MDK完成了一个关于用STM32驱动8个LED灯循环点亮的项目由于是初学菜鸟,想记录一下自己的学习历程,还请大家多多指教
  1. #include "stm32f10x.h"

  2. void Delay(unsigned int count)                                                          //延时函数
  3. {
  4.         unsigned int i;
  5.         for(;count!=0;count--)
  6.         {
  7.                 i=5000;
  8.                 while(i--);
  9.         }        
  10. }

  11. void GPIO_LEDInit(void)
  12. {        
  13.         GPIO_InitTypeDef  GPIO_InitStructure;        //初始化变量

  14.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);        //使能LED的GPIOC时钟

  15.                 // 配置 LED灯使用的GPIO引脚
  16.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
  17.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;                                        //推挽输出
  18.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;

  19.         GPIO_Init(GPIOC,&GPIO_InitStructure);                                                        //对LED的GPIOC口初始化

  20.         GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);        //关闭所有的LED
  21. }



  22. int main()
  23. {        
  24.   GPIO_LEDInit();                        //初始化LED引脚

  25.         while(1)
  26.         {        
  27.                 GPIO_SetBits(GPIOC,GPIO_Pin_7);        //关7
  28.                 GPIO_ResetBits(GPIOC,GPIO_Pin_0);         //开0
  29.                 Delay(300);                //延时
  30.                 GPIO_SetBits(GPIOC,GPIO_Pin_0);         //关0
  31.                 GPIO_ResetBits(GPIOC,GPIO_Pin_1);         //开1
  32.           Delay(300);                //延时
  33.                 GPIO_SetBits(GPIOC,GPIO_Pin_1);         //关1
  34.                 GPIO_ResetBits(GPIOC,GPIO_Pin_2);         //开2
  35.                 Delay(300);                //延时
  36.                 GPIO_SetBits(GPIOC,GPIO_Pin_2);         //关2
  37.                 GPIO_ResetBits(GPIOC,GPIO_Pin_3);         //开3
  38.                 Delay(300);                //延时               
  39.                 GPIO_SetBits(GPIOC,GPIO_Pin_3);        //关3
  40.                 GPIO_ResetBits(GPIOC,GPIO_Pin_4);         //开4
  41.                 Delay(300);                //延时
  42.                 GPIO_SetBits(GPIOC,GPIO_Pin_4);         //关4
  43.                 GPIO_ResetBits(GPIOC,GPIO_Pin_5);         //开5
  44.           Delay(300);                //延时
  45.                 GPIO_SetBits(GPIOC,GPIO_Pin_5);         //关5
  46.                 GPIO_ResetBits(GPIOC,GPIO_Pin_6);         //开6
  47.                 Delay(300);                //延时
  48.                 GPIO_SetBits(GPIOC,GPIO_Pin_6);         //关6
  49.                 GPIO_ResetBits(GPIOC,GPIO_Pin_7);         //开7
  50.                 Delay(300);                //延时               
  51.         }
  52. }
复制代码

51hei.png (162.62 KB, 下载次数: 70)

proteus搭的仿真电路

proteus搭的仿真电路

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:155260 发表于 2023-6-26 09:28 | 只看该作者
proteus可以搭STM32了?
回复

使用道具 举报

板凳
ID:647261 发表于 2023-7-10 11:15 | 只看该作者
感谢楼主!
我搞了半天没搞成功
用楼主的代码,一下就好了
总算可以开始用proteus学STM32了
熟悉了再买块开发板练练
回复

使用道具 举报

地板
ID:200661 发表于 2023-10-30 09:43 | 只看该作者
不错的方案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表