基于单片机的音乐盒设计_第1页
基于单片机的音乐盒设计_第2页
基于单片机的音乐盒设计_第3页
基于单片机的音乐盒设计_第4页
基于单片机的音乐盒设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要 i 摘要 本设计采用了蜂鸣器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出 歌曲。现选用 at89s51 单片机。主要设计模块包括数码管显示部分,功能键盘部分, 蜂鸣器发声部分,彩灯部分。 显示部分管采用共阳极数码管,通过单片机 控制实现 歌曲序号的显示;功能键盘采用按键开关,通过单片机的控制来实现歌曲播放顺序 的调换和暂停播放功能;蜂鸣器实现歌曲播放;彩灯是由普通发光二极管代替,能实 现单色长亮和闪烁效果。 此次设计要利用单片机及 keilc51 编程软件编程和 proteus 单片机仿真软件和电子 电工等方面知识,用 keilc51 编程软件编程,用 proteus 单片机仿真

2、软件仿真。最后制 作实物,将程序下载到单片机中,利用 i/o 口产生一定频率的方波,驱动蜂鸣器,发出 不同的音调,从而演奏乐曲。 关键词:关键词:at89s51 单片机;方波; 音调 abstract ii abstract this design uses the buzzer to realize the voice of play songs, can maintain the same basic tones, fluent plays songs. now choose at89s51. the main design module to include digital tube d

3、isplay section, the function of the keyboard, a buzzer of voice, the lantern parts. shows part of the tube is altogether anode digital tube, through the single-chip microcomputer control realization of songs serial number display; the keyboard function button switches, through the single-chip microc

4、omputer control to realize the order of the songs played exchange and suspend play function; songs played buzzer realize; lights is by ordinary leds instead of, can realize the monochrome long bright and flickering effect. this design using single chip computer to keilc51 programming and software pr

5、ogramming and proteus single-chip microcomputer simulation software and electronic electrician aspects knowledge, with keilc51 programming software programming, with proteus single-chip microcomputer simulation software simulation. finally making real, will program downloaded to single chip microcom

6、puter, the use of i/o mouth produce a certain frequency of square wave, drive a buzzer, a different tone, thus playing music. keykey words:words: at89s51 microcontroller; square; tone 目录 iii 目录 摘要 .i abstract .ii 前言 .iv 1 绪论 .1 1.1 国内外研究现状 .1 1.2 单片机发展趋势.1 2 音乐盒总体设计.2 2.1 设计功能要求 .2 2.2 工作原理.2 2.3 总体

7、设计框图 .2 3 芯片的选择和介绍.4 3.1mcs-51 系列单片机简介 .4 3.2 单片机的选择 .4 4 系统硬件设计.8 4.1 电源电路的设计 .8 4.2 单片机最小系统.8 4.3 数码管显示部分.9 4.4 键盘部分.11 4.5 蜂鸣器部分 .11 5 系统软件设计.13 5.1 软件系统介绍 .13 5.2 编程语言的选择 .13 5.3 应用软件的选择keilc51 .13 5.4 系统程序设计 .14 5.5 系统的程序设计 .16 6 系统仿真及硬件制作.22 6.1 仿真的必要性 .22 6.2 系统仿真过程 .22 结论 .23 参考文献 .24 致谢 .25

8、 附 录 .26 前言 iv 前言 音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的的钟塔报时 ,而将大小的钟表上机械装置,被称为 “可发出声音的组钟 ”。 音乐盒悠扬的乐声,经常勾起人们对美好往事的回忆,甚至魂牵梦萦,坠入时光 岁月的追忆中。 300 多年来席卷全球市场的机械音乐盒的最大魅力,也许就在于它能 将抽象的音乐,凝固成具象的艺术品。成为人们表达美好情感,追思逝去岁月的最佳 选择吧! 机械音乐盒的发展史,可追溯至 14 世纪初期,所发明挂在教堂钟楼上的排钟 , 这种用发条装置来演奏的乐器,能发出清脆如水晶般的乐声,一度风靡荷兰,比利时 和法国北部。 1811 年以来,瑞士

