4场进球彩赛程什么意思 足球4场进球 4场进球彩过滤软件 4场进球彩怎么叫中奖 河北体彩4场进球samplingid126 湖南体彩足彩4场进球samplingid123 河北体彩4场进球samplingid103 4场进球360 4场进球的玩法 4场进球彩18078期开奖 4场进球彩开奖历史 4场进球彩预测方法 2017年12月4场进球 4场进球奖金 4场进球最新开奖
张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,??戳此立抢??

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

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

在项目中原理图如下:

如果不能保证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)最后,这两个变量用的是全?#30452;?#37327;,这里是以结构体的形式呈现的,因为很多情况这两个函数不在一个C里面。如果硬要写在一个C可?#38498;?#30053;本条。

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

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

收藏 人收藏
分享:

评论

相关推荐

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就?#28903;?#34892;,毫无疑问你不能错过这次直播;如果不是,可能你不一定?#19981;?#21333;片机,也不
发表于 05-16 00:00 ? 585次 阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

如何使zigbee支持同步休眠支持二次开发的Zigbee模块资料说明

最近参与规划的一个项目,需要大量的Zigbee(约5000个)进行数据采集。由于是大面积布点,采用的....
发表于 04-26 18:26 ? 1次 阅读
如何使zigbee支持同步休眠支持二次开发的Zigbee模块资料说明

如何使用spring4.0整合Quartz实现动态任务调度的程序资料说明

Quartz框架是一个全功能、开源的任务调?#30830;?#21153;,可以集成几乎任何的java应用程序—?#26377;?#30340;单片机系....
发表于 04-26 18:26 ? 1次 阅读
如何使用spring4.0整合Quartz实现动态任务调度的程序资料说明

写Keil C51经常会遇到?#20999;?#22353;

1、跟vs中不同,keilC中的的变量必须声明在最前,不然?#32479;?#38169;。 2、KeilC中的错误提示功能....
发表于 04-26 18:26 ? 3次 阅读
写Keil C51经常会遇到?#20999;?#22353;

如何使用单片机进行数?#21046;?#29575;计的设计资料说明

在电子测量领域中,频率测量的精确度是最高的,可达10—10E-13数量级。因此,在生产过程中许多物理....
发表于 04-26 16:59 ? 3次 阅读
如何使用单片机进行数?#21046;?#29575;计的设计资料说明

如何使用单片机进行比赛计分器的设计资料说明

单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片....
发表于 04-26 16:59 ? 5次 阅读
如何使用单片机进行比赛计分器的设计资料说明

labview读单片机发来的串口数据出现混乱是什?#27425;?#39064;

单片机通过串口发10个数据到labview,不知道为什么数据各种乱跳。但是我用串口助手收这10位数据是正常的。而且之前用proteus仿真...
发表于 04-26 16:04 ? 38次 阅读
labview读单片机发来的串口数据出现混乱是什?#27425;?#39064;

基于单片机的空气?#25442;?#22120;的proteus仿真

有没有大佬有基于单片机的空气?#25442;?#22120;的仿真界面? ...
发表于 04-26 14:28 ? 60次 阅读
基于单片机的空气?#25442;?#22120;的proteus仿真

Pro Micro单片机开发板

自己想做一个?#20998;?#21345;?#30340;?#25311;2的游?#20998;?#25511;盒想用Pro Micro单片机不会写程序和接线求大佬教一下谢谢...
发表于 04-26 12:42 ? 75次 阅读
Pro Micro单片机开发板

求?#35848;?#20301;大佬,STM32单片机配合那种上位机开发软件好呢?

各位大佬,小弟最近要开始接触工程控制,简单说,就是在客户现场用单片机采集一些数据,例如温度,电压等,然后控制自己公司一些...
发表于 04-26 09:55 ? 173次 阅读
求?#35848;?#20301;大佬,STM32单片机配合那种上位机开发软件好呢?

关于使用STM32F103ZET6单片机CAN通讯无法正常发送问题

