单片机课程设计:数字音乐盒系统

需积分: 9 1 下载量 80 浏览量 更新于2024-07-01 1 收藏 100KB DOC 举报
"单片机课程设计音乐盒项目文档,主要涵盖了数字音乐盒的设计与实现,包括硬件和软件两部分,使用了89C51单片机、4x4键盘、蜂鸣器、16x2 LCD显示器和七段数码管LED。设计要求能够播放至少三首乐曲,具有显示歌曲信息、选择歌曲、暂停播放等功能。" 在这个单片机课程设计中,学生被要求创建一个数字音乐盒,它能够通过单片机产生不同频率的方波来驱动蜂鸣器播放音乐。设计的关键组件是89C51单片机,这是一种常见的8位微控制器,广泛用于各种嵌入式系统。4x4键盘用于用户输入,例如选择歌曲和控制播放状态。16x2 LCD显示器用于显示歌曲编号和播放时间,而七段数码管LED则用于显示歌曲号。 硬件设计方面,P1.0到P1.7口被用作键盘扫描,P1.0到P1.3扫描行,P1.4到P1.7扫描列。P0.0到P0.7以及P2.0到P2.7口分别用于控制七段数码管LED,前者控制七段码,后者作为位选信号。P2.0到P2.2口被分配给LCD的RS、R/W和E控制信号,P0.0到P0.7作为LCD的数据线。P3.7口用于控制蜂鸣器的发声,通过调整其电平高低产生不同频率的音调。 软件设计部分,程序实现了基本功能,如播放多首歌曲、显示信息以及响应用户操作。RS、RW和E的控制由P2.0、P2.1和P2.2口实现,数据传输通过P0.0到P0.7完成。程序可能使用了中断服务子程序来处理定时器T0和T1的中断,T0用于产生音乐的方波,T1用于计算和显示播放时间。音乐的频率和播放时间可能通过精确的计时和频率控制实现。 这个设计项目旨在让学生熟悉单片机编程、硬件接口设计以及嵌入式系统的实时特性。通过实现音乐盒,学生可以掌握基本的I/O操作、中断系统、定时器/计数器的应用,以及与LCD和蜂鸣器等外围设备的通信。此外,通过增加显示乐曲播放时间或剩余时间的附加功能,还能提升他们对实时系统和资源管理的理解。
2023-02-27 上传
目录 摘 要 I Abstract II 第一章 设计方案的对比 1 第二章 总体方案设计 2 2.1 原理简介 2 2.2 方案设计思想 2 第三章 方案实现 3 3.1、音频脉冲的产生 3 3.2.音乐节拍的生成 4 3.3.建立音乐的步骤 4 第四章 硬件设计 5 4.1 硬件电路 5 4.1.1、AT89C51的工作特性 5 4.2 原理说明 6 4.3 电路各模块说明 6 4.3.1 键盘系统 6 4.3.2 放大电路 7 4.3.3 时钟电路 8 4.3.4 复位电路 8 5.3.5 显示电路 9 第五章 软件设计 10 5.1 主模块的设计 10 第六章 仿真、安装和调试 12 总结 13 致谢 14 参考文献 14 附录 15 附录一:音乐程序 15 附录二:基于单片机的数字音乐盒总电路图 32 摘 要 本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LCD显示器为核心, 辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用I/O口产生一定频率的方 波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲(最少三首乐曲, 每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可 通过功能键选择乐曲,暂停,播放。 本设计采用4*4键盘,用Protel99来画系统硬件图,采用汇编语言进行编程,编程后 利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以 正常实现。该音乐盒的设计可以通过按键选择不同的曲目,播放和暂停,并通过LCD显示 歌曲号及播放时间。 本设计键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态 值,判断有没有键按下。若有键按下,根据读入口的值选择显示值并送至显示值寄存单 元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址 ,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音。同时启动定时器T1,计算音乐 的播放的时间。 关键词:数字音乐盒 AT89C51 LCD显示器 Proteus软件 4*4键盘 动态扫描 KEIL C5 Abstract The design of digital music box is based on singal-chip microc- omputer.The Chip of AT89C51 and LCD displayer was the heart of this design,with some necessary aided circuits,thus constructing the digital depends on singal-chip microcomputer.This design requires the I/O ports whitch have a certain frequency,square wave,then driving the buzzer to produce different tones,and LCD display information to play music(at least 3 songs,no less than 30 seconds per song),There have Englishwelcome prompt character and song number displayed on LCD when turn on the button.It can complited the music play or pause by select the function key. The design uses 4*4keyboard,with protel99 to draw the systerm hardware chart,assembly language progra-mming,programming for later use keil compiler,and then load the generated HEX filechip,using proteus simulation software,testing fun-ctions can be properly realized,The design of music box plays achived through the buttons to select a different track,pl-ay and pause,and through the LCD display the song number and play time. The dynamic scann