9、曾经是这项技艺的中心,它和瑞士钟表工业一样, 两者相辅相成,一段时间名领风骚,称霸全球。 音乐盒 300 多年的产品发展,同时也是人类文明300 多年发 展的历史鉴证。 每个不同时期的音乐盒造型,都能折射出当时不同的社会心态和文明发展现状,它也 成了时代的一面镜子。 现今,音乐盒的制造,延袭传统,结合现代,正日益成为人们或为了典藏一段岁 月,或为了收藏一份情感,或出于对音乐的追求,或对于旧时代的怀念,或为了居室 的美化,等等,而得到众多品位人士的追求。 音乐盒的分类 : 18 音,30 音,这些是代表音乐盒机芯的音数,其实也就是机芯里面,那一排钢 条的数量,钢条的数量越多,也就是音数越高,奏出

10、来的音色就越丰富,曲子也就是 越好听,同时曲子的播放时间也相应长一点。一般18 音的曲子为 25 秒左右,30 音 的曲子为 35 秒左右。50 音的差不多有 60 秒。目前来说,一般市面上卖的 “爱丽丝” 都是 18 音的,其次是 30 音,50 音。 此次设计的目的就是运用单片机来设计一套控制系统,来完成音乐播放的控制,并 设计一套硬件来进行音调播放的实际模拟,从而有欣赏音乐的效果。随着电子技术和计 算机技术的飞速发展,单片机功能不断完善,性价比价格比显著提高,技术日趋完善。 由于单片机具有体积小,重量轻,价格便宜,功耗低,控制功能强及运算速度快等特点, 因而在国民经济建设,军事及家电器件

11、等各个领域均有广泛的应用。本设计利用单片机 及其附加电子器件实现某一实际功能,检验并提高同学对整体电路设计和把握的能力。 同时也加强对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际 制作和调试能力。同时也加强对数字电路,单片机和微机原理等课程知识的实际应用能 力,也为同类产品的进一步发展奠定理论基础和实践基础。 黑龙江八一农垦大学毕业设计(论文) 1 1 绪论 1.1 国内外研究现状 现在,单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系 统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在 产品名称前冠以形容词“智能型” ,如智能型

12、洗衣机等。现在有些工厂的技术人员或 其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿 制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机的应用 领域 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。 导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化 过程的实时控制和数据处理,广泛使用的各种智能 ic 卡,民用豪华轿车的安全保障系统, 录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开 单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学 习、开

13、发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机也广泛 应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制 等领域。 1.2.单片机发展趋势 1)可靠性及应用越来越水平高和互联网连接已是一种明显的走向。 2)所集成的部件越来越多;ns(美国国家半导体)公司的单片机已把语音、图象部 件也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功 能了;如果从功能上讲它可以讲是万用机。原因是其内部已集成上各种应用电路。 3)功耗越来越低和模拟电路结合越来越多。随着半导体工艺技术的发展及系统设计 水平的提高,单片机还会不断产生新的变化和进步,

14、最终人们可能发现:单片机与微机 系统之间的距离越来越小,甚至难以辨认。 黑龙江八一农垦大学毕业设计(论文) 2 2 音乐盒总体设计 2.1 设计功能要求 主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显 示当前播放歌曲的序号,蜂鸣器播放出音乐,当播放最后一首夜曲时还伴有彩灯闪烁。 数码管采用共阳极数码管,通过单片机 p2 口控制,实现歌曲序号的显示;功能键盘采用 按键开关,通过单片机 p3.0p3.3 口控制,实现歌曲播放顺序的调换和暂停播放功能; 蜂鸣器由单片机的 p3.6 口控制,实现歌曲播放。利用 i/o 口产生一定频率的方波,驱动 蜂鸣器,发出不同的音调,从而演

15、乐曲(内存四首乐曲)。 2.2 工作原理 通过单片机的定时器产生一定长度的方波,方波脉冲驱动蜂鸣器发声。要产生音 频脉冲,只需算出某一音频的周期(1/音频) ,然后取半周期的时间定时。利用定时 器计时这个半周期时间,每当计时到后就将输出脉冲的 i/o 反相,然后重复计时此半周 期时间再对 i/o 口反相,就可在 i/o 脚上得到此频率的脉冲。如中音 d0,频率为 523hz,其周期 t=1/523=1912 微秒,因此只要令计数器定时 1912/2=956,在每计数 956 次时将 i/o 口反相,就可得到中音 d0(523hz)。 当键盘有键按下时,判断键值,启动计数器 t0,产生一定频率的

