项目音乐门铃和简易演奏器设计.docx

上传人:b****1 文档编号:14420283 上传时间:2023-06-23 格式:DOCX 页数:20 大小:614.07KB
下载 相关 举报
项目音乐门铃和简易演奏器设计.docx_第1页
第1页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第2页
第2页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第3页
第3页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第4页
第4页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第5页
第5页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第6页
第6页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第7页
第7页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第8页
第8页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第9页
第9页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第10页
第10页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第11页
第11页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第12页
第12页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第13页
第13页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第14页
第14页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第15页
第15页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第16页
第16页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第17页
第17页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第18页
第18页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第19页
第19页 / 共20页
项目音乐门铃和简易演奏器设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

项目音乐门铃和简易演奏器设计.docx

《项目音乐门铃和简易演奏器设计.docx》由会员分享,可在线阅读,更多相关《项目音乐门铃和简易演奏器设计.docx(20页珍藏版)》请在冰点文库上搜索。

项目音乐门铃和简易演奏器设计.docx

项目音乐门铃和简易演奏器设计

工程四音乐门铃和简易演奏器设计

设计说明书

任务一音乐门铃

一、任务设计要求

1、实现“滴、滴”报警声

要求:

产生频率为500Hz,扬声器响0.25s,停0.25s,反复循环

2、实现“滴、滴”报警声实现“滴、滴”报警门铃

要求:

在1的基础上增加按钮动作。

按钮按下一次,“滴、滴”声持续约3秒。

3、技能提高

任选一首歌曲,编制歌谱表,由单片机演奏,实现音乐门铃。

4、计数器应用

设用内部定时器/计数器1的计数功能,工作在方式2,实现计数5次产生中断使P1.7所接发光二极管闪烁。

2、设计过程

1、实现“滴、滴”报警声

要求:

产生频率为500Hz,扬声器响0.25s,停0.25s,反复循环

1、设计方案确定

2、硬件电路设计

(实现“滴、滴”报警声)(实现“滴、滴”报警门铃)和(音乐门铃)的硬件电路设计

计数器的硬件电路设计

3、软件设计

实现“滴、滴”报警声

步骤1:

定时参数的计算

1)要产生频率为500Hz的方波信号,方波信号的周期为2ms。

电路采用12MHz的晶振,利用定时器T0的方式1,产生1ms的定时,在P1.7上输出周期为2ms的方波。

矚慫润厲钐瘗睞枥庑赖。

(a)T0的方式控制字TMOD:

M1M0=01,GATE=0,C/T=0,可取方式控制字为01H

(b)计算计数初值X

由于晶振为12MHz,机器周期T=

,要产生产生1ms的定时,计数初值为

X=65536-1000=64536=FC18H

将FCH、18H分别预置给TH0、TL0。

(1)

Yes

、绘制流程图聞創沟燴鐺險爱氇谴净。

开始

标志FLAG清0

计时计数值清0

设置定时器

标志位FLAG取反

计时计数值清0

 

定时1ms

启动定时器

 

等待中断

主程序流程图

中断程序流程图

 

2、实现“滴、滴”报警门铃

要求:

在1的基础上增加按钮动作。

按钮按下一次,“滴、滴”声持续约3秒

 

(2)、编写源程序:

共4个程序

程序一:

实现“滴、滴”报警声

TCOUNTEQU30H

    FLAGBIT00H

ORG0000H

SJMPSTART。

跳转到主程序

ORG000BH。

T0的中断入口地址

LJMPINT_T0。

转向中断服务程序

START:

CLRFLAG。

标志位清零

MOVTCOUNT,#00H。

计时计数值清零

MOVTMOD,#01H。

置T0工作于方式1

MOVTH0,#(65536-1000)/256。

装入计数初值

MOVTL0,#(65536-1000)MOD256

MOVIE,#82H。

开中断

SETBTR0。

启动T0定时器

SJMP$。

等待中断

INT_T0:

MOVTH0,#(65536-1000)/256。

重新装入计数值

MOVTL0,#(65536-1000)MOD256

