当前位置:   article > 正文

FPGA 20个例程篇:2.按键控制蜂鸣器输出PWM波,发出不同频率响声_按键控制蜂鸣器发出不同音阶

按键控制蜂鸣器发出不同音阶

 一、典型基础入门,小试牛刀 :

2.按键控制蜂鸣器输出PWM波,发出不同频率响声

       谈起蜂鸣器,大家都不会陌生,在嵌入式领域应用也非常广泛,比如仪器仪表、工控设备当中都离不开蜂鸣器的身影,在轻触触摸屏来进行机器操作的时候,蜂鸣器的响声不同则可以用于标记机器的当前状态:正常使用、报警、异常等等。

       那么如何才能做到准确地控制蜂鸣器发出不同的响声呢,使得其有时低沉,有时清脆,有时尖锐,而本身蜂鸣器只有一个IO口是连接到FPGA芯片上的,那么这里就需要引入PWM的概念。 PWM即脉冲宽度调制,PWM的输出只有高电平1与低电平0。PWM不停的重复输出周期为T,其中高电平1时间为t的脉冲,t/T是它的占空比,图1即为PWM信号的总体示意图。

图1 PWM占空比的示意图

       我们需要首先定义输出周期T的时间,比如在这里选取是100ms,然后结合开发板的电路如图2所示,可以很清楚地看到蜂鸣器高电平表示响,而低电平表示不响,同样是100ms的时钟周期,按下1-4号按键分别把同一个周期低电平的占空比调整为20%、40%、60%、80%,如图3所示是蜂鸣器占空比发声的示意图。

图2 豌豆开发板Artix7上蜂鸣器电路

图3 蜂鸣器占空比PWM发声示意图

       如图4所示,在把key_scan模块产生的key_value和key_vld信号例化到顶层模块即可,通过key_value和key_vld再对PWM进行周期赋值操作,key_scan模块在上一个例程当中已经详细介绍,在此不赘述了。

图4 按键控制蜂鸣器顶层文件的例化
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/554414
推荐阅读
相关标签
  

闽ICP备14008679号