16、脉冲,驱动蜂 鸣器,放出乐曲。同时启动数码显示部分,在 led 显示歌曲号,也可使彩灯长亮和闪 烁。数码管采用共阳极数码管,通过单片机 p2 口控制,实现歌曲序号的显示;功能 键盘采用按键开关,通过单片机 p3 口控制,实现歌曲播放顺序的调换和暂停播放功 能;蜂鸣器由单片机的 p3.6 口控制,实现歌曲播放;彩灯是由普通发光二极管代替, 能实现单色长亮和闪烁效果,通过单片机的 p0 口控制。 通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前播放 歌曲的序号,蜂鸣器播放出音乐,当播放最后一首夜曲时还伴有彩灯闪烁。 2.3 总体设计框图 单片机接+5v 电源供电,晶振电路产生单片机

17、所需时钟信号,通过功能键产生外 部中断,控制音乐盒的上一首和下一首曲目,再由 i/o 接口输出控制蜂鸣器发声, led 显示,彩灯亮或闪烁。另外,复位电路在于营造一个程序运行的初始状态,在程 序出错时,重新启动单片机工作。总体设计框图如图 1 所示: 黑龙江八一农垦大学毕业设计(论文) 3 图 1 总体设计框图 编程设置好定时时间,通过编程器写入 at89s51 单片机系统。由 at89s51 单片机的 定时器每秒钟通过 p2.0-p2.7 口控制 led 数码显示,复位信号由按钮输入,每按下一次, 系统恢复原设定状态。电源,晶振部分,复位电路,单片机,led,功能键,蜂鸣器部分 后面均有详细

18、介绍。 电源 晶振部分 复位电路 at89s51 蜂鸣器 led 显示 功能键 黑龙江八一农垦大学毕业设计(论文) 4 3 芯片的选择和介绍 3.1mcs-51 系列单片机简介 单片机系统是本监控系统的核心部分,数据的处理以及对试验设备的控制都由其来 完成。单片微型计算机(single-chip microcomputer)简称单片机。它是在一块芯片内 集成了计算机的组成单元,包括中央处理 cpu(central processing unit) 、随机存储器 ram(random access memory) 、只读存储器 rom(read only memory) 、定时器/计数器以 及

19、i/o(input/output)等主要的计算机部件。虽然单片机只是一个芯片,但它具有微机 系统的组成和功能特征,可谓麻雀虽小五脏俱全。单片机经历了 4 位单片机、8 位低档单 片机、8 位高档单片机、16 位单片机等各个阶段,现在正向高性能、高速度、高集成度、 大容量多功能、低功耗、加强 i/0 能力及结构兼容的 32 位和双 cpu 方向发展。 从 mcs-48 单片机发展到如今的新一代单片机,大致经历了三代。如以 intel 位单片 机为例,这三代的划分大致如下:一代以 mcs-48 系列单片机为代表。其主要的技术特征 是将 cpu 和计算机外围电路集成到了一个芯片上,在与通用 cpu

20、分道扬镳、构成新型工 业微控制器方面取得了成功,为单片机的进一步发展开辟了成功之路。第二代以 mcs-51 系列的 8051、8052 单片机为代表。mcs-51 系列 8 位高档单片机是在总结 mcs-48 系列单 片机的基础上,于 80 年代初推出的新产品。第三代是 intel 随后推出的 mcs-96 系列单 片机。与 mcs-51 相比,mcs-96 不但字长增加一倍,而且在其他性能方面也有很大的提高, 特别是芯片内还增加了一个 4 路或 8 路的 a/d 转换器,使其具有 a/d 转换功能。在这所 有的系列中 mcs-51 系列以它较高的性能和较合理的价格仍占据着很大的市场地位。 3

