八音盒设计[实用版]_第1页
八音盒设计[实用版]_第2页
八音盒设计[实用版]_第3页
八音盒设计[实用版]_第4页
八音盒设计[实用版]_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、 单片机原理及应用单片机原理及应用课程设计课程设计八音盒设计完成日期:2013 年 06 月 11 日 目录目录一、单片机设计课程的目的和基本要求一、单片机设计课程的目的和基本要求.2二、八音盒的设计要求二、八音盒的设计要求.3三、关于三、关于 AT89C51.33.1、对于 AT89C51 的性能介绍 .33.2、AT89C51 的管脚介绍 .4四、总体设计四、总体设计.6五、硬件原理及设计说明五、硬件原理及设计说明.7六、软件设计流程图六、软件设计流程图.7七、程序输入窗口、编码及音乐程序七、程序输入窗口、编码及音乐程序.97.1 程序输入窗口 .97.2 编码 .97.3 音乐程序 .1

2、0八、仿真和调试八、仿真和调试.22九、元器件清单九、元器件清单.23十、电路总图十、电路总图.24十一、实验总结十一、实验总结.25参考文献:参考文献:.26一、一、 单片机设计课程的目的和基本要求单片机设计课程的目的和基本要求大学本科生动手能力的培养和提高时大学本科的一个重要内容。本次课程的设计目的,是让我们通过课程设计建立起单片机应用系统的概念,根据系统设计要求,掌握初步的单片机系统设计方法,让学生的动手能力和对单片机系统从硬件系统和软件系统设计两个方面都得到实际的提高。为今后的毕业设计打下良好的基础。课程设计的基本要求有:(1)在课程设计过程中,学会使用 89S51 单片机及相应绘图软

3、件,根据设计要求设计,编程,运行,调试最后提供课程设计报告;(2)课程设计应由学生本人独立完成,严禁抄袭;(3)认真编写课程设计报告。二、八音盒的设计要求二、八音盒的设计要求8051 八音盒 本设计利用 8051 单片机结合内部定时器 LCD 设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。本设计可以学习 8051 定时器程序设计,按键扫描及歌曲旋律简单直觉式输入法的设计方法。 其基本功能为:1 使用 LCD 显示器来显示目前演奏的歌曲编号;2 具有 16 个按键操作来选择演奏哪一首歌曲;3 内建 10 首歌曲旋律,按下单键可以演奏歌曲;4 演奏时可以按键中断。程序执行后工作指示 LED

4、闪动,表示程序开始执行,按下单键 09 便可以演奏歌曲,歌曲演奏中,可以按键中断。三、关于三、关于 AT89C513.1、对于、对于 AT89C51 的性能介绍的性能介绍 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一

5、种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 它可以提供以下的功能标准:(1)4K 的字节闪烁存储器;(2)128 字节随机存取数据存储器;(3)32 个 I/O 口;(4)2 个 16 位定时/计数器;(5)1 个 5 向量两级中断结构;(6)1 个串行通信口;(7)片内振荡器和时钟电路。另外 AT89C51 还可以警醒 OHZ 的惊涛逻辑操作,并支持两种软件的节点模式。3.2、AT89C51 的管脚介绍的管脚介绍 图 3.1 AT89C51 的管脚图VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门

6、电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1 口作为低八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O

7、口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个TTL 门电流。当 P3 口写入“1”

8、后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个

9、机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外

10、部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可

11、以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4芯片擦除: 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和中

12、断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。四、总体设计四、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以 2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 口反相,就可在 I/O 脚上得到此频率的脉冲(2)利用 8051 的内部定时器使其工作在计数器模式 MODE1 下,改变记数值TH0 及 TL0 以产生不同频率的方法。例如频率为 523HZ,其周期 T=1/523=1912 微秒,因此只要令计数器定时

13、956/1=956 在每记数 9 次时将 I/O 口反相,就可得到中音 D0(523HZ)。记数脉冲值与频率的关系公式如下:N=Fi/2/Fr N:记数值Fi:内部计时一次为 1 微秒故其频率为 1MHZ Fr;要产生的频率(3):起记数值的求法如下:T65536N65536Fi2Fr例如:设 K65536,F1000000Fi1MHZ,求低音 D0(523HZ) ,高音的D0(1046HZ)的记数值。T65536N65536Fi2Fr6553610000002Fr65536500000Fr低音 D0 的 T6553650000026263627中音 D0 的 T655365000005236

