云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > (最新版)基于51单片机的电子琴毕业设计论文

(最新版)基于51单片机的电子琴毕业设计论文

  • 62 次阅读
  • 3 次下载
  • 2025/12/12 7:20:44

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

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

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显示程序 <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com