找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32用位带操作控制蜂鸣器和流水灯 附源程序

[复制链接]
跳转到指定楼层
楼主
ID:790136 发表于 2020-10-27 09:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
beep.c文件

#include "beep.h"
void beep_Init()
{
        
  GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//ê1ÄüGPIOBê±Öó
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Init(GPIOB,&GPIO_InitStructure);
   GPIO_SetBits(GPIOB,GPIO_Pin_5);
        
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//ê1ÄüGPIOCê±Öó
        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;
        GPIO_Init(GPIOC,&GPIO_InitStructure);
        GPIO_SetBits(GPIOC,GPIO_Pin_All);
}        

void delay(u32 i)
        {
        while(--i);
        }
        
void beep(){
        int i;
        
        for(i=0;i<8;i++){
        PBout(5) = 0;                //蜂鸣器置零
        PCout(i)=0;                //流水灯置零
        delay(0xffff);
        PBout(5) = 1;                //蜂鸣器置1
        PCout(i)=1;                //流水灯置1
        delay(0xffff);
        }
}



main.c文件主要代码:

int main()
{
        beep_Init();
        while(1)
        {
        beep();
        }
}



详细请看附件。全部资料51hei下载地址:
实验6用位带操作控制蜂鸣器和流水灯电路.7z (174.02 KB, 下载次数: 34)

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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