关于【冬季的时令蔬菜】,冬季的时令蔬菜水果,今天乾乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
豌豆尖,豌豆藤上最嫩的部分,价格偏贵,非常适合煮汤吃。
莲藕,冬季莲藕新鲜脆嫩,营养价值高,适合做成炒藕片或者切块炖汤。
大白菜,价格便宜,味道鲜美,冬天做成辣白菜便于保存,或是煮白菜汤,做成溜白菜。
小青菜,也叫瓢儿菜,冬季里比较少见的绿色蔬菜,可以炒或煮。
青菜头,富含维生素A,B,常常用来腌制,也可炒,或是做成馄饨饺子馅儿。
本实例将让我们了解使用51单片机来实现简易电子琴的设计,本例中使用蜂鸣器来模拟发出乐音,通过按下不同的按键,发出“do、re、mi、fa、so、la、ti、do”的音符,并且还可以通过播放键播放一小段音乐。
本实例涉及到以下内容:
1、发声器件的选择--蜂鸣器,如何使用51单片机控制蜂鸣器发出我们想要的各种声音;
2、如何编写基本音符的编程代码;
3、如何控制不同的按键发出不同的音符声音。
4、单片机端口如何驱动大电流器件。
本实例中我们使用蜂鸣器作为发出各种声音的器件。下面就来了解一下蜂鸣器的相关知识。
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
根据工作原理,蜂鸣器分为有源蜂鸣器(又称为压电式蜂鸣器)和无源蜂鸣器(又称电磁式蜂鸣器)两种。图1所示为有源蜂鸣器。图2所示为无源蜂鸣器。
图1 无源蜂鸣器
图2 有源蜂鸣器
有源或者无源蜂鸣器中的“源”不是指的电源,而是指振荡源。有源蜂鸣器和无源蜂鸣器的最大区别是有源蜂鸣器只需要在蜂鸣器的两端加上固定的电压差,它就可以发声了,而无源蜂鸣器必须在其两端加上一定频率的振荡信号,它才能够发声。
1.有源蜂鸣器(压电式蜂鸣器)主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。
多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1500~2500HZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
2.电磁式蜂鸣器(无源蜂鸣器)主要由由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
一般情况下,蜂鸣器发声时需要比较大的电流(一般要大于10mA),而单片机端口的驱动能力是有限的(一般小于10mA),所以需要设计专门的驱动电路来驱动蜂鸣器。本例中使用三极管来驱动蜂鸣器。
图3是典型的蜂鸣器驱动电路。其工作原理是,当单片机的P3.7口输出高电平时,三极管导通,电流从VCC经过三极管驱动蜂鸣器,从而使蜂鸣器发声,当单片机的P3.7口输出低电平时,三极管截止,蜂鸣器不能发声,这样实际上单片机的端口只是起到了控制三极管的导通或截止的作用。
图3 蜂鸣器驱动电路
首先我们都知道,乐音是有规律的声音,而本例中简易电子琴所要播放的声音就是乐音。
简易电子琴所使用的乐音范围通常从每秒振动16次(最低音)到振动4186次(最高音),这个范围可以划分成97个等级。
我们都知道“do、re、mi、fa、so、la、ti、do”的音符,对应简谱中的“1,2,3,4,5,6,7”。对应乐音的持续时间使用节拍数来表示。对于一段音乐来说,它是由许多不同的音符组成的,而每个音符对应不同的频率,所以简易电子琴可以使用发声系统进行不同频率的发声,并且加上以节拍数对应的延时,从而产生音乐。
由于乐音是由不同的频率构成的,所以可以使用51单片机的定时器来产生不同的脉冲,用这些脉冲来驱动蜂鸣器,进而得到对应的音符。
我们假设51单片机的工作时钟为12MHz,使用定时器的工作方式1来实现定时操作,其初始化值和音符的对应关系如图4所示。
图4 音符和定时器的初值的关系
另外,一段音乐除了和音符有关系外,和节拍也有关系。也就是51单片机驱动蜂鸣器发出乐音的长度,可以使用延时来实现。图5所示是各个节拍对应的延时长度。
图5 各个节拍对应的延时长度
本实例的电路所用器件较多,所以需要合理划分51单片机的I/O端口,以使不同的端口控制、驱动不同的器件。
本实例的电路主要由51单片机、播放按键、播放指示灯、蜂鸣器等几部分组成,各部分详细说明如下。
1、51单片机:简易电子琴系统的核心控制器;
2、按键:本电路中共9个按键,其中k1~k8是音符按键,分别对应音调“1”~“#7”,及按下按键,会发出相应的音符声音。而K9按键是音乐播放按键,按下K9,会播放一段音乐;
3、发声器件:本例中的发声器件是蜂鸣器,蜂鸣器的驱动采用三极管驱动;
4、指示灯:本例中共8个LED指示灯,采用“灌电流”的驱动方式,为保护单片机端口,采用了一个排阻。
本实例的电路如图6所示。
图6 简易电子琴电路
细心的大家可能会发现,按键K1~K8与单片机端口的连接电路与按键K9与单片机的连接电路不一样,这是因为51单片机P1管脚内部接有上拉电阻,而P2端口内部是漏极开路,所以必须外接上拉电阻,外接电阻的阻值一般选择3~10K欧姆,如果电阻太小,则电流就可能过大,从而会烧毁单片机的P2管脚。
本实例的程序代码如下。程序中使用了数组这样一个51单片机C语言中的重要数据类型,并且使用了一维数组和两维数组,其中二维数组freq[][2]用来存放不同音符对应的定时器的初始化值,一位数组MUSIC[]存放了一段音乐对应的音符数据。主循环中通过对不同按键的状态判断进行不同的处理。
将程序编译后生成的HEX文件,载入到proteus环境下51单片机中,然后开始仿真,仿真结果如下所示。
视频加载中...
本例中,我们有如下收获:
1、从实际应用中了解了51单片机P0口和P2口不同的内部结构,以及实际电路中的差别;
2、还了解了51单片机如何用管脚驱动大功率器件的方法和电路;
3、如何使用定时器让蜂鸣器发出不一样的声音。
本文关键词:冬季的时令蔬菜是什么梦幻手游耕种答案,冬天时令蔬菜大全,冬季的时令蔬菜和反季节蔬菜,秋冬季节时令蔬菜,冬季的时令蔬菜有哪些健康吃法?。这就是关于《冬季的时令蔬菜,冬季的时令蔬菜水果(基于proteus的51单片机开发实例)》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!
到此这篇单片机程序示例(单片机程序设计实例)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-api/11518.html