【编者按】网学网电子数电单片机频道为大家收集整理了“数字音乐盒设计“提供大家参考,希望对大家有所帮助!
本份设计包括程序,仿真,论文,原理图,字数:5752,页数:51 论文编号:JD394
摘要
本设计是采用单片机为核心设计的数字音乐盒。它可以实现音乐的播放,可以通过功能键来选择乐曲,播放或暂停,并且可以通过LCD屏幕显示正在播放的歌曲的序号,及乐曲播放时间,开机时有英文欢迎提示字符,本音乐盒可以播放十首音乐。
主控芯片采用AT89C51,采用汇编语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。
本系统功能键有一个4×4的键盘组成,其中1号到A号键是歌曲序列号键,可以直接选择音乐;C号键选择当前播放音乐的上一首音乐,D号键选择当前播放音乐的下一首音乐,E号键使音乐暂停播放,F号键显示开机画面。
键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态值,判断有没有键按下。若有键按下,根据读入口的值选择显示值并送至显示值寄存单元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音。同时启动定时器T1,计算音乐的播放的时间,并且启动LCD,在LCD上显示序号和播放时间。
在制作过程中,我发现将音乐代码的首地址送出很难实现。因为其首地址是十六位的,而单片机中我们能用的十六位的寄存器只有DPTR,但是DPTR在下面必须要用到,所以不能用。所以我就想把十六位地址拆成俩个八位的地址分高低位去送。但是用#high addr用伟福编译不通过,所以我就用直接地址#high(4000h)去送,这样就可以编译了。
目录
1概述………………………………………………………………………………3
设计功能和要求……………………………………………………………3
设计内容……………………………………………………………………3
51系列单片机各引脚功能概述……………………………………………3
2系统总体方案及硬件设计…………………………………………………………5
2.1系统组成……………………………………………………………………5
2.2 系统按键部件设计…………………………………………………………6
2.3 系统显示部件设计…………………………………………………………6
2.4 系统播放部件设计…………………………………………………………7
3 软件设计…………………………………………………………………………8
3.1程序流程图…………………………………………………………………8
3.2 键盘扫描子程序设计………………………………………………………9
3.3显示子程序设计……………………………………………………………11
3.4 播放音乐子程序……………………………………………………………11
4 Proteus软件仿真………………………………………………………………12
4.1 关机状态仿真图……………………………………………………………12
4.2 开机状态仿真图……………………………………………………………12
4.3选定一首音乐状态仿真图…………………………………………………13
5课程设计体会……………………………………………………………………15
参考文献……………………………………………………………………………17
附1:源程序代码…………………………………………………………………18
附2:系统原理图…………………………………………………………………51