INCTCOUNT。

计时计数值+1

MOVA,TCOUNT

CJNEA,#250,I1。

是否计满0.25秒

CPLFLAG。

标志位FLAG取反

MOVTCOUNT,#00H。

计时计数值清零

I1:

JBFLAG,I2。

检查标志位

CPLP1.7。

声音输出

SJMPRETUNE

I2:

CLRP1.7。

关声音

RETUNE:

RETI。

中断返回

END

程序二:

按下门铃按键,发出“滴、滴”报警声

TCOUNTEQU30H

FLAGBIT00H

ORG0000H

SJMPSTART。

跳转到主程序

ORG000BH。

T0的中断入口地址

LJMPINT_T0。

转向中断服务程序

——————————————主程序———————————

START:

CLRFLAG。

标志位清零

MOVTCOUNT,#00H。

计时计数值清零

MOVTMOD,#01H。

置T0工作于方式1

MOVTH0,#(65536-1000)/256。

装入计数初值

MOVTL0,#(65536-1000)MOD256

MOVIE,#82H。

开中断

LOOP:

JBP1.0,STOP。

判断P1.0是否按下

SETBTR0。

启动T0定时器

ACALLDELAY。

等中断约3.2s

STOP:

CLRP1.7。

关声音

CLRTR0。

关闭T0定时器

SJMPLOOP。

反复

————————————T0中断服务程序————————

INT_T0:

MOVTH0,#(65536-1000)/256。

重新装入计数值

MOVTL0,#(65536-1000)MOD256

INCTCOUNT。

计时计数值+1

MOVA,TCOUNT

CJNEA,#250,I1。

是否计满0.25秒

CPLFLAG。

计时计数值取反

MOVTCOUNT,#00H。

计时计数值清零

I1:

JBFLAG,I2。

检查标志位

CPLP1.7。

声音输出

SJMPRETUNE

I2:

CLRP1.7。

关声音

RETUNE:

RETI。

中断返回

DELAY:

MOVR1,#0FFH。

延时约3.2秒

DEL1:

MOVR2,#0FFH

DEL2:

MOVR3,#09H

DEL3:

NOP

NOP

NOP

DJNZR3,DEL3

DJNZR2,DEL2

DJNZR1,DEL1

RET

END

3、技能提高

任选一首歌曲,编制歌谱表,由单片机演奏,实现音乐门铃。

《BABYDON’TCRY》

程序三:

ORG0000H

LJMPSTART

ORG000BH。

T0中断矢量

LJMPINT_T0

START:

MOVSP,#50H

MOVTMOD,#01H。

置T0工作于方式1

SETBET0

SETBEA。

开中断

MAIN:

CLRSPEAKER。

静音

NSP:

JBKEY,NSP。

如果按钮没按下,等待

LCALLDELY10MS。

10ms延时

JBKEY,NSP。

如果按钮没按下,等待

MOVDPTR,#SONG

LOOP:

CLRA

MOVCA,@A+DPTR

MOVR1,A。

音符定时值高位

INCDPTR

CLRA

MOVCA,@A+DPTR

MOVR0,A。

音符定时值低位

ORLA,R1

JZNEXT0。

如果是停止符00,到NEXT0

MOVA,R0

ANLA,R1

CJNEA,#0FFH,NEXT。

如果不是结束符FFH,到NEXT

CLRTR0

LJMPMAIN

NEXT:

MOVTH0,R1。

定时器初值

MOVTL0,R0

SETBTR0。

启动定时器T0

SJMPNEXT1

NEXT0:

CLRTR0。

停止定时器T0

CLRSPEAKER。

静音

NEXT1:

CLRA

INCDPTR

MOVCA,@A+DPTR

MOVR2,A。

节拍延时常数

节拍延时

LOOP1:

LCALLDELY25MS

DJNZR2,LOOP1

INCDPTR。

下一个音符的地址

LJMPLOOP。

演奏下一个音符

————————延时子程序————————————————

DELY25MS:

MOVR6,#50。

延时25ms

D1:

MOVR7,#245

DJNZR7,$

