网站大量收购独家精品文档,联系QQ:2885784924

单片机实验单片机综合实验报告.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实验单片机综合实验报告

单片机综合实验报告 题 目: 数字音乐盒的设计 一、实验内容: 以单片机为核心,利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少3首乐曲,每首不少于30s)。采用LCD显示信息。开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。可通过功能键选择乐曲、暂停、播放。 二、实验电路及功能说明 1.按键输入电路: 对于数字音乐盒的操作主要就是靠按键进行,如图2.1所示,分别有播放/停止按键——开始播放音乐或者是停止播放;音乐选择按键——可以选择音乐库中的音乐进行播放。 图2.1 按键控制模块 2. 蜂鸣器电路 如图2.2所示的连接电路,利用P3.5口产生一定频率的方波,驱动蜂鸣器发生音乐。 图2.2 3.LCD显示电路 LCD显示采用LM016L,用来显示开机时的英文欢迎提示字符,并显示所播放的歌曲序号,P0口给LCD显示器送入数据,P2.0口接寄存器选择端口RS,P2.1接读写选通端口RW,P2.2接使能端 E。 图2.3 LCD显示电路 4.主控制电路 如图2.4所示,主控制电路是由单片机89C51主要组成,另外还有时钟电路,上面所述的功能模块电路都是连接在单片机上实现功能的,所以说由单片机构成的是一个主控制电路。 , 图2.4 主控制电路 三、实验程序流程图: 主程序: 子程序: LCD显示子程序: 播放音乐子程序流程图: 实验结果分析 运行仿真电路后LCD显示器能够显示出Welcome字符,也能够显示出当前播放的音乐序号。蜂鸣器能够播放出三段音乐,但是音乐有些不够完美,可能是由于编写的音乐代码有错误导致的。 五、心得体会 这个学期我们它是一门综合应用相关课程的知识和内容来解决科研、生产、国防建设乃至人类生活所面临的测试问题的课程。刚开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。但是我并没有气垒,在实验中发现问题,自己看书,独立思考,最终解决问题,从而也就加深我对课本理论知识的理解,达到了“双赢”的效果。 #include reg51.h #include 1602.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar Song_Index = 0,Tone_Index = 0; sbit SPK = P3^5; sbit K1 = P1^0; uchar code HI_LIST[]= { 0,266,229,232,233,236,238,240,241,242,244,245,246,247,248 }; uchar code LO_LIST[]= { 0,4,13,10,20,3,8,6,2,23,5,26,1,4,3 }; uchar code Song[][50]= { {1,2,3,1,1,2,3,1,3,4,5,3,4,5,3,4,5,5,6,1,2,3,6,2,6,6,2,3,4,5,2,5,2,3,-1}, {3,3,3,5,6,2,3,4,6,2,6,4,2,1,2,3,6,2,5,6,3,4,5,6,2,3,1,2,3,5,1,2,3,-1}, {3,2,1,3,2,1,1,2,3,1,3,5,1,5,4,6,2,6,3,4,2,3,6,2,3,4,2,1,1,1,2,2,2,3,3,2,6,3,5,3,5,1,2,6,4,5,-1} }; uchar code Len[][50]= { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,-1}, {1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,-1}, {1,1,2,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,1,1,1,1,2,2,-1} }; uchar code num1[]= Welcome ; uchar num2[]=Song ; void EX0_INT() interrupt 0 { TR0 = 0; Song_Index = (Song_Index+1)%3; Tone_Index = 0; } void T0_INT() interrupt 1 { SPK = !SPK; TH0 = HI_LIST[Song[Song_Index][Tone_I

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档