基于.--STM32的电子琴设计

上传人:鲁** 文档编号:499185853 上传时间:2022-09-14 格式:DOC 页数:15 大小:65.50KB
返回 下载 相关 举报
基于.--STM32的电子琴设计_第1页
第1页 / 共15页
基于.--STM32的电子琴设计_第2页
第2页 / 共15页
基于.--STM32的电子琴设计_第3页
第3页 / 共15页
基于.--STM32的电子琴设计_第4页
第4页 / 共15页
基于.--STM32的电子琴设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于.--STM32的电子琴设计》由会员分享,可在线阅读,更多相关《基于.--STM32的电子琴设计(15页珍藏版)》请在金锄头文库上搜索。

1、 .wd.综 合 设 计 任 务 书学生班级:学生姓名:学号:设计名称:电子琴的设计与实现起止日期:2013.11.182013.12.15 指导教师:设计要求: 利用单片机设计一简易电子琴。 功能要求: (1) 按下不同按键,发出不同1 、2 、3、4 、5 、6 、7 七个音符; (2) 用LED 或LCD显示当前按键。 总体要求:给出电路原理图、电路调试结果、程序源代码;提交设计报告。 综 合 设 计 学 生 日 志时间设计内容2013.11.19-2013.11.22相关资料的查找;2013.11.23-2013.11.25搭建硬件电路;2013.11.26-2013.11.29单片机

2、 根本知识的复习以及软件系统框架的搭建;2013.11.30-2013.12.06软件程序的编写和完善;2013.12.07软硬件结合调试,优化;2013.12.08-2013.12.14设计材料的整理和设计报告的书写。电子琴的设计与实现摘要:本次设计是xx专业专业方向设计,利用单片机设计简易电子琴。 其主要功能为:按下不同按键,发出不同1 、2 、3、4 、5 、6 、7 七个音符并且用LED 或LCD显示当前按键。选用stm32f103C8T6,它有8个定时器,局部定时器有多达4个用于输入捕获/输出比拟/PWM或脉冲计数的通道和增量编码器输入。利用芯片内部相关定时器来输出PWM,从而来驱动

3、蜂鸣器。通过读取外部按键输入的值来相应改变定时器相关存放器的值,从而来改变PWM的输出频率来到达发出不同音调。关键词:STM32f103C8T6;PWM;定时器The Design of the KeyboardAbstract:This design is the professional direction of biomedical engineering design. Using Single Chip Microcomputerto achieve a simple Keyboard. Its main function is: While a user press the dif

4、ferent keys, it will make different sounds from the buzzerand display different numbers which correspondedto the sounds.Usingstm32f103- -C8T6 as control chip. It has16-bit timers. Some of them with up to 4 IC/OC/PWM or pulse counter. Making use of theTimers to generate driving signal .By reading the

5、 state of the external key to change the frequencyofoutput.Different frequency of the PWM will controlbuzzer makes different sounds.Key words:STM32f103C8T6;PWM;Timer一、设计目的和意义本综合设计是为xx专业高年级本科生开设的必修课,是对学生运用所学知识的一次综合训练。其目的是让学生得到一次进展独立设计的工程实践锻炼,不仅培养严谨的科学态度和扎实的实践技能、良好的工程意识,并在设计中学会如何发现、分析和解决工程实践问题的技能和方法,将

6、所学知识综合应用于工程实践中,为后续的毕业设计做好准备。二、控制要求利用单片机设计简易电子琴。 功能要求: (1) 按下不同按键,发出不同1 、2 、3、4 、5 、6 、7 七个音符; (2) 用LED 或LCD显示当前按键。 总体要求:给出电路原理图、电路调试结果、程序源代码;提交设计报告。三、设计方案论证3.1设计方案:方案一:采用MCS-51系列单片机来实现设计要求的功能。MCS-51系列单片机中的 根本型产品是8051,8031和8751,这三个产品只是片内程序存储器制造工艺不同。8051的片内程序存储器ROM为掩膜型的在制造芯片时已将应用程序固化进去,使它具有了某种专用功能。8位C

7、PU拥有片内震荡器及时钟电路;32根IO线;外部存储器ROM和RAM寻址范围各64KB;2个16位的定时器/计数器;5个中断源,2个中断优先级;全双工串行口;8051的中央处理器CPU由运算器和控制逻辑构成51单片机是一款比拟根基的单片机。I/O输入/输出引脚系统构造紧凑,功能简单,低本钱。可以实现各种丰富的应用。通过控制I/O口的输出电平的翻转频率来实现对蜂鸣器发音音调的控制。方案二:采用STM32f03C8T6来实现此次设计,最高72MHz工作频率。它有多个外部中断,八个定时器,有PWM输出模式,其中2个高级定时器,两个 根本定时器,其他的是通用定时器,共48个引脚,除 根本的I/O功能之

