4场进球彩赛程什么意思 足球4场进球 4场进球彩过滤软件 4场进球彩怎么叫中奖 河北体彩4场进球samplingid126 湖南体彩足彩4场进球samplingid123 河北体彩4场进球samplingid103 4场进球360 4场进球的玩法 4场进球彩18078期开奖 4场进球彩开奖历史 4场进球彩预测方法 2017年12月4场进球 4场进球奖金 4场进球最新开奖
【四旋翼飞行器】76小时吃透四轴算法!?#39134;?#26368;强软硬结合实战项目,??戳此立抢??

如何有效编程单片机有源蜂鸣器驱动

蜂鸣器是很常见的设备,分为无源和有源两种。根据项目需求选择不同类型的蜂鸣器。最近的项目里有用到有源蜂鸣器对有源蜂鸣器。还是老一套,把电路板画完,接着编程。

在项目中原理图如下:

如果不能保证I/O的输出性能可以根据情况增加上拉或者下拉电阻。

切入正题:在程序里面这个蜂鸣器的驱动就是个高低电平驱动。高电平三极管导通、蜂鸣器发声,低电平三极管关断、蜂鸣器不发声。这的确很简单,程序上最开始我是这样写的:

当然,如果单片机没有很好的I/O跳变函数也可以这样修?#27169;?/p>

这里稍作解释:

1)

函数功能:蜂鸣器发声驱动

传入参数:蜂鸣器发声的次数

2)

传入的次数cnt需要再函数内翻倍。这是因为传入的参数是想让蜂鸣器连续的发cnt声。但是蜂鸣器除了发声还有不发声的时候。也就是说蜂鸣器每响一次都需要关闭一次,如果没有关闭操作肯定就不会出现响几声而是连续的响一声,这个也很容易?#35780;懟?/p>

3)

在while循环完之后需要加一个蜂鸣器关闭操作。

这里假如传进的参数是2,目的是让蜂鸣器响两声。根据程序的执行步骤:

cnt2变成4。

第1次while(4) 蜂鸣器开 cnt自减到3

第2次while(3) 蜂鸣器关 cnt自减到2

第3次while(2) 蜂鸣器开 cnt自减到1

第4次while(1) 蜂鸣器关 cnt自减到0

第5次while(0) 跳出while

可以看出其实在while之后蜂鸣器状态已经是关闭的了,但是保险起见,确保函数调用完之后蜂鸣器是关闭的状态。比如第一个函数I/O跳变的就更需要保障了,因为代码?#29616;?#33021;看出跳变,看不到跳变之后的状态。

至此,一个简单的蜂鸣器电路和驱动程序就都温习完了,接下来上干货:

在写程序的时候很多时候讲究程序的效率,比如这个蜂鸣器驱动,驱动过程中会降低效率,厉害的人很快能看出来,就是这个Delay延时的问题。但是上面也说了,不延时也是不行的。所以趋于效率?#39029;?#35797;着换了一种方法驱动蜂鸣器。

代码如下:

实?#21046;?#26469;也很简单,简单说下原理:

1)首先是提供蜂鸣器驱动的I/O配置,

2)其次是定时器的配置

3)最后是定时器中断函数实现

我选用的定时器是项目单片机中最简单的一个定时器,配制成1ms中断,能够提供溢出中断。其实这个定时器我常用做计系统运行时间Systick_ms。但是该项目对这个系统时间没有用到,那就用这个定时器做文章?#36873;?/p>

实现方法:

1、同样函数在调用蜂鸣器驱动的时候接口是一样的,传入的参数还是蜂鸣器的响声次数。

2、函数体变了,这里改成了两个变量的赋值,第一个BELL_CNT同普通方法中的cnt2,这里不再赘述。第二个是FLAG_BELL是用来保存蜂鸣器是否需要驱动的状态变量。所以既然是调用驱动函数,?#24378;?#23450;这个变量要为真。

