ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:2.42MB ,
资源ID:1940069      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1940069.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于STM32的电子琴设计说明.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于STM32的电子琴设计说明.docx

1、基于STM32的电子琴设计说明综 合 设 计 任 务 书学生班级:学生:学号:设计名称:电子琴的设计与实现起止日期: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

2、.29单片机根本知识的复习以与软件系统框架的搭建;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

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

5、ing the 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为掩膜型的在制造芯片时已将应用程序固化进去,使它具有了某种专用

7、功能。8位CPU拥有片震荡器与时钟电路;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-2 STM32f103C8T6引脚图 核心控制器是由核心控制芯片以与相关的外围电路组成,包括了专业电路、外部晶振、滤波电路、按键复位电路、电源指示电路等,如图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口配置、定时器配置。主函数中进展显示参数以与PW

11、M输出频率的改变,具体流程图如图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;当数码管显

12、示3时,选用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.

15、TIM_Prescaler = 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,ENABLE); IfIsInit=1; else TIM1-ARR=NoteSet; TIM1-C

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1