21、.2 单片机的选择 单片机型号的选择是根据控制系统的目标、功能、可靠性、性价比、精度和速度等 来决定的。根据本课题的实际情况,单片机型号的选择主要从以下两点考虑;一是要有 较强的抗干扰能力。二是要有较高的性价比。由于 51 系列在我国使用最广,且该系列的 资料和能够兼容的外围芯片也比较多,特别是 atmel 公司 2003 年推出新一代 89s 系列单 片机,其典型产品 at89s51 单片机,与 89c 系列单片机相比具有较高的性能价格比。故 本系统采用 atmel 公司生产的 at89s51 单片机作为交通灯的核心部件,该单片机是美国 atmel 公司生产的低电压、高性能 coms8 位单

22、片机,片内含 4kb 的可反复擦写的只读程序 存储器(eprom)和 128 字节的随机存取数据存储器(ram) ,片内置通用 8 位中央处理器 (cpu)和 flash 存储单元,是 80c51 的增强型并且指令完全兼容,at89s51 新增加的功 能由特殊功能寄存器完成,相信日后它将更广泛地应用于工业控制、汽车控制、智能仪 器仪表及电机控制等应用领域。 3.2.1at89s51 芯片介绍 黑龙江八一农垦大学毕业设计(论文) 5 它有 40 个管脚,分成两排,每一排各有 20 个脚,其中左下角标有箭头的为第 1 脚, 然后按逆时针方向依次为第 2 脚、第 3 脚第 40 脚,如图 2 所示:

23、 ea/vpp 31 xtal1 19 xtal2 18 rst/vpd 9 p3.7/rd 17 p3.6/wr 16 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p1.0/t 1 p1.1/t 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p0.0 39 p0.1 38 p0.2 37 p0.3 36 p0.4 35 p0.5 34 p0.6 33 p0.7 32 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 pse

24、n 29 ale/prog 30 p3.1/txd 11 p3.0/rxd 10 vcc 40 gnd 20 at89s5x 1 at89s51 图 2at89s51 引脚图 at89s51 是一个低功耗,高性能 cmos 8 位单片机,片内含 4k bytes isp(in-system programmable)的可反复擦写 1000 次的 flash 只读程序存储器,器件采用 atmel 公司的 高密度、非易失性存储技术制造,兼容标准 mcs-51 指令系统及 80c51 引脚结构,芯片内 集成了通用 8 位中央处理器和 isp flash 存储单元,功能强大的微型计算机的 at89s5

25、1 可为许多嵌入式控制应用系统提供高性价比的解决方案。 at89s51 具有如下特点:40 个引脚,4k bytes flash 片内程序存储器,128 bytes 的随机存取数据存储器(ram) ,32 个外部双向输入/输出(i/o)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(wdt) 电路,片内时钟振荡器。 管脚说明: vcc:供电电压 gnd:接地 p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口的 管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据存储器,

26、它可以被定 义为数据/地址的第八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash 进行校验 时,p0 输出原码,此时 p0 外部必须被拉高。 p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为低 电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时,p1 口作为第 黑龙江八一农垦大学毕业设计(论文) 6 八位地址接收。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4 个 tt

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

28、用作输入。作为输入,由于外部下 拉为低电平,p3 口将输出电流(ill)这是由于上拉的缘故。 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 口同时为闪烁编程和编程校验接收一些控制信号。 i/o 口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从 外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再

29、写回到 端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形 表示的就是输入缓冲器 cpu 将根据不同的指令分别发出读端口或读引脚信号以完成不同 的操作这是由硬件自动完成的不需要我们操心 1 然后再实行读引脚操作否则就可能读入 出错为什么看上面的图如果不对端口置 1 端口锁存器原来的状态有可能为 0q 端为 0q为 1 加到场效应管栅极的信号为 1 该场效应管就导通对地呈现低阻抗,此时即使引脚上输入 的信号为 1 也会因端口的低阻抗而使信号变低使得外加的 1 信号读入后不一定是 1 若先 执行置 1 操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由

30、于在输入操作时还必须附加一个准备动作所以这类 i/o 口被称为准双向口 89c51 的 p0/p1/p2/p3 口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这 四个端口还有一个差别除了 p1 口外 p0、p2、p3 口都还有其他的功能 rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字 节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输 黑龙江八一农垦大学毕业设计(论文) 7 出正脉冲信号,此频率为振荡器频率的 1/6。因