3、定时器中断函数里面加上了一个静态变量NOW,他的作用就是和Systic_ms产生一个50ms的时间片,干嘛用?肯定是给蜂鸣器开关之间的延时用咯。模拟软件延时嘛。然后再来分析下这段代码:

1)首先这个NOW和Systic_ms是无条件需要赋值保证50ms时间片的。对应的代码为NOW=Systick_ms+50;

2)判断蜂鸣器驱动状态变量是不是真,如果不为真就关闭蜂鸣器,这个也是无条件的。

3)如果状态变量为真:蜂鸣器先跳变Bell_Tog();当然如果没有这个跳变函数也可以用上述的判断cnt的方法,就不多?#25139;?#37117;是一样的。同时次数自减BELL_CNT--;同时判断是不是减到0了,减到0了说明响完了啊,那就把状态变量赋值为假。再次进来不管蜂鸣器是开着的还是关着的都会执行关闭操作,这个跟上面说的保险一样。

4)最后,这两个变量用的是全局变量,这里是以结构体的形式呈现的,因为很多情况这两个函数不在一个C里面。如果硬要写在一个C可?#38498;?#30053;本条。

原文标题:单片机有源蜂鸣器驱动之效率编程

文章出处:【微信号:mcu168,微信公众号?#21644;?#36716;单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

浅析单片机入门常用的接口电路及其编程

在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、....
的头像 玩转单片机 发表于 02-17 09:58 ? 94次 阅读
浅析单片机入门常用的接口电路及其编程

32位单片机与嵌入式操作系统的测试复习题和答案资料免费下载

本文档的主要内容详细介绍的是32位单片机与嵌入式操作系统的测试复习题资料免费下载。
发表于 02-15 17:19 ? 45次 阅读
32位单片机与嵌入式操作系统的测试复习题和答案资料免费下载

STM32固件库使用手册的中文翻译版

STM32固件库使用手册的中文翻译版
发表于 02-15 16:13 ? 393次 阅读
STM32固件库使用手册的中文翻译版

单片机教程之并行接口P0到P3和单片机的中断系统资料概述

本文档的详细介绍的是单片机教程之并行接口P0到P3和单片机的中断系统资料概述主要内容包括了: 1.....
发表于 02-15 15:59 ? 50次 阅读
单片机教程之并行接口P0到P3和单片机的中断系统资料概述

单片机与嵌入式的详细资料总结免费下载

本文档的主要内容详细介绍的是单片机与嵌入式的详细资料总结包括了:1.嵌入式系统概述,2.常用嵌入式平....
发表于 02-15 10:28 ? 35次 阅读
单片机与嵌入式的详细资料总结免费下载

计算机每执行一条指令都可分为三个阶段进行

单片机执行指令过程详解单片机执行程序的过程,?#23548;?#19978;就是执行我们所编制程序的过程。即逐条指令的过程。计....
的头像 玩转单片机 发表于 02-15 09:53 ? 918次 阅读
计算机每执行一条指令都可分为三个阶段进行

单片机执行指令过程详解

因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器....
的头像 玩转单片机 发表于 02-15 09:53 ? 1124次 阅读
单片机执行指令过程详解

通过MATLAB生成的数据存入单片机如何通过DA转换接收?

我现在通过MATLAB生成了一组随机数,有小数,现在想将这一组随机数存入单片机中,再通过10位的D/A转换成电压信号。 问:...
发表于 02-15 09:50 ? 251次 阅读
通过MATLAB生成的数据存入单片机如何通过DA转换接收?

请教如何分析这个蜂呜器电路?

这个R66在电?#20998;?#36215;了什么作用,?#33455;?#22914;果导通了电蜂鸣器的电流会很大吧。 ...
发表于 02-15 09:16 ? 385次 阅读
请教如何分析这个蜂呜器电路?

使用STM32F107单片机控制CH451数码管左移显示键码值

本文档的主要内容详细介绍的是利用STM32F107单片机控制CH451,数码管依次左移显示键码值。
发表于 02-15 08:00 ? 30次 阅读
使用STM32F107单片机控制CH451数码管左移显示键码值

