实验一 IO 口应用
------用独立按键模拟电子琴键盘发声
一、 实验目的
1、 熟悉 Keil 软件的使用;
2、 熟悉独立按键状态识别技巧;
3、 熟悉蜂鸣器驱动电路,及蜂鸣器发声频率控制方法。
二、 实验内容及原理
1、 独立按键
图 1 独立按键硬件结构
开发板四个独立按键与单片机 STP89C52 连接关系如图 1。可见,当 S2 按下
时,P3.4 引脚为低电平,否则为高电平;S3 按下时 P3.5 为低电平;S4 按下时
P3.6 为低电平;S5 按下时 P3.7 为低电平。
2、 蜂鸣器
开发板电路使用了单片机的 I/0 口 P2.3 来控制蜂鸣器。
但并没有直接用 P2.3 控制蜂鸣器,而是通过 PNP 三极管间
接控制。这是因为单片机的 I/0 口的输入输出电流有限,不
能满足蜂鸣器鸣响所需要的电流。而该三极管最大可以提供
1A 以上的电流,足以驱动蜂鸣器,所以使用 P2.3 控制 PNP
三极管的导通和截止,从而达到控制蜂鸣器的目的。
向 P2.3 写出逻辑“1”时,P2.3 输出+5V,三极管的基极电
流为 0,三极管处于截止状态,电源+5V 不能加到蜂鸣器的
正极,蜂鸣器不鸣响;向 P2.3 写出逻辑“0”时,P2.3 输出
0V,三极管导通,图 2 中限流电阻 R5 取合适的值,可以使
三极管处于饱和导通状态,电源+5V 通过三极管的发射极和
集电极加到蜂鸣器的正极,有电流流过蜂鸣器的正极和负极,
有源蜂鸣器就开始鸣响。
3、 电子琴键盘音阶频率
电子琴部分音阶与频率对应关系如表 1 所示。当单片机 P2.3 输出相应频率
的方波给蜂鸣器时,蜂鸣器便发出对应频率的音阶。
表一 电子琴键盘音阶频率对照表(频率单位:Hz)
音阶
1
2
3
4
5
6
7
频率
261.632
293.672
329.636
349.237
392.005
440.010
493.895
三、 实验步骤
1、 使用 Keil 编译软件,建立文件夹用来保存当前工程,文件夹以班级学号
姓名来命名;新建 C51 工程文件*.uvproj 并保存在当前文件夹中;建立新
的*.c 文件保存并将其加入到当前工程中。单片机芯片选择 AT89C52。
2、 在*.c 的文件中编写程序,实现以下功能:
按下独立按键 S2 时,使蜂鸣器发出“do”的音;按下 S3 发出“re”的音;
按下 S4 发出“mi”的音,按下 S5 发出“fa”的音。
独立按键优先级排列顺序依次为:S2S3S4S5
3、 编译链接工程文件,生成*.Hex 文件;