31、此它可用作对外部输出的脉冲或用于定时 目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起 作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ale 禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期 两次/psen 有效。但在访问外部数据存储器时,这两次有效的/psen 信号将不出现。 ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh) ,不管是 否有内部程

32、序存储器。注意加密方式 1 时,/ea 将内部锁定为 reset;当/ea 端保持高电 平时,此间内部程序存储器。在 flash 编程期间,此引脚也用于施加 12v 编程电源 (vpp) 。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 基于 at89s51 的各种特性,选用此型号比较合适。 黑龙江八一农垦大学毕业设计(论文) 8 4 系统硬件设计 4.1 电源电路的设计 电源电路设计图如图 3 所示: 1 2 3 j1 pwr2.54.7uf c3 cap pol1 4.7uf c2cap pol1 vcc s1 switch 图 3 电源电

33、路 单片机使用的是 5(0.2)v 的电源,对电压的稳定要求较高,我们可以用 lm7805 来实现此功能。首先,用交流变压器将 220v 电压变为大于 5v 的交流电,比如 7.5v 或 10.5v,然后用桥式整流器,和电容进行整流滤波,将交流电处理为直流。然后用 7805 进行 5v 恒压输出,共给单片机电路使用。 4.2 单片机最小系统 单片机最小系统如图 4: p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/a

34、d2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2

35、.6/a14 27 u1 at89c51 x1 crystal c1 22pf c2 22pf c3 22uf c4 22uf r1 1k r2 1k +5v 2 1 图4 单片机最小系统 单片机最小系统以89s51为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强, 成本相对较低,非常符合本设计的所有要求.89s51单片机系列是在mcs-51系列的基础上发 展起来的,是当前8位单片机的典型代表,采用chmos工艺,即互补金属氧化物的hmos工艺, 黑龙江八一农垦大学毕业设计(论文) 9 chmos是cmos和hmos的结合,具有hmos高速度和高密度的特点,还具有cmos低功耗的特点.

36、单片机需要一个时间基准来为各种操作提供秩序,此电路叫时钟电路,采用不同的 接线方式可以获得不同时钟电路,有内部时钟电路和外部时钟电路,如图5所示,外部时 钟电路会使电路复杂,故采用的是内部时钟电路。时钟电路在单片机的外部通过 xtal1,xtal2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用 的为12mhz的晶振,一个机器周期为1us,c1,c2为30pf。 图5 时钟电路图 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复 位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或 电源插头分-合过程中引起的抖动而影响复位。

37、复位电路分为上电自动复位和按键手动复位,如图6所示。rst引脚是复位信号的输入 端,复位信号是高电平有效.这次采用的是手动复位,复位通过电容c3,c4和电阻r1,r2来 实现,按键手动复位是图中复位键来实现的。 4k7 r2 res2 10uf c1 cap pol1 vcc s2 sw-pb res 图6 复位电路 4.3 数码管显示部分 歌曲序号显示部分用数码管来显示,led 显示器件是通过发光二极管显示字段的器件。 在单片机控制系统中常用的是由 7 段 led 数码管,它的显示块中有 8 个发光二极管,7 个 发光二极管组成字符“8” ,1 个发光二极管构成小数点,因此有人称 7 段 l

38、ed 数码管为 8 段显示器。led 数码管的管脚配置如图 7 所示: 黑龙江八一农垦大学毕业设计(论文) 10 k 1 f 2 g 3 e 4 d 5 k 6 c 8 dp 7 b 9 a 10 ds1 dpy red-cc 图 7 led 数码管管脚配置图 led 数码管有共阴极和共阳极两类,如图 8 所示。共阴极 led 数码管的发光二极管的 阴极共地,如图 8(a) ,当某个发光二极管的阳极电压为高电平时,二极管发光;而共阳 极 led 数码管是发光二极管的阳极共接,如图 8(b) ,当某个二极管的阴极电压为低电平 时,二极管发光。 (a)共阴极 (b)共阳极 图 8 两类 led 数