14、4580低音 D0 的 T65536500000104765059表 4.1 调个音符频率与计数值 T 的对照表企鹅 1。16-5。86-4.375五、硬件原理及设计说明五、硬件原理及设计说明企鹅 1。16-5。86-4.375六、软件设计流程图六、软件设计流程图 开始初始化设置音节起始位置设置节拍间距读取音阶,音符显示当前播放歌曲序号节拍结束音乐结束七、程序输入窗口、编码及音乐程序七、程序输入窗口、编码及音乐程序 7.1 程序输入窗口程序输入窗口 图 7.1 keil5 环境下的程序输入窗口7.2 编码编码建立音乐的步骤(1)先把乐谱的音符找出,然后建立 T 值表的顺序;(2)把 T 值表建

15、立在 TABLE1,构成发音符的计数值放在TABLE。(3)简谱码(音符)为高位,节拍为(节拍数)低四位,音符节拍码放在程序的 TABLE 处。表 7.1 拍与节拍的对照企鹅 1。16-5。86-4.375表 7.2 简谱对应的简谱码、T 值、节拍数企鹅 1。16-5。86-4.375 7.3 音乐程序音乐程序 企鹅 1。16-5。86-4.375八、仿真和调试八、仿真和调试企鹅 1。16-5。86-4.375 图 9.1 在 Isis 环境下进行图形编辑和元器件选择 上面设计的电路在 Proteus 软件内画图,打开成单片机软件开发系统 keil,选择 89c51 单片机,在其中编写程序,运

16、行生成一个后缀名为 hex 的文件,然后将该文件下载到 Proteus 中的 AT89C51 单片机中进行仿真,观察实验现象。仿真能实现播放音乐,按键选择曲目、暂停、播放功能。程序调试中出现的问题及解决的办法:(1) 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的,例如有的 RET 返回指令一定要按正确格式书写或在两行指令间最好不要留空行。(2) 程序中的跳转指令的运用很重要,为保险起见,都用 LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。当用 JNZ 指令时,跳转范围比较少,这时要用一个标号中转。(3) 编程时要注意,在

17、程序开始时,要写入各定时器中断的入口地址。(4) 编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。(5) 编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着 MP3 的工作方式列写流程图。(6) LCD 计时正常显示的解决办法:a. 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器 1设定在方式 3,计 250us,由于定时中断过于频繁,使 CPU 负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器 1 设定在工作方式 1,16 位计数,计 50ms,效果有很大改观。但还有问题。b. 当音乐为全 4 拍起始时,

18、此时音乐节奏与定时器 T1 中断频率错开,LCD 显示和音乐播放都会好一些。c. 另外,在歌曲中,当遇到一个音符发音为 4 拍,在编曲中为*CH,因时间较长,当定时器 T1 此时来中断时,就会对歌曲播放产生影响,若改为发音一拍,中断对歌曲播放影响减弱,但音乐效果变差。九、元器件清单九、元器件清单十、电路总图十、电路总图 图 10.1 单片机八音盒的设计总电路图名称数量(个)型号备注电阻6排阻 RX8(1 个)1k(2 个),5.5k(1 个),10k(1 个),15(1个)数码管17SEG-DIGITAL按钮4BUTTON单片机1AT89C51三极管12N2905扬声器1SPEAKER电源25

19、V电容330pf(2 个),10uf(1 个)晶振1CRYSTAL十一、实验总结十一、实验总结 信息革命的深入和计算机技术的飞速发展,单片机的应用越来越广泛,并逐渐发展成为一门关键的技术学科,单片机具有体积小、重量轻、耗电少、电源单一、功能强、价格低、运行速度快、抗干扰能力强、可用性高等优点。单片机是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:本次课程设计是为了培养我们的动手能力,同时也让我们对单片机有更为直观的了解,对其相关软件了解并熟悉使用,我了解了 keil C51 软件包含

温馨提示

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

评论

0/150

提交评论