通过STLINK硬件调试,程序每次运行到HAL_CAN_AddTxMessage(&hcan,&TxMessage,TData,(uint32_t*)CAN_TX_...
发表于 04-26 08:35 ? 154次 阅读
关于使用STM32F103ZET6单片机CAN通讯无法正常发送问题

中断pwm仿真按键功能没反应

我用51单片机定时器中断产生pwm波的,但是仿真的时候发现按键功能好像受?#25509;?#21709;了,按下去没反应,求高?#31181;?#25945;...
发表于 04-26 08:03 ? 122次 阅读
中断pwm仿真按键功能没反应

单片机的一些经典习题和答案资料合集免费下载

1. 第一台电子数字计算机发明的年代和名称。 1946 年、ENIAC。 2. 根据冯·诺依曼提....
发表于 04-26 08:00 ? 24次 阅读
单片机的一些经典习题和答案资料合集免费下载

ST72F32A和ST7232A 8位单片机的数据手册免费下载

ST72F32A和ST7232A设备是为5V工作?#27573;?#35774;计的ST7微控制器系列的?#31245;薄T7的增强指令....
发表于 04-26 08:00 ? 19次 阅读
ST72F32A和ST7232A 8位单片机的数据手册免费下载

单片机控制的晶体管管芯直流参数自动测试仪_季菊

主要论述了系统的总体设计思想和直流参数测试单元的设计思想、 原理、 技术指标、实现以 及电路特点等。
发表于 04-26 08:00 ? 12次 阅读
单片机控制的晶体管管芯直流参数自动测试仪_季菊

单片机的IO口控制实验资料总结

实验目的1、学习P1口的使用方法;2、学?#25226;?#26102;子程序的编写和使用。
发表于 04-26 08:00 ? 9次 阅读
单片机的IO口控制实验资料总结

矩阵键盘第一行不能显示

程序下载到单片机上,第一行(0,1,2,3)不能显示,其余都正常,,但是其他行的我是按第一行的复制过去的,为什么其他的都行,第一...
发表于 04-26 05:00 ? 62次 阅读
矩阵键盘第一行不能显示

单片机程序调?#38498;?#23453;书

单片机程序调?#38498;?#23453;书 (847.97 KB )
发表于 04-26 01:31 ? 58次 阅读
单片机程序调?#38498;?#23453;书

IIC通讯失败发送数据无回应

IIC通讯失败发送数据没有回应?主要是调试AC108,demo板上有单片机驱动,但是打算用rk3399调试,一直无法通讯最后只有拆掉单...
发表于 04-26 01:30 ? 9次 阅读
IIC通讯失败发送数据无回应

蓝?#26469;?#21475;+DMA接收单片机经常跑飞

手机蓝牙和单片机蓝牙连接,手机APP检测到的数据会定时通过蓝牙传回给单片机,每次传21字节(如果没有出错)。本人刚开始是直...
发表于 04-25 23:28 ? 9次 阅读
蓝?#26469;?#21475;+DMA接收单片机经常跑飞

使用单片机进行交通灯控制系统设计的资料说明

十字路口车辆穿梭,行人熙攘,车行车道,人行?#35828;潰?#26377;条不紊。那么靠什么来实现这井然秩序呢?#38752;?#30340;是交通信....
发表于 04-25 18:33 ? 22次 阅读
使用单片机进行交通灯控制系统设计的资料说明

STC89C52单片机的输出电压型和输出LED型电路原理图免费下载

本文档的主要内容详细介绍的是STC89C52单片机的输出电压型和输出LED型电路原理图免费下载。
发表于 04-25 18:33 ? 37次 阅读
STC89C52单片机的输出电压型和输出LED型电路原理图免费下载

串口中断接收和发送的C51程序免费下载

这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收
发表于 04-25 18:27 ? 5次 阅读
串口中断接收和发送的C51程序免费下载

如何使用micropython控制NOKIA 5110屏

Nokia 5110 LCD是NOKIA 公司生产的可用于其5110、6150,6100 等系列移动....
发表于 04-25 18:27 ? 20次 阅读
如何使用micropython控制NOKIA 5110屏

如何使用UDP协议和单片机做一个服务器进行的数据接收与发送的程序

我想基于lwIP协议中的UDP协议,用单片机做一个服务器,接受电脑的指令然后返回数据。以下是我的代码
发表于 04-25 18:27 ? 7次 阅读
如何使用UDP协议和单片机做一个服务器进行的数据接收与发送的程序

WQX开发板如何下载文件到单片机的过程详解教程免费下载

 ISP下载,简而言之就是不需要把单片机从板子上面拆卸下来,直接在板子上通过串口?#30830;?#24335;,把程序下载到....
发表于 04-25 17:39 ? 17次 阅读
WQX开发板如何下载文件到单片机的过程详解教程免费下载

十天学会单片机必备例程资料免费下载

从8048 开始,“单片机”即成为广受欢迎的代名词,而8051 更成为机电、电子相关专业必学的内容,....
发表于 04-25 17:39 ? 30次 阅读
十天学会单片机必备例程资料免费下载

Microchip推出首款基于Arm?内核的单片机——SAMV71Q21RT耐辐射单片机和SAMRH71抗辐射单片机

SAMV71Q21RT和SAMRH71?#24066;?#36719;件开发人员在迁?#39057;接?#33322;?#23545;?#20214;之前着手使用SAMV71 C....
的头像 Excelpoint世健 发表于 04-25 11:37 ? 98次 阅读
Microchip推出首款基于Arm?内核的单片机——SAMV71Q21RT耐辐射单片机和SAMRH71抗辐射单片机

如何使用UCC28019进行高功率因数电源的设计

该系统采用 TI 公司专用 PFC 整流控制芯片 UCC28019 作为控制核?#27169;?#26500;成电压外环和电流....
发表于 04-25 08:00 ? 24次 阅读
如何使用UCC28019进行高功率因数电源的设计

数字式密码电子锁电路设计的详细资料说明

本系统以STC89C52单片机最小系统为核?#27169;?#32467;合矩阵键盘、1602LCD和报警系统组成。系统能完成....
发表于 04-25 08:00 ? 25次 阅读
数字式密码电子锁电路设计的详细资料说明

使用单片机进行STC89C52电子锁设计报告的资料说明

以STC89C52单片机最小系统为核?#27169;?#32467;合矩阵键盘、1602LCD和报警系统组成。系统能完成锁闭状....
发表于 04-25 08:00 ? 15次 阅读
使用单片机进行STC89C52电子锁设计报告的资料说明

使用STM32单片机进行电能测量的资料说明

本文档的主要内容详细介绍的是设计使用STM32单片机和CS9505进行电能测量的资料说明。
发表于 04-25 08:00 ? 19次 阅读
使用STM32单片机进行电能测量的资料说明

单片机看门狗定时器的详细资料说明

看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,?#24418;构罰?#19968;个输出到M....
发表于 04-24 18:31 ? 43次 阅读
单片机看门狗定时器的详细资料说明

如何使用ARM contexA9进行蜂鸣器pwm的驱动开发资料和程序免费下载

上次,我?#20999;?#36807;一个蜂鸣器叫的程序,但是那个程序仅仅只是驱动蜂鸣器,用电平1和0来驱动而已,跟驱动LE....
发表于 04-24 18:30 ? 21次 阅读
如何使用ARM contexA9进行蜂鸣器pwm的驱动开发资料和程序免费下载

STM32时钟系统的详细介绍和应用实例资料说明

 时钟是STM32的脉搏,是驱动源。使用任何一个外设都必须打开相应的时?#21360;?#36825;样的好处就是,如果不是用....
发表于 04-24 18:30 ? 37次 阅读
STM32时钟系统的详细介绍和应用实例资料说明

Unity3D插件FingerGesture的应用资料说明

当时的手机霸主诺基亚也曾辉煌过,但现在已经逐渐退出了人们的视线,因为它没有跟上潮流,IT世界发展瞬息....
发表于 04-24 18:30 ? 18次 阅读
Unity3D插件FingerGesture的应用资料说明

MSP430红外通讯的编写与调试步骤及注意事项资料说明

编写与调试步骤: 第一步,编写软串口波特率1200,偶校验 第二步,增加红外输出载波,使输出0时为载....
发表于 04-24 18:30 ? 29次 阅读
MSP430红外通讯的编写与调试步骤及注意事项资料说明

使用单片机实现交通灯的程序免费下载

不同单片机的动态扫描显示不一样,即下面?#39057;?#32418;字是让数码管显示函数,如果单片机不一样,只需改显示 函数....
发表于 04-24 18:30 ? 33次 阅读
使用单片机实现交通灯的程序免费下载

在单片机按?#24405;?#30424;能够在数码管上显示键盘值的实验程序免费下载

本文档的主要内容详细介绍的是在单片机按?#24405;?#30424;能够在数码管上显示键盘值的实验程序免费下载。
发表于 04-24 18:30 ? 30次 阅读
在单片机按?#24405;?#30424;能够在数码管上显示键盘值的实验程序免费下载

使用单片机进行智能小车设计的论文资料免费下载

80C51 单片机是一款八位单片机,他的?#23376;?#24615;和多功能性受到了广大使用者的好这里介绍的是如何用 80....
发表于 04-24 17:14 ? 26次 阅读
使用单片机进行智能小车设计的论文资料免费下载

单片机51波特率计算工具应用程序免费下载

本文档的主要内容详细介绍的设计单片机51波特率计算工具应用程序免费下载。
发表于 04-24 16:41 ? 17次 阅读
单片机51波特率计算工具应用程序免费下载

如何使用GSM进行汽车防盗报警系统的设计

随着我国社会主义市场经济的快速发展和人们生活水平的不断提高,汽车保有量呈逐年上升趋势。与此同?#20445;?#20026;了....
发表于 04-24 09:19 ? 66次 阅读
如何使用GSM进行汽车防盗报警系统的设计

STM32F103系列基于ARM的32位单片机数据手册免费下载

STM32F103XC、STM32F103XD和STM32F103XE性能系列集成了高性能ARM?C....
发表于 04-24 08:00 ? 41次 阅读
STM32F103系列基于ARM的32位单片机数据手册免费下载

使用单片机设计士壤湿度检测自动浇花系统的资料说明

基于51单片机的浇花系?#24120;?#21487;进行湿度显示,按键设置湿度上下限从而自动浇水,包含原理图,程序代码,pc....
发表于 04-24 08:00 ? 27次 阅读
使用单片机设计士壤湿度检测自动浇花系统的资料说明

如何使用DDS进行实用信号发生器的设计论文说明

信号发生器在实验室和电子领域的使用频率很高,在教学科?#23567;?#29983;产、過感巡测等众多场合都有着广泛的应用。随....
发表于 04-23 16:15 ? 22次 阅读
如何使用DDS进行实用信号发生器的设计论文说明

单片机开发与典型应用设计PDF电子书免费下载

80年代初我国开?#21152;?#29992;单片机,H前已普及到各行各业,逐渐形成多国单片机互相竞争的局面,正朝着多系?#23567;?...
发表于 04-23 08:00 ? 31次 阅读
单片机开发与典型应用设计PDF电子书免费下载

GY-291 ADXL345数字三轴重力加速度倾?#20493;?#27169;块的资料合集免费下载

本文档的主要内容详细介绍的是GY-291 ADXL345数字三轴重力加速度倾?#20493;?#27169;块的资料合集免费下....
发表于 04-23 08:00 ? 25次 阅读
GY-291 ADXL345数字三轴重力加速度倾?#20493;?#27169;块的资料合集免费下载

使用单片机进行秒表系统的设计资料说明

1) 用AT89C52设计一个四位LED数码显示秒表,显示时间为00:00 - 59:59 ,每秒自....
发表于 04-23 08:00 ? 34次 阅读
使用单片机进行秒表系统的设计资料说明