39、码管 led显示块,如图9所示。它们经过电阻和单片机的控制端口线一一相连,只要改变 控制端口的电平就能使其发光或熄灭。本设计所用的数码管为共阳极数码管,数码管的 每段的电流是10毫安。所以公共端接高电平,但在软件编码时需要和硬件相对应。 a b c d e f g dp r (a) 共 阴 极 a b c d e f g dp r (b) 共 阳 极 +5v a a b b cd c e d f e g f g 1 76 4325 10 98 gnd gnddp 黑龙江八一农垦大学毕业设计(论文) 11 图 9 数码管引脚图 4.4 键盘部分 键盘是由一组按压式或触摸式开关构成的阵列,是一种常

40、用的输入设备。键盘可分 为编码式键盘和非编码式键盘两种。 1.编码键盘通过硬件电路产生被按按键的键码,这种键盘所需程序简单,但硬件电路 复杂、价格昂贵通常不被单片机系统采用。 2.非编码键盘常用一些按键排列成行列矩阵,其硬件逻辑与按键编码不存在严格的对 应关系,而要由所用的程序来决定。非编码键盘的硬件接口简单,但是要占用较多的 cpu 时间,通常采用可编程键盘管理芯片来克服这个缺点。本设计使用按键式非编码键盘。 4.4.1 按键开关 在接线时由于有六个引脚,连接时需要用万用表进行测量,然后接通两个引脚。 4.4.2 轻触开关 一种电子开关,使用时轻轻点按开关按钮就可使开关接通,当松开手时开关既

41、断 开,其内部结构是靠金属弹片受力弹动来实现通断的。但微动开关也有它不足的地方, 频繁的按动会使金属弹片疲劳失去弹性而失效 ,连接时接通对角线即可。 4.5 蜂鸣器部分 一般所指的蜂鸣器是以压电陶瓷为主要元件的。压电陶瓷是一类有将压力与电流相 互转换能力的特殊陶瓷。这种能力缘于其特殊的晶体结构。当压电陶瓷在一定方向上受 到一个压力使其晶体结构发生形变时,它就会在内部产生一个电流,并且电流的变化与 压力的变化密切相关。反之亦然。所以利用这一特性,在压电陶瓷上通过一定频率的电 流,就会引起压电陶瓷微小形变,这一形变带动空气发生振动,如果频率适当,就可以 被人耳所听见,也就是产生了蜂鸣声。 1蜂鸣器

42、的作用 :蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电, 广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、 定时器等电子产品中作发声器件。 2蜂鸣器的分类 :蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 3蜂鸣器的电路图形符号 :蜂鸣器在电路中用字母 “h”或“ha”(旧标准用 “fm”、“lb”、“jd”等)表示。 黑龙江八一农垦大学毕业设计(论文) 12 蜂鸣器的结构原理 : 1压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及 共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电

43、源后(1.515v 直流工作电压) ,多 谐振荡器起振 ,输出 1.52.5khz 的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电 极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 2电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等 组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。 振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 黑龙江八一农垦大学毕业设计(论文) 13 5 系统软件设计 5.1 软件系统介绍 一个系统的正常运行不仅需要硬件系统的支持,而且需要软件

44、系统的支持。如果把 硬件比作躯体,那软件就是灵魂,硬件系统和软件系统相互间密切的配合才构建了能够 “思考”和“判断”的整体系统。借助软件的可编程性,可以精简硬件系统的组成;凭 借软件的灵活性,可以不用对硬件系统进行修改而实现系统功能的修改。软件系统与硬 件系统是密切相联的,软件系统建立在硬件系统之上,离开了硬件系统,软件将无法实 现任何功能。软件的设计有一定的针对性,对于不同的硬件系统,需要编写不同的软件。 与硬件系统一样,软件系统的好坏,直接影响到系统的工作效率和可靠性。 5.2 编程语言的选择 软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单 片机编程常用的语言是

45、c 语言和汇编语言,最终都要转为 intel hex 格式或二进制格式 (binary)文件拷入单片机芯片内。这里我们使用的是 c 语言进行编程设计。 c 语言是一种面向过程的计算机程序设计语言 ,它是目前众多计算机语言 中举世公 认的优秀的结构程序设计语言之一。它由美国贝尔研究所的 d.m.ritchie 于 1972 年推出。 1978 后,c 语言已先后被移植到大、中、小及微型机上。c 语言发展如此迅速,而且成为 最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如 dbase 都是由 c 语言编写的。用 c 语言加上一些汇编语言子程序,就更能显示 c 语言的优势了, 像

