版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
音乐盒实验报告
专业:生产过程自动化
班级:08机电(2)班
姓名:何远龙
指导老师:陈玉琼
2010-10-08
一、实验材料
I、仪器设备,软件工具
软件用途
keil软件源程序的编译
Proteus软件实现电路的仿真
Progisp软件将程序下载到学习板上进行实验
硬件用途
万用表检测硬件电路
学习板实现源程序的调试,并通过实验现象来修改程序
2、元器件清单
元件名称参数数量
IC插座DIP401
单片机89C511
晶体振荡器12MHZ1
瓷片电容22PF2
按键4
IC插座DIP81
三极管2N50881
电阻1K4
电解电容47uF1
电阻5108
蜂鸣器无源式1
小喇叭1
放大器LM3861
二、实验过程描述
I、设计功能描述
<1)通过改变单片机输出脉冲高低电平的保持时间和须率,可以得到音阶和调节不同的音调,
运用定时中断来控制节拍,从而来演奏乐曲。
(2)用数码管显示当前播放的歌曲序号。
(3)通过功能键控制上,下曲目的选择以及乐曲的暂停和播放。
2、原理图设计思路
由P1.0口控制一个LM386功率放大器,经功率放大器控制发声器件小喇叭。当P1.0口输出低
电平时,三极管导通,小喇叭通电:当P1.0口输出高电平时,三极管截止,小喇叭断电。通过
连续不断周期性地改变P1.0口的高、低电平,就会产生一定频率的矩形波,小喇叭就能产生一
定频率的声音,再配合延时程序控制高、低电平的持续时间,就能改变音调。由P3.2、P3.3、P3.4、
P3.5分别作为开始键/停止键,暂停键、下一曲犍、上一曲键。图中还将共阳级数码管相应的段
选控制端用P0口控制,将数码管的公共端,也称“位选端”由P2口控制。
原理图如下:
FDIIAIO
F0.t(M1卜
"2A・2y
XTA12心火”[
儆皿,[
00-$[
PO«AIC
fOT,0J从“
FSQ'AS
KLV2
P22TAI0
R2JTA11
PN.WUN
P2S/A13
P2«A14
P7.?ZA1f
♦nnuxo
以皿
口
P3AW
F37甫G
3、程序设计思路,并画出流程图
程序思路:初始化设置,开延时与外部中断,按下P3.2键先唱第一首,然后循环播放。若有按
下P3.3键则执行暂停作用,再按一次则继续播放:若有按下P33P3.4键则分别执行下一曲、上
一曲功能。播放歌曲是多少数码管则显示相应的数字。流程图如下:
主流程
STAR。
RET
4、写出源程序与必要的注释
shuzhiequ3fli;选曲目的地址
songequpl.O;扬声器播放P1.0
playequp3.2;播放停止键P3.2
addoncequp3.4;曲目加一键P3.4
suboneequp3.5;曲目0成一键P3.5
dulequpO;数码管段选PO口
welequp2;数码管位选P2口
orgOOOOh
Ijmpstart
orgOOObh;定时器0溢出中断入口地址
ajinpeont;指向定时器中断程序
org0013h;外部中断一入口地址
ajmppause;指向外部中断程序
org0100h
start:
niovsp,#50h
movihO,#Odbh;定时器赋初值
movtlO,#Offh
movtmod,#01h
movie,#86h;开中断
movtcon,#00h
movrO,#OOh
movshuzhi,#OOh
main:jnbplay,first;判断P3.2键是否按下
sjmpmain
first:acalldel2O
jnbplay.first;判断P3.2键是否释放
movshuzhi,#OOh
movdul,#0f9h;显示数值1
movwel,#7fh;显示位送P2口
movdptr.#datl;表1首地址送DPTR
acallmusicO
acallnext
ret
next:incshuzhi;shuzhi+|
mova,shuzhi
cjnea,#01,loop3;A是否=1,不等就跳转到LOOP3
movdptr.#dat2;表2首地址送DPTR
movdul.#0a4h;显示数值2
movweI,#7fh
acallmusicO
inca
loop3:cjnea.#02.1oop4;A是否=2,不等就跳转到LOOP4
movdpir,#dat3;表3首地址送DPTR
movdul,#ObOh:显示数值3
movwel,#7fh
acallmusicO
inca
Ioop4:cjnea,#O3,next;A是否=3,不等就跳转到next
acallfirst
ret
last:
decshuzhi;shuzhi-I
mova.shuzhi
cjnea,#02,last1
movdptr,#dat3
movdul.#()bOh
movwel,#7fh
acallmusicO
last1:cjnea,#01.1ast2
movdptr,#dat2
movdul.#0a4h
movwel,#7fh
acallmusicO
las⑵cjnea.#OOJast
movdptr.#dat1
inovdul.#Of9h
movweI,#7fh
acallmusicO
ret
musicO:
mov2Oh.#()Oh;中断计数单元清0
musicI:clra
movea,@a+dptr;查表取音阶常数
jzendO;是结束符?
cjnea.#Offli,music5;是休止符?
Ijmpmusic3产生100ms停顿
music5:
nop
key:jnbplay,kO;判断P3.2键是否按下
jnbaddone,kl;判断P3.4键是否按下
jnbsubone,k2;判断P3.5键是否按下
movr6,a;音阶常数送R6
incdptr;DPTR+I
mova,#()
movea,@a+dptr;取常数送R7
movr7,a
setbtrO;启动定时器TO
music2:nop
cjner0,#0,$
cplsong;输出电平取反
mova,r6
movr3,a;音阶常数送R3
Icalldei20
mova,r7;节拍常数送A
cjnca,20h,music2;节拍时间到否
mov20h.#00h;为取下一音阶作准备
incdptr
Ijmpmusic1
music3:nop;休止100ms
clrtrO;关闭定时器
movr2,#14h:R2=20
music4:nop
movr3,#250:R3=250
Icalldel20
djnzr2,music4
incdptr;为取下一音阶作准备
Ijmpmusic1
endO:movr2,#200;歌曲结束后,延时Is后继续
music6:movr3,#250
Icallde120
djnzr2,music6
kl:acalidel20;调用延时子程序
jnbaddone,kl;判断P3.4键是否释放
acalinext
k2:acalide!20
jnbsubone,k2;判断P3.5键是否释放
acalilast
kO:acalideI20
jnbplay,kO
Ijmpstart
ret
dcl20:movr4.#05h
del4:nop
djnzr4,del4
djnzr3,de120
ret
cont:inc20h;计数单元+1
movihO,#Odbh;重新10ms定时初值
movtIO,#Offh
reti;跳出中断
pause:acalidc!20
jnbp3.3,pause;判断P3.3键是否有释放
mova,rO;把RO的值给A
cpla;A值取反
moviO,a
reii
datl:
db3bh,2Oh.3bh,2Oh.3Oh,2Oh.33h,2Oh.3bh,8Oh.Offh
db3bh,20h,3bh,20h,26h,20hf2bh,20h,26h,80h,0ffh
db26h,20h,26h,20h,20h,20h,26h,20h,2bh,20h,2bh,20h,30h,20h,33h,lOh,33h,lOh
db3bh,60h,40h,20h,4ch,80h,0ffh
db3bh,20h,3bh.20h,30h,20h,33h,20h,3bh,80h,0ffh
db3bh,20h,3bh,20h,26h,20h,2bh,20h,26h,80h,0ffh
db26h.20h,26h,20h,20h,20h.26h,20h,2bh,20h,2bh,20h,2bh,20ii,30h,20h
db33h,20h,3bh,20h,3bh,20h,40h,2bh,3bh,80h,0ffh
db19h,20h,lch,40h,26h,20h,l9h,20h,lch,40h,26h,20h,0ffh
db20h,20h,lch,20h,lch,20h,20h,20h,26h,80h,0ffh
db19h,20h,lch,40h,26h,20h,19h,20h,lch,40h、26h,20h,0nh
db20h,20h.lch,20h,lch,20h,20h,20h,26h,80h.0ffh
db2bh,20h,2bh.40h,3bh,20h.2bh,20h,2bh,40h,2bh,20h,0fni
db26h,20h,2bh,20h,2bh,20h,30h,20h,2bh,80h,0ffh
db2bh,20h,2bh,40h,3bh,20h30h,20h30h,40h,2bh,20h,0ffh
db33h,20h,3bh,20h,3bh,20h.40h,20h,3bh,80h,0ffh,0ffli
dat2:
db18h,30h,lch,10h,20h,40h,lch,lOh
db18h,l0h,20h,10hJch,lOhJ8h,40h
db1ch,2Oh,2Oh,2Oh,lch,2Oh,18h,2Oh
db20h,80h,0ffh,20h,30h,lch,1OhJ8h
db20h,l5h,2Oh,lch,20h,20h20h,26h
db40h,20h,20h,2bh,20h,26h,20h,20h
db20h,30h,80h,0ffh,20h,20h,1chJOh
db18h,l0h,20h,20h,26h,20h,2bh,20h
db30h,20h.2bh,40h.20h,20h.1ch,1Oh
db18h,l0h,20h,20h,26h.20h.2bh,20h
db30h,20h,2bh,40h,20h,30h,1ch,lOh
db18h,2OhJ5h,2Oh,lch,20h20h,20h
db26h,40h,20h,20h,2bh,20h,26h,20h
db2Oh,2Oh,3Oh,8Oh,2Oh,3Oh,1ch,1Oh
db20h,IOh,Ich,10h,20h,20h26h,20h
db2bh,20h.30h,20h.2bh.40h.20h.l5h
dblfli,05h,20h,10hJchJOh,2Oh,2Oh
db26h,20h.2bh,20h,30h,20h.2bh,40h
db2Oh,3OhJchJOhJ8h,20hJ5h,2Oh
db1ch,20h,20h,20h,26h,40h20h,20h
db2bh,2Oh.26h,2Oh.2Oh.2Oh.3Oh.3Oh
dh2Oh,3Oh,lchJOh,18h,40h,lch,20h
db20h,20h,26h,40h,l3h,60h,l8h,20h
db15h,40h,13h,40h,18h,8Oh,OOh
dat3:
db26hJ0h,26h,20h,26h,l0h.26h,l0h,2bh,l0h,30h,20h,26h,40h,0ffh
db26h,l0h,26h,10h,20h,lOh,1ch,1Oh,Offh
db20h,20h.20h,20h.20h.lOh,26h,3Oh,2bh,8Oh,Offh
db1chjOh,lch,lOh,lch,lOh,2Oh,lOh,Ich,3Oh,l8h,l0h,20h,40h,0ffh
db26h,lOh.2bh,lOh.3Oh,lOh,2bh,lOh.Offii
db26h,20h,20h,20h,2bh,20h,20h,20h30h,40h,0ffh
db30h,10hJch,10h,lch,10h,19h,10h,18hJ0h,l9h,10h,lchJ0h.lch,lOh,Offh
dbIchdOhJch,lOhJch,lOhJ8h,l0h,20hJ0h,20hJ0h,26hJOh.2OhJOh,OHh
db20h,30h,20h,l0h,l8h,20h.l8h,20h,0ffh,19h,20h,20hJ0h,lcM0h,lch,8Oh,Offh
db18h,10hJ9h,10h,lch,1OhJ8h,10h,l8h,40h,0ffh
db19h,20h,20h,20h,l8h,20h,19h,10h,l9h,10h,l9h,1OhJch,3Oh,lch,OcOh,Offh
db13h,lOh.l3h,lOh,13h,10h,15h,1OhJ3h,1Oh,15h,1Oh,18h,1Oh
db18h,10h,18h,10h,15h,30h,0mi
db15h,lOh.lchJOh,l5h,lOhJch.lOh,18h,10h,l8h,lOh.l5h.lOh.l8h.lOh,Offh,l8h,lOh
db26h,10h,lch,lOh,26h,l0h^0h,20h,lch,10h,20h,10h,20h,40h.0ffh
db26h,l0h,2bh,l0h,2bh,lOh,3Oh,lOh,26h,2Oh,18h,lOhJchJ0h,20h,20h,20h,20h,0ffh
db20h,30h,20h,l0h,lch,20h,l8h,20h,l8h,20h,l5h.l()h,l8h,10h,l8h,10h,l5h,30h,0ffh
db15h,l0h,20h,l0h,20h,l0h.20h,10h,lch,20h,l8h,20h,l8h,20h,15h,10h,18hJ0h
db18h,lOh.l5h,3Oh,lch,lOh,l8h,20h,18h,10h,l8h,2Oh,l5h.lOh,18h,10h,l8h.OcOh.OOh
end
5、片内RAM地址与I\0分配表
片内RAM名称用途
3fiiShuzhi选曲目的地址
RO—中断地址
R3—暂存音阶常数
20H—存放10ms定时中断的次数
R6—存放音阶常数
R7—存放节拍常数
R2、R4—改变延时时间
P0Dul数码管段选
P2Wei数码管位选
P1.0Song扬声器播放
P3.2Play播放停止功能
P3.3暂停功能
P3.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业公车用车协议书
- 包子采购协议书范本
- 老婆强迫老公签协议书离婚
- 数据帧之通信协议书
- 南京华东饭店协议书价
- 农村地下室出售协议书
- 2026年物流运输路径规划智能降本增效方案
- 厂房施工技术方案规范
- 高校项目运营方案
- 钢板桩支护施工方案及措施
- 工作服领用申请表
- 《消化系统疾病预防课件》
- 江苏师范大学成人继续教育网络课程《英语》单元测试及参考答案
- 国家职业技能鉴定考评员考试题库
- 马克思主义与社会科学方法论思考题
- 中考英语表格类阅读理解专题
- 城市一卡通系统总体方案
- DL-T 2199-2020 循环流化床锅炉燃料掺烧技术导则
- 糖尿病酮症酸中毒指南精读
- GB/T 11544-2012带传动普通V带和窄V带尺寸(基准宽度制)
- 《绿色建筑概论》整套教学课件
评论
0/150
提交评论