DJNZR6,D1

RET

DELY10MS:

MOVR6,#20。

延时10ms

D2:

MOVR7,#248

DJNZR7,$

DJNZR6,D2

RET

————————————T0中断服务程序—————————

INT_T0:

MOVTH0,R1。

定时器初值

MOVTL0,R0

CPLSPEAKER。

声音输出

RETI

——————————BABYDON`TCRY乐谱——————————SONG:

 

4、计数器应用

设用内部定时器/计数器1的计数功能,工作在方式2,实现计数5次产生中断使P1.7所接发光二极管闪烁。

程序四:

ORG0000H

LJMPMAIN

MAIN:

MOVTMOD,#60H:

采用T1方式2

MOVTH1,#0FBH:

装入初值

MOVTL1,#0FBH

SETBET1

SETBEA;允许中断

SETBTR1:

启动定时器

SJMP$:

等待中断

ORG001BH。

中断服务程序

MOVR0,#10H

MOVA,#0FEH;重新设置初值

LOOP:

MOVP1,A

ACALLDELAY

RLA

DJNZR0,LOOP

MOVP1,#0FFH

RETI

DELAY:

MOVR3,#250

D2:

MOVR4,#250

D1:

NOP

DJNZR4,D1

DJNZR3,D2

RET

END

4、软、硬件调试仿真(效果图)

(实现“滴、滴”报警声)和(实现“滴、滴”报警门铃)和(音乐门铃)的软、硬件调试仿真(效果图)

计数器的软、硬件调试仿真(效果图)

 

任务二简易演奏器

一、任务设计要求

1、基本要求

利用定时器的定时功能,分别产生三个声音的方波,驱动扬声器发音,由三个按键控制演奏DO、RE、MI三个声音。

残骛楼諍锩瀨濟溆塹籟。

二、设计过程

1、设计方案确定

2、硬件电路设计

3、软件设计

(1)、绘制流程图

(2)、编写源程序:

1个程序

ORG0000H

SJMPSTAR

DLY:

MOVR2,#20。

延时程序10ms--(去抖动处理)

D1:

MOVR3,#248

DJNZR3,$

DJNZR2,D1

RET

ORG0030H

STAR:

MOVTMOD,#1。

T0-方式1

MOVP3,#0FFH。

P3口置1

JNBP3.0,DOS。

P3.0按下,转移到DOS

ACALLDLY

JNBP3.1,RES。

P3.1按下,转移到ERS

ACALLDLY

JNBP3.2,MIS。

P3.2按下,转移到MIS

ACALLDLY

SJMPSTAR

DOS:

MOVTH0,#0FCH。

DO-定时器初值

MOVTL0,#44H

SETBTR0。

启动定时器

JNBTF0,$。

延时时间到否?

CLRTF0。

清中断标志位

CPLP2.7。

关声音

JNBP3.0,DOS。

再次判断-P3.0按下,转移到DOS

CLRTF0。

清中断标志位

SJMPSTAR。

返回主程序

RES:

MOVTH0,#0FCH。

RE-定时器初值

MOVTL0,#0ACH

SETBTR0

JNBTF0,$

CLRTF0。

清中断标志位

CPLP2.7。

关声音

JNBP3.1,RES。

再次判断-P3.0按下,转移到DOS

CLRTF0

SJMPSTAR

MIS:

MOVTH0,#0FDH。

MI-定时器初值

MOVTL0,#09H

SETBTR0

JNBTF0,$

CLRTF0。

清中断标志位

CPLP2.7。

关声音

JNBP3.2,MIS。

再次判断-P3.0按下,转移到DOS

CLRTF0

SJMPSTAR

END

4、软、硬件调试仿真(效果图)

3、设计总结

经过这次作业练习,使得我们更加熟练掌握51单片机的定时/计数器的内部结构、工作原理。

并且更掌握延时程序、发音程序的编写。

更学会运用定时器的几种工作方式编写延时程序,能用定时器查询方式和中断两种方式编写控制程序。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

酽锕极額閉镇桧猪訣锥。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2