1、星期五下午:答辩。参 考 文 献参考文献1、王迎旭编.单片机原理与应用M.机械工业出版社.2、楼然苗编.51系列单片机设计实例M.北京航空航天大学出版社.3、黄勤编.计算机硬件技术基础实验教程M.重庆大学出版社4、刘乐善编.微型计算机接口技术及应用M.华中科技大学出版社.5、陈光东编.单片微型计算机原理及接口技术M.华中科技大学出版社.一概述本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放操纵、停止操纵、省电模式操纵等功能。音乐播放器利用单片机的按时器产生乐谱的各类频率方波,信号通过放大后由喇叭发作声音,选取某段音乐使单片机持续播放。4位LED显示器,用来显示所选曲目,该显示器在播
2、放期间为了节省电源,设计为关闭状态,当一歌曲演奏终止,或选曲时显示器才显示曲目信息。整体的设计思路是如此的。二系统整体方案设计本课题要求以单片机为核心设计一个简易音乐播放器,具有自动播放乐曲的功能。一首音乐是许多不同的音阶组成的,而每一个音阶对应着不同的频率,如此咱们就能够够利用不同的频率的组合,即可组成咱们所想要的音乐了,音阶对应频率关系图1-1:C调各音符频率与计数值T的关系音符频率(Hz)半周期(ms) 简谱码T值定时值(H)定时值(D)低1 Do262F894H62628低2 Re294F95CH63835低3 Mi330FA1AH64021低4 Fa349FA6AH64103低5 S
3、o392FB00H64260低6 La440FB8CH64400低7 Si494FC0EH64524中1 Do523FC4AH64580中2 Re587FCAEH64684中3 Mi659FD08H64777中4 Fa698FD30H64820中5 So784FD80H64896中6 La880FDC6H64966中7 Si988FE02H65030高1 Do1046FE2AH65058高2 Re1175FE5CH65110高3 Mi1318FE84H65157高4 Fa1397FE98H65178高5 So1568FEC0H65217高6 La1760FEE8H65252高7 Si1967F
4、F06H65283图2-1本设计用89C51单片机为核心,利用8段数码管显示器.采纳动态显示输出,声音输出用蜂鸣器来实现。采纳8段数码管显示器进行动态显示需要占用4根I/O线,蜂鸣器占用1根I/O线,89C51单片机有足够的线,不用扩展I/O口。用一片单片机即可知足本设计的输入输出。系统框图如图1-2所示:图2-2通过对音乐播放器主体部份的电路进行仿照设计,达到播放器固有的大体功能,设定按钮K一、 K2和K3。按钮K1打开并自动播放乐曲1;按钮K2打开并自动播放乐曲2;按钮K3为手动操纵音乐停止的按键。依照设计要求该播放器能实现音键的操纵。除此之外还实现了存储并读出几首音乐的功能。通过中断IN
5、T-1来实现功能的选择,当未按下中断按钮时,当按下中断按钮式,执行1,即能够播放音乐,共有两首音乐,由两个键来别离操纵它们,另外,还设计了一个键来停止音乐的播放。系统要紧由播放器发声模块、按键选择操纵模块和存储器模块组成。播放器发声模块负责发出音键相应的音符;选择操纵模块负责由外部操纵播放器的各项功能的实现;显示模块负责按键时产生相应的值,由数码管来实现。在只实现大体功能时(由功能操纵键操纵),本文的要紧内容是用AT89C51单片机为核心操纵元件,系统程序要紧包括主程序,按时器中断程序,音乐播放程序,延迟子程序等。三硬件设计 89C51单片机本设计利用的是ATMEL公司生产的AT89C51高性
6、能8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器和256bytes的随机存取数据存储器,器件采纳ATMEL公司的高密度,非易失性存储技术生产,与标准MCS51指令系统及8051产品引脚兼容,片内置8位中央处置器(CPU)和Flash存储单元,功能壮大的AT89C52单片机适合于许多较为复杂操纵应用处合。如图2-1和2-2所示:端口引脚复用功能RXD(串行输入口)TXD(串行输出口)INT0(外部中断0)INT1(外部中断1)T0(定时器0外部输入)T1(定时器1外部输入)WR(外部数据存储器写选通)RD(外部数据存储器读选通)图3-1和3-2 I/O并行口直接驱动LED显示由于要
7、显示每一个按键的键值,就需要用到数码管LED显示模块。本设计一共用了一个数码管显示器。利用AT89S51单片机的P0端口的连接到一个共阴数码管的笔段上,数码管的公共端接地。在数码管上循环显示09数字,如图3-3所示:图3-3 发音电路发音电路有三极管,电阻和扬声器组成,三极管的基极接在单片机的端口,通过按时器溢出的时刻不同,端口输出不同频率的高低电平,输出的脉冲频率不同,三极管导通的频率也不相同,从而扬声器依照不同频率的脉冲发出的声音也不相同,发音电路如以下图2-4所示: 图3-4四软件设计.软件设计主程序设计的第一步为初始化,初始化I/O口,设置按时器定不时刻,写按时器工作方式寄放器,设置许
8、诺T0中断。刚开始需要将存储单元置1,全数置1以后更新显示缓冲区。接着进行显示初始化,开按时器T0,如此就能够够开始显示了。设置完以后程序就不断检测按键情形。检测利用软件去抖,也确实是第一次检测到有键按下后,若是有键按下那么执行相应指令。本设计还设计了防误操作程序,也确实是关于一个键,按一下和一直按着的成效是一样的,如此能够避免用户还没放开此键时,程序已进行第二次或多次一样的操作。图4-1程序中根音选取的是C调三个8度内的音符,共21个音。每一个音符对应频率由按时器T0产生(音符频率及对应计数初值见附表)。为了程序挪用方便,每一个音符都对应一个编码,占用一个字节。在程序中以查表的方式加载计数初
9、值。当值为00H时表示空拍,与节拍码配合完成节拍发音。节拍码也占一个字节,其总时刻长度等于大体时刻乘以节拍码的值。节拍码值为01H时,表示当前乐曲终止,为00H时,表示全数乐曲终止。为了编码简单,一样节拍码高半字节表示整拍,低半字节表示分数,只要大体延时设定适当即可,为了及时响应键盘操作,键扫描指令安排在大体延不时刻子程序中。按键每按下一次,乐曲数量计数器R5加1或减,然后依照R5的内容转向不同的乐曲。系统初始化后,进入播放功能。开始从第一首曲目开始循环播放。播放进程中若是显现跳选曲目那么进入相应的曲目程序程序设计流程如图4-1所示。五.系统调试与仿真软件仿真时期 单片的程序用KEIL 编写的
10、。在keil内成立工程后成立汇编文件,编写MCS-51程序。1、编译成功后,分模块调试,别离采纳“白盒”和“黑盒”测试法验证程序的正确性2、将调试成功的各模块,归并到总程序中,进行整体性能测试。3、联调PROTEUS进行硬件仿真,单步,断点调试,观看运行结果,并修改源程序系统的仿真调试时期基于单片机的音乐播放器的是利用PROTEUS软件来实现电脑仿真的,仿真步骤如下:4、打开PROTEUS软件,选择器件,连接电路图;5、添加已经编译的HEX文件到单片机内;6、单步运行,观看结果,比较预定结果,修改源程序;7、整体调试运行;8、分组测试,看是不是达到任务要求。硬件安装调试 单片机系统进行软件盒硬
11、件调试成功后最后一步是进行硬件的连接和物制作,咱们的硬件是在实验台上进行的,尽管与设计的电路不太相同,只是能够适当修改源程序,以适应实验台的要求9、依如实验台情形和设计要求连接电路图;10、在连接的电路上,进行模块测试,确实是用简单的程序进行调试以确信电路连接正确;11、将修改后的程序下载到单片机里,能够用伟福仿真系统,进行单步和断点调试,将运行结果和实验现象与预定值进行比较,再适当修改程序以达到要求。六.总结课程设计是培育学生综合运用所学知识,发觉,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察进程.随着科学技术进展的日新日异,单片机已经成为现今运算机
12、应用中空前活跃的领域, 在生活中能够说得是无处不在。因此作为二十一世纪的大学来讲把握单片机的开发技术是十分重要的。回忆起这次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近两礼拜的日子里,能够说得是苦多于甜,可是能够学到很多很多的的东西,同时不仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我知道了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立试探的能力。在设计的进程中碰到问题,能够说得是困难重重,这毕竟第一次做的,
13、不免会前所碰到过各类各样的问题,同时在设计的进程中发觉了自己的不足的地方,对以学过的知识明白得得不够深刻,把握得不够牢固,比如说不懂一些元器件的利用方式,对单片机汇编语言把握得不行通过这次课程设计以后,必然把以前所学过的知识从头温故。这次课程设计终于顺利完成了,在设计中碰到了很多编程问题,最后在周向红教师的辛勤指导下,终于游逆而解。同时,在周教师那里我学取得很多有效的知识,在次我表示感激!同时,对给过我帮忙的所有同窗和列位指导教师再次表示忠心的感激!1、单片机原理与应用 王迎旭等编 机械工业出版社2、51系列单片机设计实例 楼然苗等编 北京航空航天大学出版社3、运算机硬件技术基础实验教程 黄勤
14、等编 重庆大学出版社4、微型运算机接口技术及应用 刘乐善主编 华中科技大学出版社五、单片微型运算机原理及接口技术陈光东等编 华中科技大学出版社六、单片机典型模块设计实例导航 求是科技编著 人民邮电出版社出版7、单片机程序设计实例 先锋工作室编著 清华大学出版社出附录A:音乐播放器电路设计图附录B:程序清单OUT BIT N EQU 10PLAY_K BIT XSDAT BIT GW BIT SW BIT BW BIT QW BIT SJGW EQU 2AHSJSW EQU 2BHSJBW EQU 2CHSJQW EQU 2DH ORG 0000H LJMP MAIN ORG 0003H LJM
15、P PGINT0 ORG 000BHLJMP PGT0ORG 0013HLJMP PGINT1ORG 001BHLJMP PGT1ORG 0023HLJMP WRONGNOPORG 0030HMAIN: MOV SP,#60HMOV TMOD,#01HSET_TAB: MOV A,R2MOVC A,A+DPTRMOV R0,AINC R0INC R2MOV A,R2INC R3CJNE R3,#N+1,SET_TABMOV R0,#40HMOV 31H,#01AJMP K1START: MOV 30H,#2MOV DPL,R0MOV DPH,R0ANL A,#0FHC2_4: CJNE A,#
16、2,C3_4MOV A,23HSWAP ACJNE A,#4,C2P1_8C2P1_4: MOV 24H,#250SJMP NOTEC2P1_8: MOV 24H,#125 SJMP NOTEC3_4: CJNE A,#3,C4_4 MOV A,23H SWAP A ANL A,#0FH CJNE A,#4,C3P1_8C3P1_4: MOV 24H,#187C3P1_8: MOV 24H,#94C4_4: CJNE A,#4,C4P1_8C4P1_4:C4P1_8: MOV 24H,#62NOTE: MOV A,#1MOV 25H,ANEXT: MOV A,30HDEC R0MOV R2,A
17、JZ STOPMOV R5,AJNZ SINGCLR TR0AJMP SING1SING: DEC AADD A,25HRL AMOV 22H,AMOV DPTR,#TABLE2MOV A,22HINC AMOV TH0,AMOV 21H,ASETB TR0SING1: LCALL DELAY1 INC 30H JNB PLAY_K,PUSE LJMP NEXTPUSE: LCALL DISP LCALL DISPLAY JNB PLAY_K,$-3STOP: CLR TR0K1: JB NEXT_K,K2LCALL DISPLAYJNB NEXT_K,$-3MOV A,31HCJNE A,#
18、N,K1_2 K1_1: MOV R0,#40H MOV 31H,#01 SJMP K2 K1_2: INC 31H INC R0K2:JB LAST_K,K3LCALL DISPCJNE A,#1,K2_2K2_1: MOV R0,#40H+2*(N-1) MOV 31H,#N SJMP K3K2_2: DEC 31H DEC R0K3:JB PLAY_K,K1JNB PLAY_K,$-3AJMP STARTPGT0: MOV TL0,20HMOV TH0,21HCPL RETIPGINT0: RETIPGINT1:DELAY1: MOV R7,#02DELAY2: MOV R4,24HDE
19、LAY3: MOV R3,#248 DJNZ R3,$DJNZ R4,DELAY3DJNZ R7,DELAY2DJNZ R5,DELAY1RETPGT1:DELAY4: MOV R4,#20DELAY5: DJNZ R4,DELAY5 RETTABLE1: DW SONG1,SONG2,SONG3TABLE2: DW 63628,63835,64021,64103,64260,64400,64524 DW 64538,64684,64777,64820,64898,64968,65030 DW 65058,65110,65157,65178,65217,65252,65282SONG1: DB
20、 44H,02HDB 42H,82H,82H,82H,84H,02H,72HDB 62H,72H,62H,52H,48HDB 12H,62H,62H,52H,44H,02H,82HDB 72H,62H,52H,32H,48HDB 00HSONG2: DB 43H,04HDB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,0F4H,0D4HDB 0E2H,01H,0E1H,0D4H,0B4HDB 0C4H,0B4H,04HDB 0C4H,0B4H,04H,00HSONG3: DB 44H,04HDB 44H,54H,64H,44HDB 64H
21、,74H,88HDB 82H,92H,82H,72H,64H,44HDB 44H,84H,48HDB 44H,14H,48HDISPLAY: PUSH ACCPUSH PSWMOV DPTR,#XSTABMOV A,SJGWACALL DSOUTCLR GWACALL DS1MSSETB GWMOV A,SJSWCLR SWSETB SWMOV A,SJBWCLR BWSETB BWMOV A,SJQWCLR QWSETB QWPOP PSWPOP ACCDSOUT: MOV R0,#8DSLOOP: RLC A MOV XSDAT,C SETB XSCLK CLR XSCLK DJNZ R0
22、,DSLOOPDS1MS: MOV R1,#10DS1LO: MOV R2,#100 DJNZ R2,$ DJNZ R1,DS1LOXSTAB: DB 3FH,06H,5BH,4FH;0,23DB 66H,6DH,7DH,07H;4567DB 7FH,6FH,77H,7CH;89ABDB 39H,5EH,79H,71H;CDEFDISP: MOV 26H,#5MOV B,#10DIV ABMOV SJGW,BMOV SJSW,AMOV SJBW,#0WRONG: CLR EAMOV DPTR,#ERRPUSH DPLPUSH DPHERR: CLR APUSH ACCEND电气与信息工程系课程设计评分表项 目评 价设计方案的合理性与创造性硬件制作或软件编程完成情况*硬件制作测试或软件调试结果*设计说明书质量设计图纸质量答辩汇报的条理性和独特见解答辩中对所提问题的回答情况完成任务情况独立工作能力组织纪律性(出勤率)综合评分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容;此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1