【单片机】电子琴电路设计
简介
基于STC89C52RC单片机的简易电子琴制作
简介:基于STC89C52RC单片机的简易电子琴制作开源协议
:GPL 3.0
描述
1 项目简介
基于STC89C52RC单片机设计的简易电子琴,单片机及外围电路组成主控电路,8个按键组成控制电路,8个LED组成显示电路,三极管和蜂鸣器组成驱动发声电路。通过按下不同按键来控制蜂鸣器发出不同频率的声调,点亮对应的LED显示,可以随意弹奏任意音乐。
2 总体设计方案
电子琴电路系统结构框图如图2-1所示,主控单片机使用STC89C52RC,电源输入使用5V电源,控制输入端只有按键的输入,LED显示对应的按键,无源蜂鸣器输出电子琴音效。整体设计简洁高效,无累赘复杂的驱动元器件。
图2-1 电子琴系统结构框图
3 电路原理
基于STC89C52RC单片机的电子琴主要由电源供电电路,单片机最小系统电路,程序下载电路,按键控制电路,LED显示电路和蜂鸣器驱动电路所组成,下文将对各模块电路原理进行分析。
3.1 电源电路
电源部分主要是Micro USB母座作为电源输入口,SW1是拨动开关,C1/C2作为电源滤波电容,POWER为电源指示灯。接通USB,拨动SW1开关,POWER电源指示灯亮起,给整个板子供电。
图3-1 电源输入电路
3.2 单片机最小系统电路
主控单片机使用的是STC89C52RC(LQFP-44封装),价格便宜,高速可靠,低功耗,强抗干扰。指令代码完全兼容传统的8051单片机,工作电压3.3~5.5V,工作频率范围在0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz,Flash程序存储器空间大小为8K字节,片上集成512字节RAM数据存储器,工作温度范围在-40~85℃。
图3-2 STC89C52RC最小系统电路
3.3 程序下载电路
程序下载采用Micro USB数据线进行,USB转串口芯片使用CH340C(SOP-16封装),内置时钟,无需外部晶振,CH340C芯片的D+/D-引脚与Micro USB的D+/D-相连,TXD/RXD引脚与单片机RXD/TXD引脚相连,VCC引脚输入外部5V电源,C7为电源的退耦电容,C8为滤波电容。
图3-3 USB转TTL程序下载电路
3.4 LED显示电路
8个LED组成显示电路,直接与单片机的一组I/O口相连,8个按键对应8个LED指示灯,按下按键对应的LED灯亮起。
3.5 按键控制电路
控制部分主要由8个独立按键组成,直接与单片机的一组8位I/O口相连,8个按键对应电子琴8个音阶琴键,通过软硬件设计实现各种琴键的声音,按键及LED所对应音符如表3-1所示。
表3-1 按键及LED所对应音符表
按键 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
LED |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
音符 |
do |
re |
mi |
fa |
so |
la |
si |
do~ |
图3-4 LED显示电路 图3-5按键控制电路
3.6 蜂鸣器驱动电路
采用PNP型三极管的作驱动,三极管工作在开关状态时,放大驱动电流,使得蜂鸣器发出声音。三极管上拉电阻作用是使三极管能够保持可靠的开关状态,基极串联电阻作用是防止受到单片机干扰而导致三极管状态发生意外翻转,进入不期望的放大状态。
图3-6 蜂鸣器驱动电路
4 原理图设计
4.1 新建工程
打开嘉立创EDA,创建新工程并命名为【单片机】电子琴电路设计,将原理图文件命名为:SCH_电子琴电路设计。根据以下电路进行绘制电路原理图。
图4-1 SCH_电子琴电路设计
4.2 器件选型
在本项目的元器件选型中,所有元器件可直接在嘉立创EDA的元件库中进行搜索。如果对元器件不熟悉,也可以通过复制物料中的商品编号进行搜索(每一个元器件在立创商城都有唯一的商品编号),如果出现物料缺货情况,亦可选择其他可替换物料,通过以上电路的分析,相信聪明的你对各个元器件在电路中的作用有所了解,那么更换个别物料也不会影响到电路的工作性能的,了解电路工作特性后,电路选型也就变得简单了。
图4-2 元器件搜索示意图
图4-3 通过商品编号搜索示意图
4.3 物料清单
电子琴电路设计项目物料清单 |
||||||
序号 |
名称 |
参数 |
位号 |
数量 |
封装 |
商品编号 |
1 |
电阻 |
1K |
R1~R8,R10,R11 |
10 |
R0805 |
C17513 |
10K |
R9,R12 |
2 |
R0805 |
C17414 |
||
2 |
电容 |
10uF |
C1,C5 |
2 |
C0805 |
C386019 |
30pF |
C2,C3 |
2 |
C0805 |
C43094 |
||
100nF |
C4,C6,C7,C8 |
4 |
C0805 |
C38141 |
||
3 |
二极管 |
LED-0805_R |
LED1~LED8,POWER |
9 |
LED0805 |
C72037 |
4 |
三极管 |
2N3906 |
Q1 |
1 |
SOT-23-3 |
C147294 |
5 |
按键 |
K4-6x6_SMD |
KEY1~KEY8,RST |
9 |
KEY-SMD_4P |
C191626 |
6 |
开关 |
SS-12D02-VG4 |
SW1 |
1 |
SW-TH_SS-12D02-VG4 |
C136719 |
7 |
晶振 |
12MHz |
X1 |
1 |
HC-49S/SMD |
C14871 |
8 |
蜂鸣器 |
5V |
BUZZER1 |
1 |
BUZ-TH_BD9.0-P4.00-D0.6-FD |
C409839 |
9 |
单片机 |
STC89C52RC |
U1 |
1 |
LQFP-44 |
C8707 |
10 |
USB芯片 |
CH340C |
U2 |
1 |
SOP-16 |
C84681 |
11 |
USB连接器 |
Mirco USB |
USB1 |
1 |
MICRO-USB-SMD_5P |
C40957 |
12 |
排针 |
2.54*2P |
J1 |
1 |
HDR-M-2.54_1X2 |
C124375 |
13 |
短路帽 |
2.54mm |
J1 |
1 |
HDR-M-2.54_1X2 |
C5305 |
14 |
铜柱 |
M3 |
TP1~TP4 |
4 |
M3X10-6 |
C551322 |
5 PCB设计
完成原理图设计后,经过检查电路与网络连接正确后点击顶部菜单栏的 “设计 ”→ “原理图转PCB”(快捷键为Alt+P),随即会生成一个PCB设计界面,可先暂时忽略弹出的边框设置,然后将PCB文件保存到工程文件中,并命名为:PCB_电子琴电路设计。
5.1 边框设计
在绘制PCB前需根据个人意愿以及元器件数量所占空间确定PCB的形状及边框大小,若无特殊外壳要求,一般设计成矩形、圆形以及正方形。在设计该项目时,秉承着大小合适,美观大方的原则,我们在顶部工具菜单栏下的边框设置选型中设定了一个长为85mm、宽50mm、圆角半径为2mm的圆角矩形。实际板框大小会随着布局布线中进行调整,如果太小可适当放大,太大也可缩小边框,风格样式可自由发挥,但尽量控制在10cm*10cm之内,这样就可以到嘉立创免费打样啦~
图5-1 边框设置 图5-2 边框示意图
5.2 PCB布局
在绘制完板框外形后,接下来进行PCB设计的第二步,对元器件进行分类和布局,分类指的是按照电路原理图的功能模块把各个元器件进行分类,图中有很多按键和对外的接口,这里需要我们用到嘉立创EDA所提供的布局传递功能,首先确保PCB工程已保存到原理图文件的同一个工程文件夹中,然后框选原理图中的某一电路模块,比如选中按键电路,然后点击顶部菜单栏中的 “工具” → “布局传递”(快捷键为Ctrl+Shift+X),PCB页面所对应的元器件就好进行选中并按照原理图布局进行摆放, 使用这个方法将各个电路模块进行分类后依次摆放在前面所放置的边框中。
在布局的时候注意摆放整齐,可根据飞线的指引进行摆放,按照原理图信号的流向和器件连接关系进行摆放,是可以把原理图器件摆放非常整齐的,在布局的过程中注意接口位置。 在该项目的布局中提供以下几点参考建议:
①Mirco USB和拨动开关靠左侧板边摆放;
②CH340C的退耦电容尽量靠近相连引脚,D+/D-信号线贴近平行布线;
③晶振底下尽量不要走线,靠近放置在单片机附近,减小干扰;
④8个琴键等间距排列放置在下侧板边,8个指示灯等间距排列放置在上侧;
⑤在板边四个角分别放置M3铜柱孔,用于固定支撑;
图5-3 PCB布局参考图
5.3 PCB走线
接下来进行PCB设计的第三步:PCB走线,全称为印刷电路板布线(PCB LAYOUT)。由于电路板有顶面与底面两个面,在PCB走线也就可以分为顶层和底层走线,其中顶层走线默认是红色线,底层为蓝色线,也可按照个人喜好设置其他颜色,走线也就是在电路板中按照飞线连接导线,将相同的网络连接起来即可。
首先选择层与元素中要走线的层,然后点击导线工具进行连线(快捷键为W)。看似简单的连连看,其中需要我们耐心的进行调整,元器件的摆放布局也会影响走线的难度,所以还需要在走线过程中进一步调整布局,进一步优化。前面所介绍的PCB布局相当于是在给走线做铺垫,布局好了走线也就自然顺畅了。该项目的走线中提供以下几点参考建议:
①电源线设置为25mil,信号线设置为15mil宽度;
②走线以顶层走线为主,走不通的可以切换到底层进行连接;
③走线过程中优先走直线,需要拐弯的地方以圆弧拐弯或钝角为主;
④最后加上泪滴,添加丝印标记该按键功能以及接口功能;
图5-4 PCB走线参考图
5.4 覆铜与丝印
PCB 走线画完后进行覆铜,就可以连接好 GND 网络。丝印字符遵循从上往下从左到右的原则。对拨动开关、电源指示灯和按键等加上丝印标注说明,在板子加上工程名称与LOGO注释。
图5-5 PCB顶层覆铜与丝印参考图
图5-6 PCB 底层覆铜与丝印参考图
6 电路调试
6.1 硬件调试
(1)器件焊接
第一,先焊接Micro USB接口;第二,焊接CH340C和STC89C52RC(焊接芯片时要注意方向,别焊反了);第三,电阻电容、三极管和LED;第四,晶振和按键;第五,开关和蜂鸣器。
图6-1 PCB装配图
图6-2 未焊接PCB板
注意焊接过程中用电安全手不要接触到烙铁头,避免烫伤。焊接时元器件对准位置,检查型号是否正确。焊接贴片元器件用镊子夹住时,要等焊锡凝固后再移走镊子,否则易造成虚焊。焊接过程注意锡线是否虚焊漏焊,避免影响电路性能,导致电路不能正常工作。
图6-3 PCBA实物图
图6-4 PCB-3D渲染图
(2)硬件调试
若焊工比较粗糙,在焊接完一种元器件,可以目测检查是否短路,也可用万用表检查。焊接完成后需要使用万用表检查电源与地是否短路,焊接过程中有没有出现短路以及断路的情况,检查无误后方能进行上电测试。
在调试过程中发现CH340C会倒灌回流点亮电源指示灯,产生没打开拨动开关时电源指示灯也亮起异常现象,因此在CH340C前面加了个排针J1,当烧录下载时用短路帽短接排针J1,CH340C工作进行烧录,不进行下载烧录时拔出短路帽,CH340C不工作,降低板子功耗。
6.2 软件调试
(1)编程环境
使用keil C51进行编程开发,AT89系列、STC89系列和STC15系列等单片机都可以使用keil C51进行开发,keil C51软件支持的芯片多达几百款,官方下载地址: https://www.keil.com/download/product/
(2)程序介绍
软件调试中发现蜂鸣器接到单片机的P4^1,在STC89C52RC的头文件reg52.h中没有定义P4寄存器,所以要用到P4口,需要自行查看数据手册定义开启,即sfr P4 = 0xE8;
(3)固件烧录
使用宏晶的STC-ISP下载编程烧录软件,使用Mirco USB数据线将程序下载到单片机,官方下载地址:http://www.stcmcudata.com/
评论