46、 pc- dos 、wordstar 等就是用这种方法编写的。 5.3 应用软件的选择keilc51 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 cpu 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使 用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 mcs-51 单片 机的汇编软件有早期的 a51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐 渐使用高级语言开发,单片机的开发软件也在不断发展,keil 软件是目前最流行开发 mcs-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 keil 即可

47、看出。 keil 提供了包括 c 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在 内的完整开发方案,通过一个集成开发环境(uvision)将这些部份组合在一起。运行 keil 软件需要 pentium 或以上的 cpu,16mb 或更多 ram、20m 以上空闲的硬盘空间、 win98、nt、win2000、winxp 等操作系统。掌握这一软件的使用对于使用 51 系列单片机 的爱好者来说是十分必要的,如果你使用 c 语言编程,那么 keil 几乎就是你的不二之选 (目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件) ,即使不使用 c 语言而仅用汇编语言编程,其方便

48、易用的集成环境、强大的软件仿真调试工具也会令你 黑龙江八一农垦大学毕业设计(论文) 14 事半功倍。 keil c51 是美国 keil software 公司出品的 51 系列兼容单片机 c 语言软件开发系统, 与汇编相比,c 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易 用。用过汇编语言后再使用 c 来开发,体会更加深刻。 keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 windows 界面。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 keil c51 生成的目标 代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发

49、大型软件时更 能体现高级语言的优势。 c51 工具包的整体结构,其中 uvision 与 ishell 分别是 c51 for windows 和 for dos 的集成开发环境(ide),可以完成编辑、编译、连接、调试、仿真等整个开发流程。 开发人员可用 ide 本身或其它编辑器编辑 c 或汇编源文件。然后分别由 c51 及 a51 编译 器编译生成目标文件(.obj)。目标文件可由 lib51 创建生成库文件,也可以与库文件一 起经 l51 连接定位生成绝对目标文件(.abs)。abs 文件由 oh51 转换成标准的 hex 文件, 以供调试器 dscope51 或 tscope51 使用

50、进行源代码级调试,也可由仿真器使用直接对目 标板进行调试,也可以直接写入程序存贮器如 eprom 中。 5.4 系统程序设计 5.4.1 主程序流程图 开始要定义音频输出端口,歌曲总数以及每首歌曲的入口地址;然后对定时器初始化, 确定工作方式,赋初值,开放中断,启动定时器工作;对音频输出端口初始化;设置音 节起始位置和节拍间距,把音节和节拍的入口地址信息存放在固定存储单元中;将取出 的音符数+节拍数保存在存储单元中,查询音乐的节拍表;当六首歌曲的节拍表查询完, 音乐播放完毕,程序结束。主程序流程图如图 10: 黑龙江八一农垦大学毕业设计(论文) 15 图 10 系统流程图 5.4.2定时器定时

51、 51 单片机内部有两个 16 位的可编程的定时/计数器,称为定时器 0(t0)和定时器 1(t1) ,它们都具有定时功能和事件计数功能,可用于定时控制、延时、对外部事件检 测和计数等场合。 定时器的核心部件是加 1 计数器,通过设置 tmod 可使定时器工作在定时或计数方式, 即将定时器用于定时或计数。实际上这两种工作方式没有本质的区别,都是对脉冲信号 计数,只是计数的脉冲来源不同而已。如果计数脉冲是频率稳定的系统时钟的分频信号, 则称为定时方式,如果计数脉冲是外部脉冲信号,称为计数方式。 无论工作在定时方式还是计数方式,定时器在对内部时钟或外部脉冲计数时,都不 占用 cpu 的时间,而按设

52、定的方式自主工作,与 cpu 并行运行。只有在定时器定时时间 或计数值到,定时器溢出时才可能中断 cpu 当前工作,请求 cpu 处理。如晶振 12mhz,用 定时器 t0 定时 50ms,从 p3.6 引脚输出周期 100ms 的方波;定时流程图如图 11 所示: 黑龙江八一农垦大学毕业设计(论文) 16 开始 初始化 p3.6 输出 调延时 50ms 程 序 图 11 定时 50ms 流程图 5.5 系统的程序设计 #include #define uchar unsigned char #define uint unsigned int sbit speak=p36; sbit dou=