8、外还包含有复用功能,其外设功能强大,是一款能够很方便使用的功能强大的芯片,同时可以直接对相关存放器进展操作,。3.2方案选择上述两种方案相比,51单片机虽然价格廉价,但是其功能简单,I/O口少,并且仅仅只有5个中断源,而STM32f03C8T6共48个引脚,并且其定时器有PWM输出模式,可以更加方便的控制蜂鸣器的发音。本次设计包括了七个按键,数码管,蜂鸣器,因此至少需要17个I/O口。因此先比拟而言选用I/O口较多的STM32f03C8T6来作为控制芯片。四、系统设计4.1 硬件构造设计如图4-1所示,硬件系统主要由数码管显示电路、蜂鸣器驱动电路、按键电路、晶振、复位、电源指示、转压电路、控制

9、芯片等组成。图4-1 硬件系统图4.1.1 核心控制器硬件电路 核心控制芯片的各个输出引脚如图4-2所示:图4-2STM32f103C8T6引脚图 核心控制器是由核心控制芯片以及相关的外围电路组成,包括了专业电路、外部晶振、滤波电路、按键复位电路、电源指示电路等,如图4-3所示。图4-3核心控制器外围电路4.1.2 蜂鸣器驱动电路此次设计选用有源蜂鸣器。有源蜂鸣器的发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发音,因此需要一定的电流才能驱动它。单片机的I/O引脚的输出电流比拟小输出的TTL电平 根本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路,如图4-4所示,选用NPN的三极

10、管来到达电流放大的作用。图4-4 蜂鸣器驱动电路4.1.3 数码管电路: 设计中需要使用一位数码管,如图4-5所示,为四位数码管的驱动电路,在实际的运用中仅仅选用了com4位选端口以及5、6、7、8、9、10、11、接口作为段选。图4-5数码管显示电路4.1.4按键电路:按键都采用了上拉电阻,当按键处于不被按下的状态时,连接到单片机的一端的输入信号为高电平,当按键按下时,输入为低电平,如图4-6所示。图4-6 按键电路4.2软件系统设计4.2.1 软件系统框图 设计选用STM32F103C8T6芯片,相关的配置主要包括:,时钟配置、I/O口配置、定时器配置。主函数中进展显示参数以及PWM输出频

11、率的改变,具体流程图如图4-7所示。图4-7 软件流程图4.2.2 数码管显示相关段选计算: 在此次设计中选用的是共阴极的数码管,段选为高电平有效,位选为低电平有效。选用STM32f103C8T6的PB0、1、2、.10、11、12、13、14作为段选位,分别对应数码管的h、g、f、e、d、c、b、a段,PB15对应数码管的位选。图4-8 一位数码管当数码管显示0时,选用a、b、c、d、e、f、.段,对应的十六进制为:0x7c04;当数码管显示1时,选用b.、c.段,对应的十六进制为:0x7c04;当数码管显示2时,选用a、b、g、e、d.段,对应的十六进制为:0x7c04;当数码管显示3时,

12、选用a、b、g、c、d.段,对应的十六进制为:0x7c04;当数码管显示4时,选用f、g、b、c.段,对应的十六进制为:0x7c04;当数码管显示5时,选用a、f、g、c、d段,对应的十六进制为:0x7c04;当数码管显示6时,选a、f、e、g、d、c.段,对应的十六进制为:0x7c04;当数码管显示7时,选用a、b、c.段,对应的十六进制为:0x7c04;4.2.3 蜂鸣器发音音调改变原理蜂鸣器分为有源蜂鸣器合无源蜂鸣器。有源蜂鸣器内部带震荡源,所以只要一通电就会叫,价格比无源贵。无源蜂鸣器必须用2K-5K的方波去驱动它。此次设计选用有源蜂鸣器。有源蜂鸣器的发声原理是电流通过电磁线圈,使电磁

13、线圈产生磁场来驱动振动膜发音,因此需要一定的电流才能驱动它。单片机的I/O引脚的输出电流比拟小输出的TTL电平 根本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。如图4-4所示蜂鸣器的正极接到VCC5V电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机引脚控制,当单片机引脚输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当单片机引脚输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制引脚的电平来使蜂鸣器发出声音和关闭。蜂鸣器是的音调改变实际上是通过改变驱动蜂鸣的上下电平的翻转频率来决定,上下电平的变化的频率

14、不同,音调不同,在此次设计中采用TIM1的PWM的频率变化来控制。4.2.4 PWM输出频率计算:TIM定时器相关配置:void TIM_yingyue(unsigned int NoteSet)static unsigned char IfIsInit=0;if(IfIsInit=0)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure;TIM_TimeBaseStructure.TIM_Period = NoteSet; TIM_TimeBaseStructure.TIM_P

15、rescaler = 0;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);/* PWM1 Mode configuration: Channel4 */ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = NoteSet/2; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High ;TIM_OC1Init(TIM1, &TIM_OCInitStructure);TIM_CtrlPWMOutputs(TIM1,ENABLE);TIM_Cmd(TIM1,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号