项目四 电子琴的制作
一、设计目的
通过该设计,掌握 8253 定时计数的基本原理和应用,掌握 8255 并行接口芯
片的使用,掌握普通键盘的设计,并掌握相应的程序设计和电路设计的技能。是
对 8253 定时计数章节理论学习的总结和补充,为后续的硬件课程的学习打下基
础。
二、设计内容
利用 KB-C 扩展板提供的 18 个按钮开关,作为电子琴的按键,能够演奏简单
的音乐,按键能实现“1-多,2-来,3-米…”,且单个音发音的长短由按键所按
下的时间决定,即:某按钮按下时开始发声,松开时结束发音。按钮与 8255A
的连接见原理部分。其中 8255A 负责检测按键,8253 负责产生各种频率的声音。
三、基本原理
在 KB-C 板上,端口 A 负责发按键扫描信息,端口 C 的低 3 位,即 PC0、PC1、
PC2,负责接收扫描结果,如下图所示,先定时通过端口 A(PA0,PA1,PA2,PA3,
PA4,PA5)扫描各按钮,即先 PA0=0,其它为 1 发信号,然后 PA1=0,其它为 1…,
端口发出 1 个信号后,即读端口 C,如果 PC0,PC1,PC2 全为高电平,说明无按
钮按下,如果 PC0 为低电平(PC1,PC2 肯定为高电平),且此时,端口扫描的情
况是:PA0=1,PA1=0,PA2=1,…则说明 SW1 被按下。
发出各种不同的声音的原理见实验指导书中的音乐发生器实验。
下表为 2 个八度的音阶表:
音符
频率 Hz
音符
1.
131
1
2.
147
2
3.
165
3
4.
175
4
5.
196
5
6.
220
6
7.
247
7
i
频率 Hz
262
294
330
349
392
440
494
523
四、设计步骤
1.电路设计:根据设计内容,通过分析,设计出相应的电路图。
2、控制字设计:根据要求,设计出各自 8255 的控制字和 8253 控制字。
3、程序设计:根据要求,设计程序流程图,并设计相应的程序。
4、验证:在实验室具体测试和验证。
实验七 音乐发生器接口实验
一、实验类型
设计性实验(选做)。
二、实验目的和任务
通过音乐发生器实验,学习如何利用 8253 定时/计数器进行声音控制电路
的设计原理与方法。
三、预习要求
预习第 7 章 8253。
四、实验原理
1.音乐发生器驱动模块电路原理如图 2.1.12 所示。模块包含喇叭 SPK,
LM386A,74LS08,以及 74LS245 和 LED 等。其中 LED 是配合演奏音乐时产生发光
效果而设置的。
50
芯
扩
展
总
线
20
芯
定
时
器
/
并
行
口
插
座
图 2.1.12 音乐发生器模块板电路原理框图
2.利用 8253 控制发声原理与方法的详细阐述,参考计算机接口技术相关
参考书.
五、实验仪器与设备
1、MFID 微机实验平台,1 台
2、PC 微机,1 台,专用导线, 若干
4、MASM 汇编及调试程序(MF 开发环境),1 套
六、实验内容
基本实验 通过编程使音乐发生器奏出音乐.
利用 MFID 实验平台和音乐发生器模块进行硬件连接,利用 MF2KI 集成开发
环境进行音乐发生器控制程序设计,调试,直至听到正常的乐曲。
七、实验步骤
1、硬件连线
跳线设置:将电源模块的 JP7 跳接.
单线连接如右图:
F 区
PC0
Q 区
门控(启/停)
控制(音调)
E 区
OUT2
J3
20
心
并
行
口
插
座
连接线
J4
20
芯
并
行
口
插
座
排线连接如右图:
2、流程图
主程序流程图
开始
初始化歌曲的频率及时延
初始化歌曲的频率及时延
初始化 8255 和 8253
取歌曲的第一个音符的频率和时延
是否按了任意键或遇
到了音符频率的结束
N
Y
根据频率计算计数初值并送往 8253
置 8255 的 PC6、PC0 为 0,再次关闭扬声器
置 8255 的 PC6、PC0 为 1,使扬声器发声
调用延时子程序
置 8255 的 PC6、PC0 为 0,关闭扬声器
取下一个音符的频率和时延
(a)主程序
返回 DOS
结束
延时子程序流程图
获取并保存中断 1CH 的中断向量
向中断 1CH 装入新的中断向量
音符的延时次数已到?
N
Y
恢复中断 1CH 原来的中断向量
(b)延时子程序
图 2.1.13 音乐 ASM 程序流程图
开始
获取中断 0X1C 的中断向量
设置新中断向量
初始化 8255
初始化 8253
取歌曲的第一音符的
频率及时延
是歌曲的结束符或
任意键按下?
N
按音符频率计算计数
初值并装入 8253
打开扬声器
置 PC6=1,PC0=1
音符的延时到否?
Y
关闭扬声器
置 PC6=0,PC0=0
Y
N
关闭扬声器
置 PC6=0,PC0=0
恢复中断 0X1C
的中断向量
结束
取下一个音符的频率 与时延
图 2.1.14 音乐 CPP 程序流程图
Iexp5.C 流程图
八、实验注意事项
1、严格按要求操作,实验完毕请老师检查实验结果后方可离开。
2、实验报告上一定写出程序详单,以及程序运行情况。
九、实验报告要求
根据大纲和实验指导书书写实验报告。