下载

0下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 生日歌 流水灯课程设计

生日歌 流水灯课程设计.doc

生日歌 流水灯课程设计

Baldwin文松
2017-12-30 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《生日歌 流水灯课程设计doc》,可适用于高等教育领域

生日歌流水灯课程设计生日歌流水灯课程设计目录第章概述单片机简介任务简介第章系统总体方案设计音乐的产生系统方案第章硬件设计C单片机蜂鸣电路流水灯电路时钟电路第章软件设计软件设计设计方案第章系统调试与仿真软件仿真阶段系统的仿真调试阶段调试问题处理第章心得体会参考文献附录A:音乐播放器电路设计图附录B:程序清单附录C:程序清单附录D:程序清单第章概述单片机简介单片机又称单片微控制器它不是完成某一逻辑功能的芯片而是把一个计算机系统集成到一个芯片上。概括的讲一个芯片就成了一台计算机。MCS单片机是美国INTEL公司于年推出的产品于MCS单片机相比它的结构更先进功能更强在原来的基础上增加了更多的电路单元和指令指令数达条MCS单片机可以算是相当成功的产品一直到现在MCS系列或其兼容的单片机仍是应用的主流产品各高校及专业学校的培训教材仍与MCS单片机作为代表进行理论基础学习。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域大致可分为如下几个范畴:一、在智能仪器仪表的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点广泛应用于仪器仪表中结合不同类型的传感器可实现诸如电压、功率、频率、温度、流量、速度、厚度、角度、长度、硬度、元素、湿度、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计示波器各中分析仪)。二、在家用电器中的应用可以这样说现在的家用电器基本上都采用了单片控制从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子称量设备五花八门无所不在。三、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理点滴智能化控制、各种报警系统与计算机联网构成二级控制系统等。单片机现在可以说是百花齐放百家争鸣的时期世界各大芯片制造公司都推出自己的单片机从位、位到位、数不胜数应有尽有有与主流MCS系列兼容的也有你兼容的但他们各具特色互成互补为单片机的应用提供了广阔的天地。任务简介以系列单片机为核心以开发板为平台设计一个音乐播放器完成播放生日快乐歌曲的功能流水灯控制电路使连接在该电路上的个发光二极管按顺序以次闪烁。设计任务包括控制系统硬件设计和应用程序设计。第章系统总体方案设计音乐产生原理演奏音乐原理通过控制单片机定时器的定时时间产生不同频率的音频脉冲经放大后驱动蜂鸣器发出不同音节的声音即声调。用软件延时来控制发音时间的长短控制节拍。把乐谱中的音符和相应的节拍变换为定时常数和延时常数作为数据表格存放在存储器中由程序查表得到定时常数和延时常数分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间。定时常数(计数值)与延时常数的确定产生音乐通过单片机的IO口输出高低不同的脉冲信号来控制蜂鸣器发音。要想产生音频脉冲信号需要算出某一音频周期(频率)然后将此周期除以即为半周期的时间。利用单片机定时器计时这个半周期时间每当计时到后就将输出脉冲的IO口反相然后重复计时此半周期时间再对IO口反相这样就能在此IO口上得到此频率的脉冲。用软件延时来控制发音时间的长短控制节拍各调节拍时间如下:曲调值延时时间调ms调ms调ms本课题要求以单片机为核心设计一个简易音乐播放器具有自动播放乐曲的功能。一首音乐是许多不同的音阶组成的而每个音阶对应着不同的频率这样我们就可以利用不同的频率的组合即可构成我们所想要的音乐了音阶对应频率关系图:C调各音符频率与计数值T的关系系统方案本设计用C单片机为核心在上个程序中我们是逐个控制P端口的每个位来实现的因此程序显得有点复杂下面我们利用循环移位指令采用循环程序结构进行编程。我们在程序一开始就给P口送一个数这个数本身就让P先低其他位为高然后延时一段时间再让这个数据向高位移动然后再输出至P口这样就实现“流水”效果啦。由于系列单片机的指令中只有对累加器ACC中数据左移或右移的指令因此实际编程中我们应把需移动的数据先放到ACC中让其移动然后将ACC移动后的数据再转送到P口这样就可以实现“流水”效果。同时扬声器播放生日快乐歌曲!按复位键单片机重新工作~第章硬件设计C单片机ATC简介ATC是一种带K字节FLASH存储器(FPEROMFlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS位微处理器俗称单片机。ATC是一种带K字节闪存可编程可擦除只读存储器的单片机编辑本段管脚说明:VCC:供电电压。GND:接地。P口:P口为一个位漏级开路双向IO口每脚可吸收TTL门电流。当P口的管脚第一次写时被定义为高阻输入。P能够用于外部程序数据存储器它可以被定义为数据地址的第八位。在FIASH编程时P口作为原码输入口当FIASH进行校验时P输出原码此时P外部必须被拉高。P口:P口是一个内部提供上拉电阻的位双向IO口P口缓冲器能接收输出TTL门电流。P口管脚写入后被内部上拉为高可用作输入P口被外部下拉为低电平时将输出电流这是由于内部上拉的缘故。在FLASH编程和校验时P口作为第八位地址接收。P口:P口为一个内部上拉电阻的位双向IO口P口缓冲器可接收输出个TTL门电流当P口被写“”时其管脚被内部上拉电阻拉高且作为输入。并因此作为输入时P口的管脚被外部拉低将输出电流。这是由于内部上拉的缘故。P口当用于外部程序存储器或位地址外部数据存储器进行存取时P口输出地址的高八位。在给出地址“”时它利用内部上拉优势当对外部八位地址数据存储器进行读写时P口输出其特殊功能寄存器的内容。P口在FLASH编程和校验时接收高八位地址信号和控制信号。P口:P口管脚是个带内部上拉电阻的双向IO口可接收输出个TTL门电流。当P口写入“”后它们被内部上拉为高电平并用作输入。作为输入由于外部下拉为低电平P口将输出电流(ILL)这是由于上拉的缘故。P口也可作为ATC的一些特殊功能口如下表所示:口管脚备选功能PRXD(串行输入口)PTXD(串行输出口)PINT(外部中断)PINT(外部中断)PT(记时器外部输入)PT(记时器外部输入)PWR(外部数据存储器写选通)PRD(外部数据存储器读选通)P口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时要保持RST脚两个机器周期的高电平时间。ALEPROG:当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间此引脚用于输入编程脉冲。在平时ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时将跳过一个ALE脉冲。如想禁止ALE的输出可在SFREH地址上置。此时ALE只有在执行MOVXMOVC指令是ALE才起作用。另外该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间每个机器周期两次PSEN有效。但在访问外部数据存储器时这两次有效的PSEN信号将不出现。EAVPP:当EA保持低电平时则在此期间外部程序存储器(HFFFFH)不管是否有内部程序存储器。注意加密方式时EA将内部锁定为RESET当EA端保持高电平时此间内部程序存储器。在FLASH编程期间此引脚也用于施加V编程电源(VPP)。XTAL:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL:来自反向振荡器的输出。蜂鸣电路发音由单片机程序控制P端口输出不同频率的高低电平P输出的脉冲频率不同从而扬声器根据不同频率的脉冲发出的声音也不相同发音电路如下图所示:流水灯电路单片机给P口送一个数这个数本身就让P先低其他位为高然后延时一段时间再让这个数据向高位移动然后再输出至P口这样就实现“流水”效果。如下图最小系统电路如图第章软件设计软件设计主程序设计的第一步为初始化初始化IO口设置定时器定时时间写定时器工作方式寄存器设置允许T中断。刚开始需要将存储单元置全部置之后更新显示缓冲区。接着进行显示初始化开定时器T这样就可以开始显示了。设置完以后程序就不断检测按键情况。检测使用软件去抖也就是第一次检测到有键按下后如果有键按下则执行相应指令。本设计还设计了防误操作程序也就是对于一个键按一下和一直按着的效果是一样的这样可以防止用户还没放开此键时程序已进行第二次或多次同样的操作。程序中根音选取的是C调三个度内的音符共个音。每个音符对应频率由定时器T产生(音符频率及对应计数初值见附表)。为了程序调用方便每个音符都对应一个编码占用一个字节。在程序中以查表的方式加载计数初值。当值为H时表示空拍与节拍码配合完成节拍发音。节拍码也占一个字节其总时间长度等于基本时间乘以节拍码的值。节拍码值为H时表示当前乐曲结束为H时表示全部乐曲结束。为了编码简单一般节拍码高半字节表示整拍低半字节表示分数只要基本延时设定恰当即可为了及时响应键盘操作键扫描指令安排在基本延时时间子程序中。按键每按下一次乐曲数目计数器R加""或减""然后根据R的内容转向不同的乐曲。系统方案系统初始化后进入播放功能。开始从第一首曲目开始循环播放。播放过程中如果出现跳选曲目(则进入相应的曲目程序(程序设计流程如下所示。根据流程图写程序:#includeregh#defineucharunsignedchar#defineuintunsignedintsbitBEEP=P^ucharcodeSONGTONE={,,,,,,,,,,,,,,,,,,,,,,,,,}ucharcodeSONGLONG={,,,,,,,,,,,,,,,,,,,,,,,,,}voidDelayMS(uintx){uchartwhile(x)for(t=tt)}voidPlayMusic(){uinti=,j,kP=xfewhile(SONGLONGi!=||SONGTONEi!=){for(j=jSONGLONGi*j){BEEP=~BEEPfor(k=kSONGTONEik)}P=P|=xDelayMS()iif(P==xf){}}}voidmain(){BEEP=while()DelayMS()P=xfe{PlayMusic()DelayMS()}}第章系统调试与仿真软件仿真阶段单片的程序用KEIL编写的。在keil内建立工程后建立汇编文件编写MCS程序。、编译成功后分模块调试分别采用“白盒”和“黑盒”测试法验证程序的正确性、将调试成功的各模块合并到总程序中进行总体性能测试。、联调PROTEUS进行硬件仿真单步断点调试观察运行结果并修改源程序系统的仿真调试阶段基于单片机的音乐播放器的是利用PROTEUS软件来实现电脑仿真的仿真步骤如下:、打开PROTEUS软件选择器件连接电路图、添加已经编译的HEX文件到单片机内、单步运行观察结果比较预定结果修改源程序、总体调试运行、分组测试看是否达到任务要求。调试图调试问题处理、是否短路用万用表检查P两端是短路。电阻为则短路电阻为一适值电路正常。、焊接顺序焊接的顺序很重要按功能划分的器件进行焊接顺序是功能部件的焊接调试另一功能部件的焊接这样容易找到问题的所在。、器件功能)检查原理图连接是否正确)检查原理图与器件的DATASHEET上引脚是否一致)用万用表检查是否有虚焊引脚短路现象)查询器件的DATASHEET分析一下时序是否一致同时分析一下命令字是否正确、另外我们有在同学的帮助下做一硬件开发板由于开发板上用MHZ的晶振管的晶振管而老师给的乐谱转换条件为MHZ导致在音谱转换过程中是按MHZ进行的在实际播放时音乐的播放不是特别的清楚。第章心得体会这学期学习单片机的时间只有周时间对单片机的硬件设计软件设计掌握的深度不够但通过此次课程设计却改变了很多首先对于硬件电路的工作原理有了进一步的学习同样就有了进一步的认识其次软件方面在程序的设计程序的调试方面都学到了很多东西这是第一次编写单片机的大程序很有成就感。(在一个好的氛围里才能踏下心来做东西在这几天课设的时间里实验室的氛围对我们的影响很大大家一起努力这也是我们能完成课设的动力。另外在编程中出现问题时一定要戒骄戒躁脚踏实地认真看书仔细分析仔细调试就一定会发现错误克服困难我们也是这么做的这在课设中十分重要。这次课程设计终于顺利完成了在设计中遇到了很多编程问题最后在周向红老师的辛勤指导下终于游逆而解。同时在周老师那里我学得到很多实用的知识在次我表示感谢~同时对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢~参考文献、《单片机原理与应用》王迎旭等编机械工业出版社、《系列单片机设计实例》楼然苗等编北京航空航天大学出版社、《计算机硬件技术基础实验教程》黄勤等编重庆大学出版社、《微型计算机接口技术及应用》刘乐善主编华中科技大学出版社、《单片微型计算机原理及接口技术》陈光东等编华中科技大学出版社、《单片机典型模块设计实例导航》求是科技编著人民邮电出版社出版、《单片机程序设计实例》先锋工作室编著清华大学出版社出附录A:音乐播放器电路设计图附录B:程序清单#includeregh#defineucharunsignedchar#defineuintunsignedintsbitBEEP=P^ucharcodeSONGTONE={,,,,,,,,,,,,,,,,,,,,,,,,,}ucharcodeSONGLONG={,,,,,,,,,,,,,,,,,,,,,,,,,}voidDelayMS(uintx){uchartwhile(x)for(t=tt)}voidPlayMusic(){uinti=,j,kP=xfewhile(SONGLONGi!=||SONGTONEi!=){for(j=jSONGLONGi*j){BEEP=~BEEPfor(k=kSONGTONEik)}P=P|=xDelayMS()iif(P==xf){DelayMS()P=xfe}}}voidmain(){BEEP=while(){PlayMusic()DelayMS()}}附录C:实物图附录D:实物调试图

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/15

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利