单片机课程设计-八音盒.doc_第1页
单片机课程设计-八音盒.doc_第2页
单片机课程设计-八音盒.doc_第3页
单片机课程设计-八音盒.doc_第4页
单片机课程设计-八音盒.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计-八音盒 说明书目录第一章 绪论1.1 概述21.2 设计目的21.3 设计任务及内容 2第二章 总体设计及核心器件简介2.1 原理说明32.2 80c51简介 32.3 lcd简介 52.4 键盘扫描6第三章 电路设计3.1 硬件电路设计框图83.2 键盘控制电路93.3 lcd显示电路103.4 晶振电路103.5 基本功能10第四章 程序调试中存在的问题及解决办法11第五章 结束语 12参考文献 13第一章 绪论1.1 概述单片机,即单片微型计算机,又称微控制器,是微型计算机的一个重要分支。单片机是集cpu、ram、rom、i/o接口和终端系统与同一硅片的器件。20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。由于单片机功能功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取得了一系列的科研成果,具有广阔的发展前景。而51系列单片机是各单片机中最为典型和最有代表性的一种。1.2 设计目的(1) 加强对单片机和c51语言的认识,充分掌握和理解设计各部分的工作原理设计过程、 选择芯片器件、模块化编程等多项知识。(2) 用单片机模拟实现具体应用,使个人设计系统能够真正使用。(3) 把理论与实践相结合,充分发挥个人与团队合作能力,并在实践中得到锻炼。(4) 提高利用已学的知识分析和解决问题的能力。1.3 设计任务及内容1.3.1设计任务和要求本设计利用8051单片机结合内部定时器及lcd设计一个八音盒。按下单键可以演奏预先设置的歌曲旋律。本设计可以学习80c51定时器程序设计、按键扫描的设计方法。1.3.2 设计内容(1) 填写设计任务书(2) 进行总体设计,画出原理图(3) 用protues软件画出pcb板(4) 用keil软件编写程序(5) 在protues里模拟并调试程序达到预期功能第二章 总体设计及核心器件简介2.1 原理说明:当键盘有键按下时,判断键值,启动计数器t0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器t1,并驱动lcd,显示歌曲号。(1) 硬件电路中用p1.0p1.7控制按键,其中p1.0p1.3扫描行,p1.4p1.7扫描列。(2) 用p2.0p2.2作为lcd的rs,r/w,e的控制信号。用p0.0p0.7作为lcd的d0d7的控制信号。(3) 用p3.7口控制蜂鸣器(j2,j4断开,j3短接)。电路为12mhz晶振频率工作,起振电路中c1,c2均为30pf。2.2 80c51简介2.2.1 80c51单片机简介80c51是mcs-51系列单片机中的一个子系列,是一族高性能兼容型单片机。其内部资源分配和性能如下;8位cpu;寻址能力2x64k;4kb的内部rom和128b内部ram;四个8位i/o接口电路;一个串行全双工异步接口;五个中断源和两个中断优先权;采用cmos工艺电流小,低功耗。2.2.2 80c51各管脚主要功能简介下图为80c51pcb图:(1)vss(20脚):接地(2)vcc(40脚): 主电源+5v(3)xtal1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于hmos单片机,该端引脚必须接地;对于chmos单片机,此引脚作为驱动端。xtal2(18脚):接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于hmos单片机,该引脚输入外部时钟脉冲;对于chmos单片机,此引脚应悬浮。(4) rst(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(reset)(5)psen(29脚): 在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。cpu在向片外存储器取指令期间,psen信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效psen信号不出现。psen端同样可驱动8个lsttl负载。我们根据psen、ale和xtal2输出端是否有信号输出,可以判别80c51是否在工作。(6)ale/prog(30脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。cpu在向片外存储器取指令期间,psen信号在12个时钟周期中两次生效。psen端同样可驱动8个lsttl负载。我们根据psen、ale和xtal2输出端是否有信号输出,可以判别80c51是否在工作。(7) ea/vpp(31脚):当ea端输入高电平时,cpu从片内程序存储器地址0000h单元开始执行程序。当地址超出4kb时,将自动执行片外程序存储器的程序。当ea输入低电平时,cpu仅访问片外程序存储器。在对87c51eprom编程时,此引脚用于施加编程电压vpp。(8)输入/输出引脚:1)p0.0p0.7 (39脚32脚)2)p1.0p1.7 (1脚8脚)3)p2.0p2.7 (26脚21脚)4)p3.0p3.7 (10脚17脚)2.3 lcd简介2.3.1 lcd特性 lcd具有如下特性:(1) +5v供电,亮度可调。(2) 内藏振荡电路,系统内含重置电路。(3) 提供各种控制命令,如清除显示器、字符闪烁、光标闪烁、显示移位等多种功能。(4) 显示用数据ram共有80个字节。(5) 字符产生器rom有160个57点阵字型。(6) 字符产生器ram可由用户自行定义8个57的点阵字型。1. 引脚说明 本设计所用lcd引脚如图2-3所示3。其引脚功能说明如下:(1) d0d7 双向的数据总线,lcd数据读写方式可以分为8位及4位两种,以8位数据进行读写则d0d7皆有效,若以4位方式进行读写,则只用到d7d4.(2) rs 寄存器选择控制线,当rs=0时,并且做写入的动作时,可以写指令寄存器,若rs=1则用于读写数据寄存器。(3) r/w lcd读写控制线,r/w0时,lcd执行写入的动作,r/w1时则做读取的动作。(4) en 启用控制线,高电平动作。(5) vcc 电源正端。(6) vo 亮度调整电压输入控制引脚,当输入0v时字符显示最亮。(7) gnd 电源地端。2.4 键盘扫描图2-4是一个16键的控制电路,使用8051端口2的8条i/o线做16个按键的键盘扫描,由p2.0p2.3送出扫描信号,而由p2.4p2.7读取按键数据返回码。键盘扫描控制电路以程序扫描的方式来侦测哪一按键按下,一次扫描一行四个按键,扫描的顺序如下:(1) 送出扫描信号1110以扫描c1行的4个按键,读取按键数据,判断该行是否有按键按下,若有被按下,则连接至被按下的该键,返回线状态为0。(2) 送出扫描信号1101以扫描c2行的4个按键,读取按键数据,判断该行是否有键按下。(3) 送出扫描信号1011以扫描c3行的4个按键,读取按键数据,判断该行是否有按键按下。(4) 送出扫描信号0111以扫描c4行的4个按键,读取按键数据,判断该行是否有键按下。(5) 回到步骤(1)继续做按键扫描。以上的步骤连续地重复,若有按键被按下,就将该按键译码出来,至于如何译码,可以使用双重循环做计数编号,当某一按键按下时,其按键编号便是计数编号。1 单片机课程设计-八音盒 说明书第三章 电路设计3.1 硬件电路设计框图键盘控制电路80c51单片机lcd显示电路led闪烁电路扬声器电路3.2 键盘控制电路 按键功能09键:十首歌曲选择键 stop: 停止键 pause : 暂停键3.3 lcd显示电路用p2.0-p2.2作为lcd的rs、r/w、e的控制信号用p0.0-p0.7作为lcd的d0-d7的控制信号3.4 晶振电路 xtal1和xtal2的两端用来连接石英晶体和外接电容,即用来连接片内osc的定时反馈回路。石英起振后应能在xtal2线上输入一个3v左右的正弦波,以便使片内的电路按石英晶振相同频率自激振荡。3.5 基本功能1:使用lcd显示器来显示目前演奏的歌曲编号2:具有16个按键操作来选择演奏哪一首歌曲3:内建10首歌曲旋律,按下单键就可以就可以演奏歌曲4:演奏时可以按键中断。程序执行后工作指示led闪动,表示程序开始执行,按下单键09可以演奏歌曲,歌曲演奏中,可以按键中断。第四章 程序调试中出现的问题及解决的办法1 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的,例如注释语句前的分号要在英文状态下输入。2 程序中的跳转指令的运用很重要,为保险起见,都用ljmp,我们就遇到过跳转指令用错程序无法正常运行的现象。3 编程时要注意,在程序开始时,要写入各定时器中断的入口地址。4 编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。5 程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。6 编程前要加流程图,这样会使思路清晰,例如80c51八音盒的设计思路完全可以按着mp3的工作方式列写流程图。7 lcd计时正常显示的解决办法:两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计250us,由于定时中断过于频繁,使cpu负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改观。 单片机课程设计-八音盒 说明书第五章 结束语在刘鹏老师耐心的指导下,我们完成了这次单片机课程设计课题中的80c51八音盒设计,通过这次的设计使我们认识到自己对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致设计的过程遇到一些困难。本次的设计使我们从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到以后的工作中去。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的80c51八音盒给我们了一个很好的实践机会,我们会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我们也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我们对团队精神的积极性和重要性有了更加充分的理解。最后,感谢刘鹏老师对我们的细心的指导,正是由于刘鹏老师的细心的辅导和解疑,使得我们的课程设计能够顺利的完成,同时在课程设计过程中,我们巩固和学习了我们的单片机知识。相信这

温馨提示

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

评论

0/150

提交评论