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 所对应音符表

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 物料清单

电子琴电路设计项目物料清单

R1~R8,R10,R11

R0805

C17513

R9,R12

R0805

C17414

C1,C5

C0805

C386019

C2,C3

C0805

C43094

100nF

C4,C6,C7,C8

C0805

C38141

LED-0805_R

LED1~LED8,POWER

LED0805

C72037

2N3906

SOT-23-3

C147294

K4-6x6 _SMD

KEY1~KEY8,RST

KEY-SMD_4P

C191626

SS-12D02-VG4

SW-TH_SS-12D02-VG4

C136719

12MHz

HC-49S/SMD

C14871

BUZZER1

BUZ-TH_BD9.0-P4.00-D0.6-FD

C409839

STC89C52RC

LQFP-44

C8707

USB 芯片

CH340C

SOP-16

C84681

USB 连接器

Mirco USB

MICRO-USB-SMD_5P

C40957

2.54*2P

HDR-M-2.54_1X2

C124375

2.54mm

HDR-M-2.54_1X2

C5305

TP1~TP4

M3X10-6

C551322

5 PCB 设计

完成原理图设计后,经过检查电路与网络连接正确后点击顶部菜单栏的 设计 ”→ “ 原理图转 PCB” (快捷键为 Alt+P ),随即会生成一个 PCB 设计界面,可先暂时忽略弹出的边框设置,然后将 PCB 文件保存到工程文件中,并命名为: PCB_ 电子琴电路设计

5.1 边框设计

在绘制 PCB 前需根据个人意愿以及元器件数量所占空间确定 PCB 的形状及边框大小,若无特殊外壳要求,一般设计成矩形、圆形以及正方形。在设计该项目时,秉承着大小合适,美观大方的原则,我们在顶部工具菜单栏下的边框设置选型中设定了一个长为 85 mm 、宽 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 )编程环境

使用 kei l 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/