单片机设计的电?#20598;?#23481;性解决方案

PCB是单片机系统中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发....
发表于 04-22 14:44 ? 122次 阅读
单片机设计的电?#20598;?#23481;性解决方案

单片机控制专用播放板使用手册

?#38745;?#21697;是一款集视频解码、音乐播放、图片浏览、电子书阅读、外置 U 盘/移动硬盘、内存卡于一体的多媒体....
发表于 04-22 08:00 ? 34次 阅读
单片机控制专用播放板使用手册

如何学习单片机和电子电路详细资料概述

很多单片机初学者问我的第一句话都是:怎样才能学好单片机?今天,我就结合我自己是如何开始学习单片机的,....
发表于 04-22 08:00 ? 88次 阅读
如何学习单片机和电子电路详细资料概述

51单片机的学?#23433;?#39588;

从刚开始接触单片机,到现在已经有4年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC....
发表于 04-20 09:03 ? 218次 阅读
51单片机的学?#23433;?#39588;

STC单片机参考程序资料免费下载

本文档的主要内容详细介绍的是STC单片机参考程序资料免费下载。
发表于 04-19 17:20 ? 98次 阅读
STC单片机参考程序资料免费下载

MSP430单片机的开发总结详细资料免费下载

本文档的主要内容详细介绍的是MSP430单片机的开发总结详细资料免费下载。
发表于 04-19 17:02 ? 90次 阅读
MSP430单片机的开发总结详细资料免费下载

