实训二电子琴Word文档下载推荐.docx

上传人:b****2 文档编号:924340 上传时间:2023-04-29 格式:DOCX 页数:17 大小:120.35KB
下载 相关 举报
实训二电子琴Word文档下载推荐.docx_第1页
第1页 / 共17页
实训二电子琴Word文档下载推荐.docx_第2页
第2页 / 共17页
实训二电子琴Word文档下载推荐.docx_第3页
第3页 / 共17页
实训二电子琴Word文档下载推荐.docx_第4页
第4页 / 共17页
实训二电子琴Word文档下载推荐.docx_第5页
第5页 / 共17页
实训二电子琴Word文档下载推荐.docx_第6页
第6页 / 共17页
实训二电子琴Word文档下载推荐.docx_第7页
第7页 / 共17页
实训二电子琴Word文档下载推荐.docx_第8页
第8页 / 共17页
实训二电子琴Word文档下载推荐.docx_第9页
第9页 / 共17页
实训二电子琴Word文档下载推荐.docx_第10页
第10页 / 共17页
实训二电子琴Word文档下载推荐.docx_第11页
第11页 / 共17页
实训二电子琴Word文档下载推荐.docx_第12页
第12页 / 共17页
实训二电子琴Word文档下载推荐.docx_第13页
第13页 / 共17页
实训二电子琴Word文档下载推荐.docx_第14页
第14页 / 共17页
实训二电子琴Word文档下载推荐.docx_第15页
第15页 / 共17页
实训二电子琴Word文档下载推荐.docx_第16页
第16页 / 共17页
实训二电子琴Word文档下载推荐.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实训二电子琴Word文档下载推荐.docx

《实训二电子琴Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实训二电子琴Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。

实训二电子琴Word文档下载推荐.docx

时钟电路

复位电路

三、硬件系统原理图:

硬件系统原理图如下页图:

1.频率、声音的实现和产生

单片机的频率和声音输出的原理是,利用琴键控制定时器的开中断和闭中断,即实现发音和闭音。

在此期间再通过对定时器的定时时间进行控制来产生不同频率的方波,驱动嗡宁器发出不同音阶的声音。

把C调中相应琴键对应的音符变换为定常数,作为数据表格存放在存储器中。

由程序查表得到定时常数,用以控制定时器产生方波的频率。

当下一个琴键按下时,再查下此琴键所对应音符的定时常数。

依次进行下去,就可以演奏出自己所要的歌曲。

用定时器T0方式0来产生琴键对应音符的频率的方波,由P1.0输出驱动嗡宁器。

单片机所用的晶振的频率为6MHz,琴键所对应音符、频率及定时常数三者之间的对应关系如下所示。

C调音符

7

1

2

3

4

5

6

频率(Hz)

494

524

588

660

698

784

880

988

半周期(ms)

1.01

0.95

0.85

0.76

0.72

0.64

0.57

0.51

定时值

FE07

FE25

FE57

FE84

FE98

FEC0

FEE3

FF01

2.键盘的方案选择

此系统琴键输入是通过独立式键盘来完成的。

由于8051单片机的八位I/O口足以能实现控制C调各音阶的输出,并且独立式键盘的编程容易易懂,结构简单,实现起来方便,而且每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,所以采用独立式键盘。

P0.0~P0.7口分别对应琴键1~7输入,如下图所示。

●关于键盘的抖动问题的分析和解决

当用手按下一个键时,如图3所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;

在释放一个键时,也回会出现类似的情况。

这就是抖动。

抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。

很容易想到,抖动问题不解决就会引起对闭合键的识别。

用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码。

图4键抖动信号波形

延迟10ms的程序为:

MOVR1,#100;

执行次数为1

D1:

MOVR2,#98;

执行次数为100

NOP;

D2:

DJNZR2,D2;

执行次数为100ⅹ98

DJNZR1,D1;

执行次数为48

延迟时间与指令执行时间有密切的关系。

在使用6MHz晶振时,一个机器周期为0.5μs,执行一条MOV指令时间为0.5μs,执行一条DJNZ指令时间为1μs。

则实际延迟时间=1ⅹ0.5+100ⅹ0.5+100ⅹ0.5+100ⅹ98ⅹ1+98ⅹ1=99.985≈10ms。