请问PIC单片机采用的是什么内核?

stm32采用的ARm的内核,那pIC单片机采用的是谁的内核?是他自己公司开发的内核吗?...
发表于 02-15 05:42 ? 210次 阅读
请问PIC单片机采用的是什么内核?

单片机教程之汇编语言程序设计及仿真调试的资料说明

一般来说,在汇编语言源程序中用指令助记符编写的程序,都可以一一对应的产生目标程序。但还有一些指令,例....
发表于 02-14 17:34 ? 52次 阅读
单片机教程之汇编语言程序设计及仿真调试的资料说明

单片机教程之单片机总线与存储器的扩展资料说明

本文档的详细介绍的是单片机教程之单片机总线与存储器的扩展资料说明主要内容包括了:1.单片机系统总线和....
发表于 02-14 17:34 ? 37次 阅读
单片机教程之单片机总线与存储器的扩展资料说明

单片机教程之单片机的定时计数器与串行接口的详细资料说明

本文档的详细介绍的是单片机教程之单片机的定时计数器与串行接口的详细资料说明主要内容包括了:1.定时计....
发表于 02-14 17:33 ? 40次 阅读
单片机教程之单片机的定时计数器与串行接口的详细资料说明

新型单片机技术丛书—单片机外围电路设计 (第2版)

本书从实用?#23884;?#20986;发,全面系统深入地阐述了MCS-51单片机及其兼容机外围电路的设计与应用。  全书共10章。第1章至第3章分别介...
发表于 02-14 16:32 ? 323次 阅读
新型单片机技术丛书—单片机外围电路设计 (第2版)

Tank-1测试架(可烧录测试ESP8266系列)

使用说明
发表于 02-14 11:52 ? 49次 阅读
Tank-1测试架(可烧录测试ESP8266系列)

匠人手记:一个单片机工作者的?#23548;?#19982;思考PDF完整版电子书免费下载

本书是作者在从事单片机开发与应用的过程中,将?#23548;示?#39564;教训和心得感悟加以总结,整理而成的工作手记。每篇....
发表于 02-14 11:20 ? 73次 阅读
匠人手记:一个单片机工作者的?#23548;?#19982;思考PDF完整版电子书免费下载

关于正负电压输出电路设计问题

要求是: 需要用单片机的 I/0控制一个电路输出-6,+6V电压 I/0 高的时候输出-6V 低的时候输出+6V  要求用三极...
发表于 02-14 09:15 ? 205次 阅读
关于正负电压输出电路设计问题

使用ATtiny单片机进行电子蜡烛的制作过程和原理图资料免费下载

本文档的主要内容详细介绍的是使用ATtiny单片机进行电子蜡烛的制作过程和原理图资料免费下载。
发表于 02-14 08:00 ? 24次 阅读
使用ATtiny单片机进行电子蜡烛的制作过程和原理图资料免费下载

ATtiny单片机电子蜡烛的制作源代码程序资料免费下载

本文档的主要内容详细介绍的是ATtiny电子蜡烛的制作源代码程序资料免费下载。
发表于 02-14 08:00 ? 36次 阅读
ATtiny单片机电子蜡烛的制作源代码程序资料免费下载

CUBEMX HAL库经常接收不到数据

我发现 HAL库,使用 ?#20999;?#36890;讯的组件,经常会发生 数据接收不到的情况,CAN,UART 都这样。 为此 我在主循?#20998;?#20551;如了错...
发表于 02-14 07:36 ? 275次 阅读
CUBEMX HAL库经常接收不到数据

请问怎么读出单片机上电时的RAM值?

如题,如何读出单片机上电时的RAM值?
发表于 02-14 05:02 ? 212次 阅读
请问怎么读出单片机上电时的RAM值?

通过STM32控制GSM拨打电话不正常

      我这个东西是使用STM32去控制GSM模块(TC35I模块)拨打电话,通过串口1去控制GSM模块实现...
