基于5 1 单片机简易电子琴设计 院 系;电气信息工程学院 班 级;1 0 通信工程三班 * **** 指导老师: 设计周数:一周 一设计题目: 设计一简易电子琴,要求能够发出 1、2、3、4、5、6、7 等七个音符。 使用元件:AT89C51、LM324,喇叭,按键等 二设计目的 (1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。 (2)熟悉 8051 单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。 (3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。 (4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。 三设计思路 在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体可见下)。 程序设计的思路按以下顺序进行: 1. 分析与确定程序总体设计目标 2. 将总体目标划分为若干模块 3. 定义每个模块的具体任务,明确它与其他模块间的通信方式 4. 编写源程序,进行调试 四、设计原理、思路及流程图 设计原理 (1)对于一个特定的D/A转换接口电路,CPU 执行一条输出指令将数据送入D/A, 即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变化的数据, 在其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。 各音阶标称频率值: (2)由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T 0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 原理: 系统硬件图 流程图: 。 本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T 值便为T= 216--5﹡105/相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值,: 五 实验源程序 方案一:产生按键音符 ORG 0000H LJMP MAIN ORG 000BH LJMP BREAK MAIN: MOV TMOD,#01H ;设置定时器0 的工作方式 SETB EA SETB ET0 ; 设置定时器0 中断 SETB TR0 ; 启动定时器0 WAIT1: LCALL KEY ; 调...