基于STM32的电子琴设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合设计任务书
学生班级:学生:学号:
设计名称:电子琴的设计与实现
起止日期:2013.11.18—2013.12.15 指导教师:
综合设计学生日志
电子琴的设计与实现
摘要:本次设计是xx专业专业方向设计,利用单片机设计简易电子琴。其主要功能为:按下不同按键,发出不同 1 、2 、3、4 、5 、6 、7 七个音符并且用LED 或LCD显示当前按键。选用stm32f103C8T6,它有8个定时器,部分定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入。利用芯片部相关定时器来输出PWM,从而来驱动蜂鸣器。通过读取外部按键输入的值来相应改变定时器相关寄存器的值,从而来改变PWM的输出频率来达到发出不同音调。
关键词:STM32f103C8T6;PWM;定时器
The Design of the Keyboard
Abstract:This design is the professional direction of biomedical engineering design. Using Single Chip Microcomputer to achieve a simple Keyboard. Its main function is: While a user press the different keys, it will make different sounds from the buzzer and display different numbers which corresponded to 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 reading the state of the external key to change the frequency of output . Different frequency of the PWM will control buzzer makes different sounds.
Key words: STM32f103C8T6; PWM; Timer
一、设计目的和意义
本综合设计是为xx专业高年级本科生开设的必修课,是对学生运用所学知识的一次综合训练。其目的是让学生得到一次进行独立设计的工程实践锻炼,不仅培养严谨的科学态度和扎实的实践技能、良好的工程意识,并在设计中学会如何发现、分析和解决工程实践问题的技能和方法,将所学知识综合应用于工程实践中,为后续的毕业设计做好准备。
二、控制要求
利用单片机设计简易电子琴。
功能要求:
(1) 按下不同按键,发出不同1 、2 、3、4 、5 、6 、7 七个音符;
(2) 用LED 或LCD显示当前按键。
总体要求:给出电路原理图、电路调试结果、程序源代码;提交设计报告。
三、设计方案论证
3.1 设计方案:
方案一:采用MCS-51系列单片机来实现设计要求的功能。MCS-51系列单片机中的基本型产品是8051,8031和8751,这三个产品只是片程序存储器制造工艺不同。8051的片程序存储器ROM为掩膜型的在制造芯片时已将应用程序固化进去,使它具有了某种专用功能。8位CPU拥有片震荡器及时钟电路;32根I\O线;外部存储器ROM和RAM寻址围各64KB;2个16位的定时器/计数器;5个中断源,2个中断优先级;全双工串行口;8051的中央处理器CPU由运算器和控制逻辑构成51单片机是一款比较基础的单片机。I/O(输入/输出)引脚系统结构紧凑,功能简单,低成本。可以实现各种丰富的应用。通过控制I/O口的输出电平的翻转频率来实现对蜂鸣器发音音调的控制。
方案二:采用STM32f03C8T6来实现此次设计,最高72MHz工作频率。它有多个外部中断,八个定时器,有PWM输出模式,其中2个高级定时器,两个基本定时器,其他的是通用定时器,共48个引脚,除基本的I/O功能之外还包含有复用功能,其
外设功能强大,是一款能够很方便使用的功能强大的芯片,同时可以直接对相关寄存器进行操作,。
3.2 方案选择
上述两种方案相比,51单片机虽然价格便宜,但是其功能简单,I/O口少,并且仅仅只有5个中断源,而STM32f03C8T6共48个引脚,并且其定时器有PWM输出模式,可以更加方便的控制蜂鸣器的发音。本次设计包括了七个按键,数码管,蜂鸣器,因此至少需要17个I/O口。因此先比较而言选用I/O口较多的STM32f03C8T6来作为控制芯片。
四、系统设计
4.1 硬件结构设计
如图4-1所示,硬件系统主要由数码管显示电路、蜂鸣器驱动电路、按键电路、晶振、复位、电源指示、转压电路、控制芯片等组成。
图4-1 硬件系统图
4.1.1 核心控制器硬件电路
核心控制芯片的各个输出引脚如图4-2所示:
图4-2 STM32f103C8T6引脚图
核心控制器是由核心控制芯片以及相关的外围电路组成,包括了专业电路、外部晶振、滤波电路、按键复位电路、电源指示电路等,如图4-3所示。
图4-3核心控制器外围电路
4.1.2 蜂鸣器驱动电路
此次设计选用有源蜂鸣器。有源蜂鸣器的发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发音,因此需要一定的电流才能驱动它。单片机的I/O引脚的输出电流比较小输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路,如图4-4所示,选用NPN的三极管来达到电流放大的作用。