电子音乐盒的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子音乐盒的设计
—电线路实现训练
一、设计任务 (1)
二、方案与论证 (1)
三、系统硬件设计 (1)
(一)系统总框图 (1)
(二)器件选择 (1)
单片机的选择 (1)
LCD1602简介 (2)
(三)原理图设计 (2)
晶振电路 (2)
复位电路 (2)
四、系统软件设计 (5)
主程序流程图 (5)
音乐播放程序流程图 (7)
五、总结与展望 (9)
六、参考文献 (10)
附录一; 系统总电路 (10)
附录二:源代码 (10)
一、设计任务
⏹查阅资料,了解单片机控制单音喇叭发声原理;
⏹设计基于单片机的电子音乐盒;
⏹通过按钮可选择不同的音乐;
⏹其他功能(创新部分);
⏹画出完整的电路原理图(包含电源部分)和PCB板图。
二、方案与论证
(1) 利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存四首乐曲);
(2) 用LCD显示歌曲序号和歌曲名字;
(3) 通过功能键进行选择歌曲和暂停的操作。
三、系统硬件设计
(一)系统总框图
图1 总体方案图
(二)器件选择
单片机的选择
采用ATMEL公司生产的AT89C51单片机作为电子音乐盒的核心部件,AT89C51是美国A TMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写
的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
LCD1602简介
LCD液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA 移动通信工具等众多领域。
(三)原理图设计
晶振电路
单片机需要一个时间基准来为各种操作提供秩序,此电路叫时钟电路,采用不同的接线方式可以获得不同时钟电路,有内部时钟电路和外部时钟电路,外部时钟电路会使电路复杂,故采用的是内部时钟电路。时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C1,C2为30uF。
复位电路
复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
复位电路分为上电自动复位和按键手动复位,如图2所示。RST引脚是复位信号的输入端,复位信号是高电平有效.这次采用的是手动复位,复位通过电容C3,C4和电阻R1,R2来实现,按键手动复位是图中复位键来实现的。
图 2 晶振与复位电路
键盘部分
键盘是由一组按压式或触摸式开关构成的阵列,是一种常用的输入设备。键盘可分为编码式键盘和非编码式键盘两种。
1.编码键盘通过硬件电路产生被按按键的键码,这种键盘所需程序简单,但硬件电路复杂、价格昂贵通常不被单片机系统采用。
2.非编码键盘常用一些按键排列成行列矩阵,其硬件逻辑与按键编码不存在严格的对应关系,而要由所用的程序来决定。非编码键盘的硬件接口简单,但是要占用较多的CPU 时间,通常采用可编程键盘管理芯片来克服这个缺点。本设计使用两种按键,一种是按键式非编码键盘和轻触式非编码开关。
图 3 键盘电路
LCD显示电路
LCD的8根数据线与P1口相连,RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,RS与P2.0相连,由P2.0控制LCD的写指令或写数据操作。R/W与P2.1相连,由P2.1决定是读操作还是写操作。E端为使能端,当E
端由高电平跳变成低电平时,液晶模块执行命令。E端与P2.2相连。
图4 LCD显示电路
蜂鸣器部分
一般所指的蜂鸣器是以压电陶瓷为主要元件的。压电陶瓷是一类有将压力与电流相互转换能力的特殊陶瓷。这种能力缘于其特殊的晶体结构。当压电陶瓷在一定方向上受到一个压力使其晶体结构发生形变时,它就会在内部产生一个电流,并且电流的变化与压力的变化密切相关。反之亦然。所以利用这一特性,在压电陶瓷上通过一定频率的电流,就会引起压电陶瓷微小形变,这一形变带动空气发生振动,如果频率适当,就可以被人耳所听见,也就是产生了蜂鸣声。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。
图5 蜂鸣器电路
四、系统软件设计
主程序流程图
图 6 主程序流程图
主程序:
void main()
{ uint i;
k=8;
init();
for(i=0;i<15;i++)
{
WriteData(tab[i]); //LCD写数据函数写第一行
mydelay(50);
}
mydelay(1000);
WriteCMD(0x80+0x40+2); //将指针设到第二行空两字符
for(i=0;i<6;i++)
{
WriteData(tab1[i]);
mydelay(50);