4.放大电路分析

此部分的放大电路简单容易实现。

可以采用一个小功率PNP型硅管9012,

放大电路输出原理图

利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。

分压电阻分别选择1K和5.5K。

蜂鸣器一端接+5V电压,一端接晶体管的发射极。

由P1.0

输出预定的方波,加到晶体管进行放大,再输出到嗡宁器,很好的实现了频率、声音的转换。

5.时钟电路分析

此系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。

MCS-51内部有一个用于构成振荡器的高增益反相放大器。

引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。

外接晶体谐振器以及电容CX1和CX2构成并联谐振电路,接在放大器的反馈回路中。

对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。

因此,此系统电路的晶体振荡器的值为6MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。

在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。

图6为复位电路的原理图。

复位电路原理图

MSC-51片内振荡电路

图▉时钟电路原理图

6.复位电路的论证和分析:

MS-51的复位是由外部的复位电路来实现的。

片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。

复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如图7所示。

当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1KΩ。

四、系统软件设计

1、系统程序流程如图所示:

程序开始

延迟10ms

读P0口的状态

Y

再读P0口的状态

判断是否是抖动

N

启动定时器T0

判断是几号琴键,

并跳转到相应的程序

查表得相应琴键的定时初值

等待中断,并判断此次琴键是否被释放

中断程序流程图

主程序流程图

2、程序清单:

ORG0000H

LJMPMAI

ORG000BH

LJMPTIM

MAI:

CLRTR0;

关闭上一次定时,进入下一次按键判断

MOVTMOD,#01H

MOVIE,#82H

MOVA,P1

MOV30H,A;

保存键盘状态值

LCALLD10MS;

延迟10ms消除抖动

MOVA,P1;

再读键盘状态

CJNEA,30H,MAI;

两次结果不同,是抖动引起,转MAI

JNBP0.0,N1

JNBP0.1,N2

JNBP0.2,N3

JNBP0.3,N4

JNBP0.4,N5

JNBP0.5,N6

N6:

LJMPLA;

JNB的跳转范围限定在256B,所以用LJMP跳转

JNBP0.6,N7

N7:

LJMPXI

JNBP0.7,N8

N8:

LJMPDO

N1:

MOVDPTR,#TAB;

设定音阶1的定时时间

MOVA,#00H

MOVCA,@A+DPTR

MOVR1,A

MOVA,#01H

MOVCA,@A+DPTR

MOVR0,A

MOVTH0,R1

MOVTL0,R0

SETBTR0

RE1:

JBP0.0,MAI;

判断琴键1是否释放

AJMPRE1

N2:

设定音阶2的定时时间

MOVA,#02H

MOVA,#03H

MOVTL0,R0

RE2:

JBP0.1,MAI

AJMPRE2

N3:

设定音阶3的定时时间

MOVA,#04H

MOVA,#05H

RE3:

JBP0.2,MAI

AJMPRE3

N4:

设定音阶4的定时时间

MOVA,#06H

MOVA,#07H

RE4:

JBP0.3,A1

AJMPRE4

A1:

N5:

设定音阶5的定时时间

MOVA,#08H

MOVA,#09H

RE5:

JBP0.4,A2

AJMPRE5

A2:

LA:

设定音阶6的定时时间

MOVA,#0AH

MOVA,#0BH

RE6:

JBP0.5,A3

AJMPRE6

A3:

XI:

设定音阶7的定时时间

MOVA,#0CH

MOVA,#0DH

RE7:

JBP0.6,A4

AJMPRE7

A4:

DO:

MOVA,#0EH

MOVA,#0FH

RE8:

JBP0.7,A5

A5:

TIM:

MOVTH0,R1;

重装定时器初值

CPLP1.0

RETI;

中断返回

D10MS:

MOVR1,#100;

延时10ms子程序

MOVR2,#98

NOP

DJNZR2,D2

DJNZR1,D1

RET

TAB:

DB0FEH,25H

DB0FEH,57H

DB0FEH,84H

DB0FEH,98H

DB0FEH,0C0H

DB0FEH,0E3H

DB0FFH,01H

DB0EFH,07H

END

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

当前位置:首页 > 经管营销 > 经济市场

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

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