发表于 02-14 04:44 ? 31次 阅读
通过STM32控制GSM拨打电话不正常

探析单片机最小系统振荡电路图原理

振荡电路图单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程?#33455;?#20307;振荡器,他结合单片机内部电路....
的头像 玩转单片机 发表于 02-13 16:20 ? 218次 阅读
探析单片机最小系统振荡电路图原理

如何计算给单片机寄存器赋的值

不同的单片机,外部表现就是形状和引脚数量和引脚名称可能不一样,内部,就是寄存器名称不一样。
的头像 玩转单片机 发表于 02-13 15:59 ? 181次 阅读
如何计算给单片机寄存器赋的值

STC实验箱4的使用说明书资料免费下载

本文档的主要内容详细介绍的是STC实验箱4的使用说明书资料免费下载
发表于 02-13 08:00 ? 6次 阅读
STC实验箱4的使用说明书资料免费下载

TX-1C单片机开发板的电路原理图资料合集免费下载

本文档的主要内容详细介绍的是TX-1C单片机开发板的电路原理图资料合集免费下载。
发表于 02-13 08:00 ? 38次 阅读
TX-1C单片机开发板的电路原理图资料合集免费下载

51单片机PLC自制转换软件PMW-HEX-30MT应用程序免费下载

本文档的主要内容详细介绍的是51单片机PLC自制转换软件PMW-HEX-30MT应用程序免费下载。
发表于 02-13 08:00 ? 46次 阅读
51单片机PLC自制转换软件PMW-HEX-30MT应用程序免费下载

单片机外围电路设计 (第2版)电子书免费下载

全书共10章。第1章至第3章分别介绍各种智能化/网络化集成传感器、传感器系统的原理与应用、数字IC及....
发表于 02-13 08:00 ? 55次 阅读
单片机外围电路设计 (第2版)电子书免费下载

基于AT89C51单片机进行公交车语音报站系统的设计资料概述

为了提高公交车服务质量,满足各类乘客需求,设计了一个带有语音播放的公交车报站系?#22330;?#31995;统通过3个按键控....
发表于 02-12 08:00 ? 37次 阅读
基于AT89C51单片机进行公交车语音报站系统的设计资料概述

使用单片机进行公交车语音报站器设计的资料概述

根据AT89S52单片机的特点和公交车报站的特点,本文提出了一种用单片机控制语音芯片进行公交车语音模....
发表于 02-12 08:00 ? 31次 阅读
使用单片机进行公交车语音报站器设计的资料概述

单片机多功能调试助手应用程序免费下载

本文档的主要内容详细介绍的是单片机多功能调试助手应用程序免费下载,强大的调试助手,内含串口调试助手,....
发表于 02-12 08:00 ? 37次 阅读
单片机多功能调试助手应用程序免费下载

使用AT89C2051单片机实现对可控硅导通角的控制的设计资料说明

设计以AT89C2051为核心实现对可控硅导通角的控制,通过光耦TLP521组成的电路来产生过零信号....
发表于 02-12 08:00 ? 48次 阅读
使用AT89C2051单片机实现对可控硅导通角的控制的设计资料说明

可控硅导通?#24378;?#21046;的过零检测和延时触发的资料说明

本文档的主要内容详细介绍的是可控硅导通?#24378;?#21046;的过零检测和延时触发的资料说明。
发表于 02-12 08:00 ? 56次 阅读
可控硅导通?#24378;?#21046;的过零检测和延时触发的资料说明

使用单片机控制可控硅导通角的设计报告资料免费下载

随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术....
发表于 02-12 08:00 ? 28次 阅读
使用单片机控制可控硅导通角的设计报告资料免费下载

单片机控制车辆左右转向的流水灯的程序免费下载

本文档的主要内容详细介绍的是单片机控制车辆左右转向的流水灯的程序免费下载
发表于 02-11 08:00 ? 34次 阅读
单片机控制车辆左右转向的流水灯的程序免费下载

基于Ameba的倒车?#29366;?#31995;统

