当前位置:首页 > (最新版)基于51单片机的电子琴毕业设计论文
3.2软件设计模块化 3.2.1初始化程序
初始化程序的主要作用是定义一些变量的初值以及对中断、定时器的初始化。在初始化程序中对变量赋初值,并要对中断进行设置,也要对定时器进行设置。根据这个思路,初始化程序如下 *******初始化数据***** void init(void) {
speaker=0;关蜂鸣器 LED1=1; LED2=0; EA=1;开总中断
TCON=0x01;外部中断0设置为边沿触发 EX0=1;开外部中断0 ET0=1;开定时器0中断 ET1=1;开定时器1中断
TMOD=0x11;定时器0,1工作在定时状态,均为方式1 }
3.2.3键盘扫描
键盘是人与单片机通信的重要接口。合适的键盘扫描程序能使单片机准确的运行。
3.2.5显示程序
本设计采用的共阴极数码管作为数据显示。采用的数码管动态显示,可以节约单片机的IO口,为以后的扩展做准备。
3.2.6发声程序
在完成了键盘服务子程序后,我们就知道了具体是哪一个键被按下了,下一步就是要让喇叭发出这个按键所特有的音符。我们知道,每个音符之所以不同是因为它们都有各自不同的频率,而我们正好可以利用89S52中的定时器来产生不同的频率以达到这个目的。我们只要对定时器T1的初值进行合理的设置
5 就可完成这个工作,我们根据电子琴的音符频率表来为定时器赋初值。主要是根据一张频率表,表如下所示:
表 3-1 电子琴音符频率表 音符
频率(HZ) 简谱码(T
值)
低1 DO 262 #1 DO# 277 低2 RE 294 #2 RE# 低 3 M
311 330
63628 63731 63835 63928 64021 64103 64185 64260 64331 64400 64463 64524 64580 64633 64684 64732 64777
# 4 FA# 740 中 5 SO 784 # 5 SO# 831 中 6 LA 880 # 6
932
音符
频率(HZ) 简谱码(T
值) 64860 64898 64934 64968 64994 65030 65058 65085 65110 65134 65157 65178 65198 65217 65235 65252 65268 65283
低 4 FA 349 # 4 FA# 370 低 5 SO 392 # 5 SO# 415 低 6 LA 440 # 6
466
中 7 SI 988 高 1 DO 1046 # 1 DO# 1109 高 2 RE 1175 # 2 RE# 1245
高 3 M
1318
低 7 SI 494 中 1 DO 523 # 1 DO# 554 中 2 RE 587 # 2 RE# 622 中 3 M
659
高 4 FA 1397 # 4 FA# 1480 高 5 SO 1568 # 5 SO# 1661 高 6 LA 1760 # 6
1865
中 4 FA 698 64820
高 7 SI 1967
有了这张表,我们就可以顺利地完成发声程序的编写了。根据以上的思路以
及频率表可以写出发声程序如下: code unsigned char FH[]={ 中音
0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
6 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,低音的高8位
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, }; 音阶频率表 低八位 code unsigned char FL[]={ 音
0x21,0xDB,0x87,0xD7,0x68,0xE8,0x5B,低音的低8位
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, };
void timer1() interrupt 3 { TR1=0; TH1=FH[7*m+n];
TL1=FL[7*m+n]; 对T1的赋值 speaker=~speaker;产生脉冲 TR1=1;
}
3.3软件调试
4 Proteus软件仿真 5课程设计体会 参考文献 附1:源程序代码 附2:系统原理图
1 概述
0x8E,0xED,0x44,0x6B,0xB4,0xF4,0x2D,中
7 1.1 二级标题(宋体、小四,固定值22磅。以下相同要求)
本文……….. 参考文献
书、专著:
如:[1] 贾宗璞,许合利.C语言程序设计.江苏:中国矿业大学出版社,2007. [2] 余发山,王福忠.单片机原理及应用技术.江苏:中国矿业大学出版社,2008.
期刊论文:
[序号] 主要责任者. 文献题名. 刊名,年,卷(期):起止页码
如:[1] 金显贺,王昌长,王忠东,等.一种用于在线检测局部放电的数字滤波技术.清华大学学报(自然科学版),1993,33(4):62-67
书、专著:
[序号] 主要责任者.文献题名.出版地:出版社,出版年.起止页码
如:[1] 刘国钧,陈绍业,王凤翥.图书馆目录.北京:高等教育出版社,1957.15-18
电子文献:
[序号] 主要责任者.电子文献题名.电子文献的出处或可获得地址,发表或更新日期引用日期 如:[1] 王明亮.关于中国学术期刊标准化数据库系统工程的进展. pubwml.txt.=0; uchar m,n;
bit a=0;a为change键的键值 uchar seg[]={ 0x3F,*0* 0x06,*1* 0x5B,*2* 0x4F,*3* 0x66,*4* 0x6D,*5* 0x7D,*6* 0x07,*7* 0x7F,*8*
8
共分享92篇相关文档