单片机课程设计报告-简易电子琴_第1页
单片机课程设计报告-简易电子琴_第2页
单片机课程设计报告-简易电子琴_第3页
单片机课程设计报告-简易电子琴_第4页
单片机课程设计报告-简易电子琴_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目目 录录 1 概述.1 2 方案设计.2 2.1 系统设计要求.2 2.2 电子琴系统的组成.2 2.3 电子琴系统的设计思想.2 2.3.1 硬件设计思想.2 2.3.2 软件设计思想.3 3 硬件电路设计.4 3.1 系统方案.4 3.2 系统功能框图.5 3.3 功能模块详细设计.5 3.4 主要芯片功能描述.9 4 系统软件设计.11 4.1 主程序流程图.11 4.2 源程序.12 4.3 设计总结.16 5 仿真与调试.17 结束语.19 参考文献.20 1 1 概述概述 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit) , 单片机芯片 常用英文字母的缩写 MCU 表示单片机,单片机又称单片微控制器,它不是 完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当 于一个微型的计算机,和计算机相比,单片机只缺少了 I/O 设备。概括的讲: 一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用 和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最 佳选择。它最早是被用在工业控制领域。 由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有 CPU 的专用 处理器发展而来。最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯 片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备 当中。 INTEL 的 Z80 是最早按照这种思想设计出的处理器,当时的单片机 都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,此后在 8031 上发展出了 MCS51 系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管 2000 年以后 ARM 已经发展出了 32 位的主频超过 300M 的高端单片机,直到目前 基于 8031 的单片机还在广泛的使用。在很多方面单片机比专用处理器更适合应 用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多 处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手 机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都 配有 1-2 部单片机。 汽车上一般配备 40 多部单片机,复杂的工业控制系统上 甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过 PC 机和其他计 算的总和,甚至比人类的数量还要多。 2 2 方案设计方案设计 2.1 系统设计要求系统设计要求 本系统主要实现电子琴的基础操作。关于声音的处理,采用使用说明中的 响声音的方法,使用汇编语言,利用定时器来控制频率,而每个音符的符号只 是存在我自己定义的表中。具体要求如下: (1)要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。 (2)用键盘作出电子琴的按键,每键代表一个音符,该设计只有中音音段。 (3)各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。 (4)用汇编语言编程实现程序设计。 (5)利用查表,中断等方式实现目的。 (6)系统的各各功能模块要清楚,有序。 (7)程序运行时有友好的用户界面。 2.22.2 电子琴系统的组成电子琴系统的组成 单片机因体积小、功能强、价格低廉而得到广泛应用。AT89C51 单片机设 计微型电子琴的方法,仅需 AT89C51 最小系统,扩展一组小键盘,再加一片 LM386 做音频小功放,输出到扬声器;电源由变压器,整流二极管,电容及稳 压器组成;另外,再接一组发光二极管用来指示按键的按下与否。 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率, 这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然 对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器 T0 来产生这样方波频率信号,实际上就是把每个按键所对应的值经过处理后发 给单片机,再在单片机内把数字当作指针指向所对应的音符。 2.32.3 电子琴系统的设计思想电子琴系统的设计思想 2.3.1 硬件设计思想硬件设计思想 电子琴的原理框图如图一所示。它由以下几个部件组成:单片机 3 AT89C51、电源、4*4的16个按钮矩阵、音频放大模块。 电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、 整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供 电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的 寿命。 2.3.2 软件设计思想软件设计思想 本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整或定 闹设置程序三大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面 对部分模块作介绍。定时中断模块我们可以用语句: MOV TMOD ,#01H 写控制数 MOV TH0 ,#0XH 写定时常数 SETB TR0 启动TR0 SETB ET0 允许T0 SETB EA 开放CPU中断 关于声音的处理,第一种方法是使用汇编语言,利用定时器来控制频率, 而每个音符的符号只是存在我自己定义的表中。音符的频率是通过查表得到的 (见表 2-1) 。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样 我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于 单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器 T0 来 产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正 确即可。现在以单片机 12MHZ 晶振为例,列出高中低音符与单片机计数 T0 相 关的计数值如表 2-1 所示. 表 2-1 音符频率(HZ)简谱码(T 值) 低 3 MI 33064021 低 4 FA 34964103 4 低 5 SO 39264260 低 6 LA 44064400 低 7 SI 49464524 中 1 DO 52364580 中 2 RE 58764684 中 3 MI 65964777 中 4 FA 69864820 中 5 SO 78464898 中 6 LA 88064968 中 7 SI 98865030 高 1 DO 104665058 高 2 RE 117565110 高 3 MI 131865157 高 4 FA 139765178 采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机 通过查表的方式来获得相应的数据: TABLE: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 3 硬件电路设计硬件电路设计 3.13.1 系统方案系统方案 通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央 处理器通过识别,编译,最后解码输出音符,再通过功放电路进行放大,最后 在扬声电路中发出有效的声音。通过这样可以不断的弹奏音乐。嵌入式电路由 5 电源电路,按键电路,LED 显示电路,音频放大电路和两个功能键组成,通过 功能键可以选择播放音乐。 3.23.2 系统功能框图系统功能框图 该系统的主要模块由五个部分组成,具体关系如图 3-1 所示: A AT T8 89 9C C5 51 1单单 片片机机 音音 频频 放放 大大 电电 路路 显显示示电电路路 键键 盘盘 电电 路路 电电源源电电路路 单单片片机机电电子子琴琴总总体体框框图图 图 3-1 3.33.3 功能模块详细设计功能模块详细设计 系统主要功能模块由以下几部分组成: 1 1、电源电路设计、电源电路设计 从图 3-2 可知,无论是 AT89C51 单片机工作电源、二极管还是数码管的驱 动,都要用到+5V 的直流电源,所以,一个稳定的、持续的+5V 直流电源对本系 统十分重要。本系统运用桥式整流电路,将交流转换为直流,为各部分电路提 供恒定的+5V 直流。模拟部分和数字部分分别采用一个独立的稳压管供电,保 证电路的稳定性和抗干扰。 6 图 3-2 2 2 . . 键盘控制电路设计键盘控制电路设计 本系统采用独立式按键方式来实现键盘的。独立式按键是指直接用 I/O 口 线构成单个按键电路,每个按键占用一条 I/O 口线,每个按键的工作状态不会 产生相互影响。如下图所示,当图中的某一个键闭合时,相应的 I/O 口线变为 低电平。当程序查询到为低电平的 I/O 口线时,就可以确定处于闭合状态的键。 图 3-3 3 3、音频放大电路设计、音频放大电路设计 7 LM386 是美国国家半导体公司生产的音频功率放大器,主要应用于低电压 消费类产品。为使外围元件最少,电压增益内置为 20。但在 1 脚和 8 脚之间增 加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地 位参考,同时输出端被自动偏置到电源电压的一半,在 6V 电源电压下,它的 静态功耗仅为 24mW,使得 LM386 特别适用于电池供电的场合。LM386 的封装 形式有塑封 8 引线双列直插式和贴片式。其追求的主要目标是在失真许可的限 度内,高效率地为终端负载提供尽可能大的输出功率。该系统中音频放大电路 的设计如图 3-4 所示: 图 3-4 4.4. 复位电路设计复位电路设计 复位是单片机的初始化操作,其主要功能是把 PC 初始化为 0000H,使单片 机从 0000H 单元开始执行程序。除了进入系统的正常初始化之外,当由于程序 运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重 新启动。RST 引角是复位信号的输入端,复位信号是高电平有效,其有效时间 应持续 24 个振荡脉冲周期以上。整个复位电路包括芯片内外两部分。外部电路 产生的复位信号(RST)施密特触发器,再由片内复位电路在每个机器周期的 S5P2 时刻对施密特触发器的输出进行采样。然后才得到内部复位操作所需要的 信号。 复位电路的基本功能是系统上电时提供复位信号直至系统电源稳定后撤销 复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开 关或电源插头分-合过程中引起的抖动而影响复位. 复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过 外部复位电路的电容充电来实现的.这样只要电源的上升时间不超过 1ms,就可 以实现自动上电复位,即接通电源就完成了系统的复位初始化.本设计采用按键 8 手动复位方式。而该方式又分为电平方式和脉冲方式。其中按键电平方式是通 过使复位端经电阻与电源接通而实现的。而按键脉冲复位则是利用 RC 微分电路 产生的正脉冲来实现的。本设计采用按键电平复位方式,具体电路图如下: 图 3-5 图中 9 端口与单片机复位信号(RST)相连。 5.5. 时钟电路设计时钟电路设计 时钟电路用于单片机工作所需要的时钟信号,单片机本身就是一个复杂的 同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制 下严格的按时序进性工作。而时序所研究的则是指令执行中各信号之间的相互 直接关系。 1)时钟信号的产生 在 MCS51 芯片内部有一个高增益反向放大器,其输入端为芯片引脚 XTAL1,其输出端引脚 XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器 和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。如图 3-6 所示。 图 3-6 9 除使用晶体振荡器外,如对时钟频率要求不高,还可以用电感或陶瓷谐振 器代替。电路中的电容 C1 和 C2 一般取 30pF 左右,而晶体的振荡频率范围通 常是 1.2MHz12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行 速度也就快。但反过来运行速度快堆存储器的速度要求就高,对印刷电路板的 工艺要求也就高(线间寄生电容要小) 。MCS51 在通常应用情况下,使用振 荡频率为 6 MHz 的石英晶体,而 12 MHz 主要是在高速串行通信的情况下才使 用。随着技术的发展,单片机的时钟频率也在逐步提高,先在高速芯片已达 40 MHz。 定时振荡器的工作可由专用寄存器 PCON 的 PD 位进行控制,把 PD 位置“1” , 振荡器停止工作,系统进入低功耗状态。 2)引入外部脉冲信号 在由多片单片机组成的系统中,为了个单片机之间时钟信号的同步,应当 引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。这时外部的脉 XTAL2 引脚注入,其连接如图 3-7 所示。 VCC TT L 信信信信信 Vss XTAL 1 XTAL 2 图 3-7 3.43.4 主要芯片功能描述主要芯片功能描述 1.1. AT89C51AT89C51 单片机功能描述单片机功能描述 51 系列单片机中典型芯片(如A T89C51) 采用40引脚双列直插封装(D IP) 形式, 内部由CPU , 4 kB的ROM , 256 B 的RAM , 2 个16 b 的定时计数器T 0和 T1, 4 个8 b的IO 端口P0, P1, P2, P3,一个全双功串行通信口等组成。特别是该 系列单片机片内的F lash可编程、可擦除只读存储器(E2PROM ) , 使其在实际中 有着十分广泛的用途, 在便携式、省电及特殊信息保存的仪器和系统中更为有 10 用。该系列单片机引脚与封装如图3-8所示。 51系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用 他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。 图 3-8 2.2.电路总图电路总图 11 图 3-9 4 系统软件设计系统软件设计 软件由初始化程序、主程序、定时器 1 中断服务程序、键盘扫描程序和延 时程序组成。 4.14.1 主程序流程图主程序流程图 1电子琴整体程序流程图: 开始 T0初始化 有按键按下否? N 按键识别 根据按键功能,将音符装入 T0 开放中断 显示建号 等待按键释放 图 4-1 2.中断服务流程图: 将DPTR附表二的首地址 通过查表获得T0的定时常数 输出特定频率的方波 驱动扬声器 返回 中断 入口 图 4-2 12 4.24.2 源程序源程序 LINEEQU 30H ROW EQU 31H VAL EQU 32H ORG 00H SJMPSTART ORG 0BH LJMPINT_T0 START:MOV P0,#00H MOV TMOD,#01H ;* ;按键扫描程序 ;* LSCAN: MOV P2,#0F0H L1: JNB P2.0,L2 LCALLDELAY JNB P2.0,L2 MOV LINE,#00H LJMPRSCAN L2: JNB P2.1,L3 LCALLDELAY JNB P2.1,L3 MOV LINE,#01H LJMPRSCAN L3: JNB P2.2,L4 LCALLDELAY JNB P2.2,L4 MOV LINE,#02H LJMPRSCAN 13 L4: JNB P2.3,L1 LCALLDELAY JNB P2.3,L1 MOV LINE,#03H RSCAN: MOV P2,#0FH C1: JNB P2.4,C2 MOV ROW,#00H LJMPCALCU C2: JNB P2.5,C3 MOV ROW,#01H LJMPCALCU C3: JNB P2.6,C4 MOV ROW,#02H LJMPCALCU C4: JNB P2.7,C1 MOV ROW,#03H CALCU: MOV A,LINE ;计算键号 MOV B,#04H MUL AB ADD A,ROW MOV VAL,A ;* ;根据键号查表得到定时器的定时常数, ;从而发出不同频率的声音 ;* MOV DPTR,#TABLE2 MOV B,#2 MUL AB MOV R1,A MOVCA,A+DPTR 14 MOV TH0,A INC R1 MOV A,R1 MOVCA,A+DPTR MOV TL0,A MOV IE,#82H SETBTR0 MOV A,VAL LCALL LDCX ;显示键号 MOV DPTR,#TABLE1 MOVCA,A+DPTR MOV P0,A ;* ;等待按键释放 ;* W0: MOV A,P2 CJNEA,#0FH,W1 MOV P0,#00H CLR TR0 LJMPLSCAN W1: MOV A,P2 CJNEA,#0F0H,W2 MOV P0,#00H CLR TR0 LJMPLSCAN W2: SJMPW0 ;* ;定时器 0 中断服务程序,输出特定频率的方波, ;驱动扬声器发声 ;* 15 INT_T0: MOV DPTR,#TABLE2 MOV A,VAL MOV B,#2 MUL AB MOV R1,A MOVCA,A+DPTR MOV TH0,A INC R1 MOV A,R1 MOVCA,A+DPTR MOV TL0,A CPL P3.7 RETI LDCX: PUSH ACC MOV DPTR,#TABLE3 MOVCA,A+DPTR MOV P1,A POP ACC RET DELAY: MOV R6,#10 D1: MOV R7,#250 DJNZR7,$ DJNZR6,D1 RET TABLE1: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H TABLE2: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 16 TABLE3: DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,7FH DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,7FH END 4.34.3 设计总结设计总结 本系统最终实践效果基本达到设计要求,操作人员每执行一个动作,该系 统就会有相应的反应,并且效果比较满意,基本达到设计的要求与目的。但是 该系统的设计,还存在以下几点不足之处:线性电源应该换为开关电源,这 样才与现实中的电子产品更接近,而且这对电路也有保护作用。只能自己弹 奏,没有涉及激动播放音乐的内容。发光二极管的亮与灭应该和按键的按下 与释放对应起来,即当按键按下时,和该键相对应的发光二极管应亮着;当按 键释放时,该二极管应该熄灭。 本系统的设计在单片机开发领域来说只能算是 一个最初级的水平,当然,在设计该系统的过程中也遇到不少的问题,如:电 源设计时变压器和稳压器的选择,功放设计过程中几个参数的确定及喇叭的选 择等等,在我的合作伙伴和指导教员的协助下这一系列的问题最终都得到了解 决。 5 仿真与调试仿真与调试 通过proteus的仿真,得出如下的仿真运行是的导出图。 18 19 图 5-1 20 结束语结束语 通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻体 会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩 固,同时也对单片机这一门课程产生了更大的兴趣。本设计涉及到单片机原 理及应用 、 模拟电子技术等学科。让我对专业知识有了更深的理解。 在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资 源,其中包括:AT89C51 单片机及其引脚说明及其引脚功能等,为本次课程设 计提供了一定的资料。 在做课程设计的初期阶段,难度很大,没有头绪。通过在图书馆里、网上 查阅资料,攻克了课程设计中的道道难题。本次设计我能独立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论