机械基础设计要点_第1页
机械基础设计要点_第2页
机械基础设计要点_第3页
机械基础设计要点_第4页
机械基础设计要点_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

音乐盒实验报告

专业:生产过程自动化

班级: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论