




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第1章概述1.1单片机简介1.2任务简介第2章系统总体方案设计2.1音乐的产生2.2系统方案第3章硬件设计3.1 89C51单片机 .1 12 335 6 63.2蜂鸣电路83.3流水灯电路93.4时钟电路9第4章软件设计 104.1.软件设计 104.2设计方案11第5章系统调试与仿真 145.2系统的仿真调试阶段155.3调试问题处理16第6章心得体会17参考文献18附录A:音乐播放器电路设计图 19附录B:程序清单200附录C:程序清单202附录D:程序清单203第1章概述1.1单片机简介单片机又称单片微控制器,它不是完成某一逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括
2、的讲,一个芯片就成了一台计算机。MCS-51单片机是美国INTEL公司于1980年推出的产品,于MCS-48单片机相比, 它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令 数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:一、在智能仪器仪表的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优
3、点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频 率、温度、流量、速度、厚度、角度、长度、硬度、元素、湿度、压力等物理量的 测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电 子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各中分析仪)。二、在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子称量设备,五花八门,无所 不在。三、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,点滴智能化控制、各种报警系统,与计算
4、机联网构成二级控制系统等。单片机现在可以说是百花齐放,百家争鸣的时期,世界各大芯片制造公司都推出自己的单片机,从 8位、16位到32位、数不胜数,应有尽有,有与主流MCS-51系列兼容的,也有你兼容的,但他们各具特色,互成互补,为单片机的应用提供了 广阔的天地。1.2任务简介以51系列单片机为核心,以开发板为平台;设计一个音乐播放器,完成播放生 日快乐歌曲的功能,流水灯控制电路,使连接在该电路上的8个发光二极管按顺序以次闪烁。设计任务包括控制系统硬件设计和应用程序设计。21第2章系统总体方案设计2.1音乐产生原理2.1.1演奏音乐原理通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经放大
5、后驱动蜂 鸣器发出不同音节的声音,即声调。用软件延时来控制发音时间的长短,控制节拍。 把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存 储器中,由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频 率和发出该音频脉冲的持续时间。2.1.2定时常数(计数值)与延时常数的确定产生音乐通过单片机的I/O 口输出高低不同的脉冲信号来控制蜂鸣器发音。要想产生音频脉冲信号,需要算出某一音频周期(1/频率),然后将此周期除以 2,即为半周期的时间。利用单片机定时器计时这个半周期时间,每当计时到后就将输出 脉冲的I/O 口反相,然后重复计时此半周期时间再对I/O 口反相,这
6、样就能在此I/O口上得到此频率的脉冲。用软件延时来控制发音时间的长短,控制节拍,各调1/4节拍时间如下:曲调值延时时间调4/4125ms调3/4187ms调2/4250ms本课题要求以单片机为核心设计一个简易音乐播放器,具有自动播放乐曲的功 能。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们 就可以利用不同的频率的组合,即可构成我们所想要的音乐了,音阶对应频率关系 图:C调各音符频率与计数值T的关系音符频率(Hz)半周期(mS简谱码T 值定时值(H)简谱码T值定时值(D)低1 Do2621.90F894H62628低2 Re2941.70F95CH63835低3 Mi33
7、01.51FA1AH64021低4 Fa3491.43FA6AH64103低5 So3921.28FB00H64260低6 La4401.14FB8CH64400低7 Si4941.01FC0EH64524中1 Do5230.95FC4AH64580中2 Re5870.85FCAEH64684中3 Mi6590.76FD08H64777中4 Fa6980.72FD30H64820中5 So7840.64FD80H64896中6 La8800.57FDC6H64966中7 Si9880.51FE02H65030咼1 Do10460.47FE2AH65058咼2 Re11750.42FE5CH65
8、110高3 Mi13180.38FE84H65157高4 Fa13970.36FE98H65178高5 So15680.32FEC0H65217咼6 La17600.28FEE8H65252高7 Si19670.25FF06H652832.2系统方案本设计用89C51单片机为核心,在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序 结构进行编程。我们在程序一开始就给 P1 口送一个数,这个数本身就让 P1.0先低, 其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1 口,这样就实现“流水”效果啦。由于8051系列
9、单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACCS动后的数据再转送到 P1 口,这样就可以实现“流水”效果。同 时扬声器播放生日快乐歌曲!按复位键,单片机重新工作!第3章硬件设计3.1 89C51单片机AT89C51 简介AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROM Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8 位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机编辑本
10、段管脚说明:VCC :供电电压。GND :接地。P0 口: P0 口为一个 8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P0 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。 在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O 口,P1 口缓冲器能接收输出 4TTL门电流。P1 口管脚写入 1后,被内部上拉为高,可用作输 入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验
11、时,P1 口作为第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输出 4个TTL门电流,当 P2 口被写“ 1 ”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1 ”时,它利P2 口输出其特用内部上拉优势,当对外部八位地址数据存储器进行读写时,殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是 8个带内部上拉
12、电阻的双向I/O 口,可接收输出4个TTL门电流。当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输 入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为 AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INTO (外部中断 0)P3.3 /INT1 (外部中断 1)P3.4 T0 (记时器0外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校
13、验接收一些控制信号。RST :复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时, ALE只有在执行 MOVX,MOVC 指令是 ALE才起作用。 另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁
14、止,置位无 效。/PSEN :外部程序存储器的选通信号在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为 RESET ;当/EA端保持高电平时, 此间内部程序存储器。 在FLASH 编程期间,此引脚也用于施加12V编程电源(VPP )。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。3.2蜂鸣电路发音由单片机程序控制,P3
15、.7端口输出不同频率的高低电平, P3.7输出的脉冲频率不同,从而扬声器根据不同频率的脉冲发出的声音也不相同,发音电路如下图XL丄 2豈711 1-1111 I所示:P3.0/RXD P31ffXD P3.2JNTTP3.3/INT1F3ATTOP3.5riP3.6AM?P3.7/RDSOUNDER=TEX3.3流水灯电路单片机给pi 口送一个数,这个数本身就让 P1.0先低,其他位为高,然后延时一段 时间,再让这个数据向高位移动,然后再输出至pi 口,这样就实现“流水”效果。如下图P3F1HF3JF1.1F3.P121F3P3:科*P 1_5FIF1J5P3F17F;Z73.4最小系统电路如
16、图C122uFC2二 X112M10uF第4章软件设计4.1.软件设计主程序设计的第一步为初始化,初始化I/O 口,设置定时器定时时间,写定时器工作方式寄存器,设置允许 TO中断。刚开始需要将存储单元置1,全部置1之后更新显示缓冲区。接着进行显示初始化,开定时器TO,这样就可以开始显示了。设置完以后程序就不断检测按键情况。检测使用软件去抖,也就是第一次检测到有键按 下后,如果有键按下则执行相应指令。本设计还设计了防误操作程序,也就是对于 一个键,按一下和一直按着的效果是一样的,这样可以防止用户还没放开此键时, 程序已进行第二次或多次同样的操作。程序中根音选取的是 C调三个8度内的音符,共21个
17、音。每个音符对应频率由 定时器TO产生(音符频率及对应计数初值见附表 )。为了程序调用方便,每个音符都 对应一个编码,占用一个字节。在程序中以查表的方式加载计数初值。当值为00H时表示空拍,与节拍码配合完成节拍发音。节拍码也占一个字节,其总时间长度等 于基本时间乘以节拍码的值。节拍码值为01H时,表示当前乐曲结束,为00H时,表示全部乐曲结束。为了编码简单,一般节拍码高半字节表示整拍,低半字节表示 分数,只要基本延时设定恰当即可,为了及时响应键盘操作,键扫描指令安排在基 本延时时间子程序中。按键每按下一次,乐曲数目计数器R5加1或减1,然后根据R5的内容转向不同的乐曲。4.2系统方案系统初始化
18、后,进入播放功能。开始从第一首曲目开始循环播放。播放过程中 如果出现跳选曲目则进入相应的曲目程序程序设计流程如下所示。根据流程图写程序:#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned intsbit BEEP=P3A7;uchar code SONG_TONE=212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,119,119,126,159,142,159,0;uchar code SONG_LONG=9,3,12
19、,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0;void DelayMS(ui nt x) uchar t;while(x-) for(t=0;t120;t+);void PlayMusic()uint i=O,j,k;P1=0xfe;while(SONG_LONGi!=0|SONG_TONEi!=0)for(j=0;jSONG_LONGi*20;j+)BEEP=BEEP;for(k=0;kSONG_TONEi/3;k+);P1 = 1;P1 |= 0x01;DelayMS(10);i+;if(P1 = 0x7f)D
20、elayMS(30);P仁 Oxfe;void mai n()BEEP=0;while(1)PlayMusic();DelayMS(500);第5章系统调试与仿真5.1软件仿真阶段单片的程序用KEIL编写的。在keil内建立工程后建立汇编文件,编写MCS-51程序。1、编译成功后,分模块调试,分别采用“白盒”和“黑盒”测试法 验证程序的正确性2、将调试成功的各模块,合并到总程序中,进行总体性能测试。3、联调PROTEUS进行硬件仿真,单步,断点调试,观察运行结果,并修改源程序5.2系统的仿真调试阶段基于单片机的音乐播放器的是利用 PROTEUS软件来实现电脑仿真的,仿真步骤如下:4、打开PRO
21、TEUS软件,选择器件,连接电路图;5、添加已经编译的HEX文件到单片机内;6、单步运行,观察结果,比较预定结果,修改源程序;7、总体调试运行;&分组测试,看是否达到任务要求。调试图1!&:JTAL1XTAL2陋P0W1IPC2TAP71OJFR1FCSA&GPCI.7W&7 C3 Qktf31HPEENALE咛那1 口 FZAIIFZ.M12F2JffA1+:r=T| MgTEXT=-姑一3遵一一abzltga注誥一盘“一竺證E5語-秋汎“汀贰户订徉e5.3调试问题处理1、是否短路用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值, 电路正常。2、焊接顺序焊接的顺序很重要,按功能划分
22、的器件进行焊接,顺序是功 能部件的焊接-调试-另一功能部件的焊接,这样容易找到问题的所 在。3、器件功能1 )检查原理图连接是否正确2 )检查原理图与器件的 DATASHEET引脚是否一致3 )用万用表检查是否有虚焊,引脚短路现象4 )查询器件的DATASHEET分析一下时序是否一致,同时分 析一下命令字是否正确4、另外,我们有在同学的帮助下做一硬件开发板,由于开发板上用 12MHZ勺晶振管的晶振管,而老师给的乐谱转换条件为 6MHZ导致在 音谱转换过程中,是按6MHZ进行的,在实际播放时,音乐的播放不 是特别的清楚。第6章心得体会这学期学习单片机的时间只有2周时间,对单片机的硬件设计,软件设
23、计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原 理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计, 程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。2 . 在一个好的氛围里才能踏下心来做东西,在这几天课设的时间里,实验室的氛 围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。另外在编程 中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就 一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。 3这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在周向红老师的辛勤指导下,终于游逆而解。同时,在周老师那里我学得到很多实用的知识, 在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的 感谢!参考文献1、单片机原理与应用 王迎旭等编机械工业出版社2、51系列单片机设计实例 楼然苗等编北京航空航天大学出版社3、计算机硬件技术基础实验教程 黄勤等编 重庆大学出版社4、 微型计算机接口技术及应用刘乐善主编 华中科技大学出版社5、单片微型计算机原理及接口技术陈光东等编 华中科技大学出版社6单片机典型模块设计实例导航求是科技编著人民邮电出版社出版7、单片机程序设计实例 先锋工作室编著清华大学出版社出附录A:音乐播放器电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考专业(学前教育)学前比较教育-学前教育科学研究参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前教育行政与管理-学前教育史参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前教育研究方法-学前儿童游戏指导参考题库含答案解析(5套)
- 结核患者心理护理
- 2025年学历类自考专业(学前教育)学前儿童音乐教育-学前教育学参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童语言教育-学前教育学参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童数学教育-幼儿园教育基础参考题库含答案解析(5套)
- 2025年学历类自考专业(学前教育)学前儿童发展-幼儿园教育活动设计与组织参考题库含答案解析(5套)
- 2025年学历类自考专业(国贸)概率论与数理统计(经管类)-涉外经济法参考题库含答案解析(5套)
- 2025年学历类自考专业(公共关系)企业文化-广告运作策略参考题库含答案解析(5套)
- 学生请假安全协议书
- 隐形眼镜项目风险管理分析
- 过敏性休克应急处置流程
- 2024年陕西省专业技术人员继续教育学习平台党史党纪专题学习考试答案
- 13电磁铁的应用(讲义)
- DBJ41T 256-2021 河南省海绵城市设计标准 河南省工程建设标准(住建厅版)
- 独家授权合同模板
- 南京外国语2024-2025九年级上学期第一次月考物理试卷及答案
- 2024年北京广播电视台招聘140人历年高频500题难、易错点模拟试题附带答案详解
- 《希腊神话》导读课
- 2024年幕墙工程专业分包合同协议书范本
评论
0/150
提交评论