0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于51单片机按键控制喇叭发出多种声音

电子工程师成长日记 来源:电子工程师成长日记 2023-09-21 09:09 次阅读

具体实现功能:

51单片机按键控制喇叭发出多种声音。

仿真视频

设计介绍

5ebc978e-57cc-11ee-939d-92fbcf53809c.png

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

51系列单片机具有以下标准功能:

8k字节Flash,512字节RAM

32位I/O口线,看门狗定时器

内置4KB EEPROM

MAX810复位电路,

三个16位定时器/计数器,

一个6向量2级中断结构,

全双工串行口。

另外, 51系列在空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止工作,直到下一个中断或硬件复位为止。本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

5edd19d2-57cc-11ee-939d-92fbcf53809c.png

设计思路

文献研究法:搜集整理相关研究资料,阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体实验等方法,发现相关存在问题和解决办法;

比较分析法:比较不同设计的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现硬件,最后测试各项功能是否满足要求。

单片机类设计论文参考模板:

毕设无忧|单片机类毕设论文模板

设计内容

仿真图(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

注:免费分享,请按照下图自行绘制仿真!!

5ee49900-57cc-11ee-939d-92fbcf53809c.png

protues8.7软件资料及仿真解决办法:

proteus8.7安装及破解教程(内附安装包)

protues仿真常见问题解决方案

Protues8.7简易教程

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

注:全部代码免费分享,请自行建立工程!!

本设计由C语言编写,全部代码如下:

#include 
#define uchar unsigned char
#define uint unsigned int


sbit BEEP = P3^7;
sbit K1   = P1^4;
sbit K2   = P1^5;
sbit K3   = P1^6;
sbit K4   = P1^7;


void DelayMS(uint x)
{
   uchar t;
  while(x--)
  {
     for(t=0;t<120;t++);
  }
}


void Play(uchar t)
{
   uchar i;
  for(i=0;i<100;i++)
  {
     BEEP = ~BEEP;
    DelayMS(t);
  }
  BEEP = 0;
}


void main()
{
   P1 = 0xff;
  while(1)
  {
     if(K1==0) Play(1);
    if(K2==0) Play(2);
    if(K3==0) Play(3);
    if(K4==0) Play(4);
  }
}

运行结果如图:

5efa2216-57cc-11ee-939d-92fbcf53809c.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7557

    浏览量

    151445
  • 单片机
    +关注

    关注

    6037

    文章

    44559

    浏览量

    635502
  • 仿真
    +关注

    关注

    50

    文章

    4085

    浏览量

    133636
  • 51单片机
    +关注

    关注

    274

    文章

    5704

    浏览量

    123646
  • 按键控制
    +关注

    关注

    1

    文章

    44

    浏览量

    8792

原文标题:设计分享|单片机按键控制发音

文章出处:【微信号:电子工程师成长日记,微信公众号:电子工程师成长日记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    51单片机按键控制蜂鸣器发声

    51单片机按键控制蜂鸣器发声,功能:按单片机按键,蜂鸣器发出不同的
    发表于 07-14 06:59

    51单片机按键控制的原理是什么?

    51单片机按键控制的原理
    发表于 11-01 07:23

    单片机按键控制程序【汇编版】

    单片机按键控制程序【汇编版】单片机按键控制程序【汇编版】单片机按键控制程序【汇编版】
    发表于 12-29 11:04 0次下载

    使用51单片机进行按键控制的资料说明

    本文档的主要内容详细介绍的是使用51单片机进行按键控制的资料说明。
    发表于 08-28 17:29 5次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>进行<b class='flag-5'>按键控制</b>的资料说明

    使用按键控制51单片机的不同功能的程序免费下载

    本文档的主要内容详细介绍的是使用按键控制51单片机的不同功能的程序免费下载
    发表于 08-16 17:32 11次下载
    使用<b class='flag-5'>按键控制</b><b class='flag-5'>51</b><b class='flag-5'>单片机</b>的不同功能的程序免费下载

    使用51单片机外部中断按键控制LED闪烁的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机外部中断按键控制LED闪烁的程序免费下载。
    发表于 07-05 17:41 27次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>外部中断<b class='flag-5'>按键控制</b>LED闪烁的程序免费下载

    使用51单片机进行矩阵按键控制的C语言程序免费下载

    本文档的主要内容详细介绍的是使用51单片机进行矩阵按键控制的C语言程序免费下载。
    发表于 06-25 17:43 3次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>进行矩阵<b class='flag-5'>按键控制</b>的C语言程序免费下载

    如何使用51单片机按键控制舵机旋转

    本文档的主要内容详细介绍的是如何使用51单片机按键控制舵机旋转主要内容包括了:1.舵机的与单片机的连接 ,2.PWM波的简单了解, 3.程序示例 ,4.开发程序难点
    发表于 06-18 17:44 23次下载
    如何使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>按键控制</b>舵机旋转

    51单片机通过按键控制LED灯闪烁

    51单片机通过按键控制LED灯闪烁
    发表于 11-11 18:36 122次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>通过<b class='flag-5'>按键控制</b>LED灯闪烁

    单片机按键使用程序 (51单片机

    单片机独立按键使用程序 (51单片机)独立按键单片机中很重要的一个器件,在这篇文章里,通过这个
    发表于 11-11 18:36 108次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>按键</b>使用程序 (<b class='flag-5'>51</b><b class='flag-5'>单片机</b>)

    51单片机学习笔记之按键控制一盏小灯

    51单片机学习笔记之按键控制一盏小灯
    发表于 11-14 10:36 3次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>学习笔记之<b class='flag-5'>按键控制</b>一盏小灯

    独立按键控制--51单片机实验

    独立按键控制51单片机实验用两个按键控制显示。一个按钮按下使第二个数码管上数字从0到9循环显示,另一个按钮按下使第三个数码管上数字从9到0循环显示。//#include<
    发表于 11-23 16:36 16次下载
    独立<b class='flag-5'>按键控制</b>--<b class='flag-5'>51</b><b class='flag-5'>单片机</b>实验

    基于51单片机按键控制8×8LED点阵屏显示图形仿真设计

    基于51单片机按键控制8×8LED点阵屏显示图形仿真设计,资料包含仿真及源程序文件
    发表于 04-20 16:30 15次下载

    基于89C51单片机的步进电机按键控制源程序

    基于89C51单片机的步进电机按键控制源程序
    发表于 05-16 09:43 7次下载

    基于89C51单片机的舵机按键控制程序源程序

    基于89C51单片机的舵机按键控制程序源程序
    发表于 05-16 09:09 6次下载