找回密码
 立即注册

QQ登录

只需一步,快速开始

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

利用以STM32为MCU的OneNET开发板设计简单的流水灯+蜂鸣器程序+原理图

[复制链接]
跳转到指定楼层
楼主
原理图:开发板原理图置于附件中。
功能说明:此程序为入门级程序,我也是一枚刚入门stm32的菜鸟。开发板中的红、绿、黄、蓝灯每相隔0.5s闪一次,同时伴随着蜂鸣器的响一声,如此往复


电路原理图如下:


主函数代码:
  1. /**********时间:2019年5月28日16:53:45*********************/

  2. #include "stm32f10x.h"
  3. #include "delay.h"

  4. void RCC_Configuration(void);
  5. void GPIO_Configuration(void);
  6. void delay(unsigned int ncount);


  7. unsigned char i  = 0;                                //循环标志
  8. unsigned int led[4];
  9. int main(void)
  10. {
  11.                 RCC_Configuration();                //系统时钟初始化
  12.                 GPIO_Configuration();                //端口初始化
  13.                 GPIO_SetBits(GPIOC,GPIO_Pin_7);
  14.                 GPIO_SetBits(GPIOC,GPIO_Pin_8);
  15.                 GPIO_SetBits(GPIOA,GPIO_Pin_12);
  16.                 GPIO_SetBits(GPIOC,GPIO_Pin_10);
  17.                 Delay_Init();
  18.                 led[0] = GPIO_Pin_7;
  19.                 led[1] = GPIO_Pin_8;
  20.                 led[2] = GPIO_Pin_12;
  21.                 led[3] = GPIO_Pin_10;
  22.                  //GPIO_SetBits(GPIOB,GPIO_Pin_3);
  23.                 while(1)
  24.                 {
  25.                                for(i=0;i<4;i++)
  26.                                 {
  27.                                         if(i!=2)
  28.                                         GPIO_ResetBits(GPIOC,led[i]);
  29.                                         else
  30.                                         GPIO_ResetBits(GPIOA,led[i]);
  31.                                        
  32.                                         GPIO_ResetBits(GPIOB,GPIO_Pin_3);
  33.                                         DelayMs(500);        
  34.                                         GPIO_SetBits(GPIOB,GPIO_Pin_3);
  35.                                        
  36.                                         if(i!=2)
  37.                                         GPIO_SetBits(GPIOC,led[i]);
  38.                                         else
  39.                                         GPIO_SetBits(GPIOA,led[i]);
  40.                                         DelayMs(500);
  41.                                        
  42.                                 }
  43.                                 
  44.                 }
  45. }

  46. void delay(unsigned int ncount)
  47. {
  48.           for(;ncount!=0;ncount--);
  49. }

  50. void RCC_Configuration(void)
  51. {
  52.                 SystemInit();                                        //系统时钟
  53.                 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);        //打开GPIOA和GPIOC时钟
  54.                 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  55. }

  56. void GPIO_Configuration(void)
  57. {
  58.                 GPIO_InitTypeDef GPIO_InitStructure;                //定义GPIO结构体
  59.                 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_10|GPIO_Pin_8;
  60.                 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  61.                 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;        
  62.                 GPIO_Init(GPIOC,&GPIO_InitStructure);
  63.                
  64.                 //GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
  65.                 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;        
  66.                 GPIO_Init(GPIOA,&GPIO_InitStructure);
  67.         
  68.                 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;
  69.                 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  70.                 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  71.                 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);        //禁止JTAG功能
  72.                 GPIO_Init(GPIOB,&GPIO_InitStructure);        
  73. }



复制代码
全部资料51hei下载地址:
程序+原理图.7z (253.32 KB, 下载次数: 17)


评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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