单片机课程设计实验报告.docx
- 文档编号:28386561
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:22
- 大小:101.04KB
单片机课程设计实验报告.docx
《单片机课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《单片机课程设计实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
单片机课程设计实验报告
单片机课程设计实验报告
课程设计题目:
数字音乐盒
课程设计要求:
.利用口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于秒)
.采用显示信息
.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)
.可通过功能键选择乐曲,暂停,播放。
.选作内容:
显示乐曲播放时间或剩余时间
硬件电路:
本设计中用到了单片机,*键盘,蜂鸣器,*,七段
显示数码管。
原理说明:
当键盘有键按下时,判断键值,启动计数器,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。
同时启动定时器,显示乐曲播放的时间,并驱动,显示歌曲号及播放时间。
也可在显示歌曲号。
() 硬件电路中用控制按键,其中扫描行,扫描列。
() 用,控制,其中控制七段码,用为数码管位选信号。
() 用,作为的的控制信号。
用作为的的控制信号。
() 用口控制蜂鸣器。
() 电路为晶振频率工作,起振电路中均为。
电路图:
【实验时请仔细阅读后文说明!
此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。
】
实验控制流程图如下:
键盘如下:
实验程序如下:
;定义液晶显示端口标号
;********************************************
;*******************************************
:
;液晶初始化
;清屏
位,行显示
;屏显,光标,闪烁
;计数地址加,显示幕
内存初始化
:
键盘扫描
:
;有按键转到
:
:
:
;读键盘
:
;为跳转,第一行无按键
:
:
:
:
:
;若同时有其他按键,则等待
:
:
列扫描
:
:
:
;判断口
:
:
:
:
初值为零
:
:
;显示
:
;开机提示字
:
;设光标地址
;写数据
:
;按键值播放歌曲
:
:
:
:
:
:
:
:
:
:
;******************************************
:
;将吗转化为码
;显示小时十位
;显示小时个位
;显示冒号
;显示分十位
;显示分个位
;显示冒号
;显示秒十位
;显示秒个位
;设光标地址
;写数据
;*********************************************写指令
:
;**********************************************写数据
:
:
;未到字符串末尾继续
:
;**********************************************
:
:
$
:
;播放歌曲程序
:
:
:
:
有键跳出
:
:
:
:
:
:
;***************************************************
;定时器中断子程序
;***************************************************
:
;***************************************************
;定时器中断子程序
;***************************************************
:
;****************每秒种时钟刷新秒显示一次
:
;显示秒十位
;显示秒个位
:
:
;*************************************每分钟刷新分显示一次
;显示分十位
;显示分个位
:
;**************************************每小时刷新小时显示一次
;将吗转化为码
;显示小时十位
;显示小时个位
:
;*************************************溢出处理
:
:
:
:
$
:
;第一首《精忠报国》
:
;第二首《月亮代表我的心》
:
;第三首《看我七十二变》
:
;第四首《同一首歌》
:
;第五首《大海》
:
;第六首《两只蝴蝶》
:
;第七首<<世上只有妈妈好>>
:
;第八首歌《彩云追月》
:
;第九首<<十年>>
:
;第十首<<你的爱给了谁>>
:
按键功能说明:
:
十首歌曲
:
上一首歌曲
:
下一首歌曲
:
歌曲暂停
:
开机画面
程序调试中出现的问题及解决的办法:
. 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发行是因为程序中有的指令书写得不规范导致的,例如有的返回指令一定要按正确格式书写或在两行指令间最好不要留空行。
. 程序中的跳转指令的运用很重要,为保险起见,都用,我们就遇到过跳转指令用错程序无法正常运行的现象。
当用指令时,跳转范围比较少,这时要用一个标号中转。
. 编程时要注意,在程序开始时,要写入各定时器中断的入口地址。
. 编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。
. 程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。
. 编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着的工作方式列写流程图。
. 计时正常显示的解决办法:
. 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器设定在方式,计,由于定时中断过于频繁,使负载过大,导致音乐不能正常播放,时间不能正常显示。
解决办法:
将定时器设定在工作方式,位计数,计,效果有很大改观。
但还有问题。
. 当音乐为全拍起始时,此时音乐节奏与定时器中断频率错开,显示和音乐播放都会好一些。
. 另外,在歌曲中,当遇到一个音符发音为拍,在编曲中为*,托因时间较长,当定时器此时来中断时,就会对歌曲播放产生影响,若改为发音一拍,中断对歌曲播放影响减弱,但音乐效果变差。
. 改进方案:
若采用可以定时时间更长的单片机,可以避免所有问题。
收获,体会与建议:
. 本学期学习单片机的时间只有周时间,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。
. 在一个好的氛围里才能踏下心来做东西,在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。
另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,仔细看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。
. 最后要提一点建议,希望下一次课程设计中,每个人都能有一块实验开发板,这样能使每个人都能得到充分的锻炼!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 实验 报告