53、p07; sbit ri=p06; sbit mi=p05; sbit fa=p04; sbit so=p03; sbit la=p02; sbit xi=p01; sbit gao=p00; sbit a_dou=p10; sbit a_ri=p11; sbit a_mi=p12; sbit a_fa=p13; sbit a_so=p14; sbit a_la=p15; 黑龙江八一农垦大学毕业设计(论文) 17 sbit a_xi=p16; sbit a_gao=p17; sbit xs=p30; sbit stop=p31; sbit ss=p32; sbit ms=p33; uchar

54、a,mm; uchar code num62=1,1,1,3,5,5,5,5,6,6,6,8,5,5,5,4,4,6,6,3,3,3,3,2,2,2,2,1,2,5,1,1,1,3,5,5,5,5,5,5,6,8,5,5,5,4,4 ,4,6,3,3,3,3,3,2,2,2,3,1,0; uchar code num175=5,12,11,10,9,8,7,6,5,5,6,6,5,5,3,2,1,2,1,6,3,3,6,6,5,6,6,5,5,3,2,2,5,6,5,3,2,2,1,2,6,1,2, 2,2,2,2,3,5,5,6,1,6,1,1,2,2,3,5,6,5,6,6,5,3,6,5

55、,15,15,1,2,1,6,1,0; uchar code dis_seg710=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; void delay(uint b) /0.05s uint b0,b1; for(b0=0;b0b;b0+) for(b1=0;b19900;b1+); void led() switch(a) case 1: p0=0 xff;dou=0;break; case 2: p0=0 xff;ri=0;break; case 3: p0=0 xff;mi=0;break; case 4: p0

56、=0 xff;fa=0;break; case 5: p0=0 xff;so=0;break; case 6: p0=0 xff;la=0;break; case 7: p0=0 xff;xi=0;break; case 8: p0=0 xff;dou=0;gao=0;break; case 9: p0=0 xff;ri=0;gao=0;break; 黑龙江八一农垦大学毕业设计(论文) 18 case 10: p0=0 xff;mi=0;gao=0;break; case 11: p0=0 xff;fa=0;gao=0;break; case 12: p0=0 xff;so=0;gao=0;b

57、reak; case 13: p0=0 xff;la=0;gao=0;break; case 14: p0=0 xff;xi=0;gao=0;break; if(a8) p2=dis_seg7a; else p2=dis_seg7a-7 ; void main() uchar *p=num; tmod=0x01; tl0=(65536-1980)%256; th0=(65536-1980)/256; et0=1; tr0=1; ex1=1; it1=0; ea=1; while(1) if(mm=0) p2=0 x8c; a=0; if(mm=1) p=num; while(*p) led()

58、; p+; delay(4); speak=0; p=num1; while(*p) led(); p+; delay(8); a=0; if(mm=2) / a=0; if(a_dou=0)a=1; if(a_ri=0)a=2; if(a_mi=0)a=3; if(a_fa=0)a=4; if(a_so=0)a=5; if(a_la=0) a=6; if(a_xi=0) a=7; if(a_gao=0) if(a_gao=0) if(a_gao=0) if(a_gao=0) if(a_gao=0) 黑龙江八一农垦大学毕业设计(论文) 20 if(a_gao=0) if(a_gao=0) le

59、d(); void speal() interrupt 1 switch(a) case 1: tl0=(65536-1980)%256; th0=(65536- 1980)/256;break; case 2: tl0=(65536-1700)%256; th0=(65536- 1700)/256;break; case 3: tl0=(65536-1515)%256; th0=(65536- 1515)/256;break; case 4: tl0=(65536-1432)%256; th0=(65536- 1432)/256;break; case 5: tl0=(65536-1275)

60、%256; th0=(65536- 1275)/256;break; case 6: tl0=(65536-1136)%256; th0=(65536- 1136)/256;break; case 7: tl0=(65536-1016)%256; th0=(65536- 1016)/256;break; case 8: tl0=(65536-478)%256; th0=(65536- 478)/256;break; case 9: tl0=(65536-425)%256; th0=(65536- 425)/256;break; case 10: tl0=(65536-379)%256; th0

温馨提示

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

评论

0/150

提交评论