MCUTool超级单片机工具应用程序免费下载

本文档的主要内容详细介绍的是MCUTool超级单片机工具应用程序免费下载。
发表于 04-19 17:02 ? 43次 阅读
MCUTool超级单片机工具应用程序免费下载

单片机的接口技术与可靠性设计的详细资料说明

本文介绍了 ESD 的基础知识及其危害,并且提出了使用 ESD 保护器件的解决方案。为了便于用户学习....
发表于 04-19 08:00 ? 34次 阅读
单片机的接口技术与可靠性设计的详细资料说明

郭天祥10天学会单片机的电路原理图免费下载

本文档的主要内容详细介绍的是郭天祥10天学会单片机的电路原理图免费下载。
发表于 04-19 08:00 ? 106次 阅读
郭天祥10天学会单片机的电路原理图免费下载

单片机浮点数的运算原理及表达方式

浮点数也有各种各样表示有符号数的方法,其中数的符号常和尾数放在一起,即把士M作为一个有符号的小数,它....
发表于 04-18 15:38 ? 87次 阅读
单片机浮点数的运算原理及表达方式

新唐N76E003评估板的用户手册和电路原理图等资料合集免费下载

nutiny-sdk-n76e003是8位高性能1T 8051单片机n76e003系列的专用开发工具....
发表于 04-18 08:00 ? 42次 阅读
新唐N76E003评估板的用户手册和电路原理图等资料合集免费下载

如何使用CC2530单片机进行多点温度采集系统的设计实验说明

多点温度采集有利于分析整个设备或系统的温度,改善被控温度的技术指 标,提高产品的质量和数量,因而,....
发表于 04-18 08:00 ? 72次 阅读
如何使用CC2530单片机进行多点温度采集系统的设计实验说明
14086期4场进球开奖
4场进球彩赛程什么意思 足球4场进球 4场进球彩过滤软件 4场进球彩怎么叫中奖 河北体彩4场进球samplingid126 湖南体彩足彩4场进球samplingid123 河北体彩4场进球samplingid103 4场进球360 4场进球的玩法 4场进球彩18078期开奖 4场进球彩开奖历史 4场进球彩预测方法 2017年12月4场进球 4场进球奖金 4场进球最新开奖