倒车?#29366;?#24050;经非常普遍,这个专案做一个倒车?#29366;?#31995;?#22330;?#23558;这个倒车?#29366;?#31995;统整?#31995;?#36965;控车里,就可以实现自动倒....
的头像 芯?#32769;? 发表于 02-02 17:09 ? 155次 阅读
基于Ameba的倒车?#29366;?#31995;统

?#31243;窼TM32和51单片机之间的区别

单片微型计算机简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序....
的头像 玩转单片机 发表于 01-30 09:36 ? 917次 阅读
?#31243;窼TM32和51单片机之间的区别

电器设备为什么?#23478;?#20351;用单片机

今天,首先学习单片机的基本构成和工作原理,以及外围功能电路,然后,挑战一个?#23548;?#21333;片机的运行。
的头像 玩转单片机 发表于 01-30 09:22 ? 481次 阅读
电器设备为什么?#23478;?#20351;用单片机

详细分析MCS-51单片机内部数据存储器RAM

8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(....
的头像 单片机精?#21442;?#37492;鹰 发表于 01-29 17:18 ? 552次 阅读
详细分析MCS-51单片机内部数据存储器RAM

系?#23567;?#20174;零开始学电子技术丛书》11本电子教材合集免费下载

本文档的主要内容详细介绍的是系?#23567;?#20174;零开始学电子技术丛书》11本电子教材合集免费下载
发表于 01-29 16:47 ? 495次 阅读
系?#23567;?#20174;零开始学电子技术丛书》11本电子教材合集免费下载

?#31243;改?#19981;知道的STM32知识

STM32是一种功能比较强大的32位单片机,广泛应用于各种嵌入式设备中,由于它的普及性及丰富的资源,....
的头像 玩转单片机 发表于 01-29 16:29 ? 696次 阅读
?#31243;改?#19981;知道的STM32知识

AD转换器CS5550与单片机的接口程序设计的论文资料说明

本文档的主要内容详细介绍的是AD转换器CS5550与单片机的接口程序设计的论文资料说明。分析双通道低....
发表于 01-29 15:41 ? 124次 阅读
AD转换器CS5550与单片机的接口程序设计的论文资料说明

使用STM32单片机的I2C主从机之间的通信的程序和资料说明

本文档的主要内容详细介绍的是使用STM32单片机的I2C主从机之间的通信的程序和资料说明。
发表于 01-29 15:26 ? 138次 阅读
使用STM32单片机的I2C主从机之间的通信的程序和资料说明

单片机FLASH与RAM和ROM的关系是怎样的

单片机FLASH主要用作程序存贮器,就是替代以前的ROM,最大的有有点是降低了芯片的成?#38745;?#19988;可以做到....
发表于 01-29 15:19 ? 141次 阅读
单片机FLASH与RAM和ROM的关系是怎样的

单片机的逻辑电路与逻辑运算的介绍

在数字电路,我们经常会遇到逻辑电路,而在 C 语言中,我们则经常用到逻辑运算,二者在原理上是相互关联....
的头像 EDA365 发表于 01-29 12:52 ? 248次 阅读
单片机的逻辑电路与逻辑运算的介绍

MCS-51单片机的程序状态寄存器PSW有什么用的作用

PSW是一个8位寄存器,用于设定CPU的状态和指示指令执行后的状态。CY(PSW.7)?#33322;?#20301;标志。在....
的头像 玩转单片机 发表于 01-29 12:44 ? 236次 阅读
MCS-51单片机的程序状态寄存器PSW有什么用的作用

RAM在单片机里有什么样的作用

单片机就是个小计算机,跳蚤虽小不但五脏惧全,有时还跳得很高呢!自然,大计算机少不得的数据存储系?#24120;?#23567;....
的头像 玩转单片机 发表于 01-29 12:34 ? 276次 阅读
RAM在单片机里有什么样的作用

单片机基础教程之单片机简介和微机基础知识的详细资料说明

本文档的主要内容详细介绍的是单片机基础教程之单片机简介和微机基础知识的详细资料说明包括了:单片机简介....
发表于 01-28 16:47 ? 166次 阅读
单片机基础教程之单片机简介和微机基础知识的详细资料说明

单片机基础教程之汇编语言程序设计知识的详细资料说明

本文档的主要内容详细介绍的是单片机基础教程之汇编语言程序设计知识的详细资料说明包括了:1 编程的步骤....
发表于 01-28 16:47 ? 136次 阅读
单片机基础教程之汇编语言程序设计知识的详细资料说明

单片机基础教程之指令系统的详细资料说明

本文档的主要内容详细介绍的是单片机基础教程之指令系统的详细资料说明包括了:1 汇编语言,2 寻址方式....
发表于 01-28 16:47 ? 81次 阅读
单片机基础教程之指令系统的详细资料说明

CCS编译器的使用手册资料免费下载

在下面的学习中我?#23884;訮IC系列单片机选用MPLAB软件编?#21019;?#30721;,编译器选用CCS编译器,不管是51单....
发表于 01-28 16:07 ? 65次 阅读
CCS编译器的使用手册资料免费下载

让你事半功倍学习单片机的8个方法

怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个....
的头像 嵌入式资讯精选 发表于 01-28 14:53 ? 678次 阅读
让你事半功倍学习单片机的8个方法

MS-51系列单片机的简介和结构及工作原理大全免费下载

有关MCS-51机的性能特点,在第一章已作了简单介绍,本节将进一步详细介绍它的结构,使大家对它的性能....
发表于 01-28 08:00 ? 37次 阅读
MS-51系列单片机的简介和结构及工作原理大全免费下载

RTL8711AM WiFi模块的数据手册免费下载

RTL8711AM WiFi模块是一款小型单流、801.11 b/g/n WiFi模块,带有嵌入式低....
发表于 01-28 08:00 ? 51次 阅读
RTL8711AM WiFi模块的数据手册免费下载

HJ12864-COG-22图形点阵液晶显示屏说明书

本文档详细介绍的是HJ12864-COG-22图形点阵液晶显示屏说明书主要内容包括了:1.显示器外形....
发表于 01-28 08:00 ? 66次 阅读
HJ12864-COG-22图形点阵液晶显示屏说明书

STC89CXX系列单片机开发的5个实验的程序和电路图资料说明

本文档详细介绍的是STC89CXX系列单片机开发的5个实验的程序和电路图资料说明主要内容包括了:LE....
发表于 01-25 17:11 ? 132次 阅读
STC89CXX系列单片机开发的5个实验的程序和电路图资料说明

使用STC89C51单片机设计的秒表源代码和电路图免费下载

本文档的主要内容详细介绍的是使用STC89C51单片机设计的秒表源代码和电路图免费下载。
发表于 01-25 16:52 ? 146次 阅读
使用STC89C51单片机设计的秒表源代码和电路图免费下载

单片机应用智能开发平台的意义及功能解析

单片机应用智能开发平台是为单片机的应用开发提供的一套解决方案,包括有中?#30446;?#21457;平台操作系?#22330;?#22522;础平台、....
发表于 01-25 15:55 ? 177次 阅读
单片机应用智能开发平台的意义及功能解析

英飞凌MCAL和VADC模块配置资料说明

本文档的主要内容详细介绍的是英飞凌MCAL和VADC模块配置资料说明。
发表于 01-25 08:00 ? 68次 阅读
英飞凌MCAL和VADC模块配置资料说明
14086期4场进球开奖
4场进球彩赛程什么意思 足球4场进球 4场进球彩过滤软件 4场进球彩怎么叫中奖 河北体彩4场进球samplingid126 湖南体彩足彩4场进球samplingid123 河北体彩4场进球samplingid103 4场进球360 4场进球的玩法 4场进球彩18078期开奖 4场进球彩开奖历史 4场进球彩预测方法 2017年12月4场进球 4场进球奖金 4场进球最新开奖