1 选题的背景
本次课设是应用单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同的音调的音乐,在利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳的音乐。
2 设计说明2.1设计要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲
设计按钮实现歌曲顺序播放或单曲循环;
存储三首以上歌曲2.2 附加功能
(1)用数码管显示当前播放曲目;
(2) LED花样彩灯随播放音符变换;
(3)通过按键实现下一首歌的切换;
3硬件设计
3.1 系统组成框图
图3-1系统组成框图
本设计采用STC89C516RD+作为主控芯片,蜂鸣器作为输出设备产生音乐,通过MOD键能实现播放模式的控制,数码管(LED)能够实时的显示当前的歌曲号。其中P3.3外接按键,P0口用作数码管输出数据端口,P2口作LED输出数据端口P1.1蜂鸣器端口。
3.2单元电路设计3.2.1晶振电路
放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一中有一个用于构成内部振荡器高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量大小会轻微影响振荡频率的高低、振荡器工作稳定性、起振的难易程序及温度稳定性。振荡器电路图如下: