1.任务及要求
1.1 任务: 按照音符来设定频率和 8253 定时/计数器的延时时间。8253 的
CLK0 接 1MHz 时钟,GATE0 接+5V,OUT0 接 8255 的 PA0,J1 接喇
叭,编程使计算机的数字键 1、2、3、4、5、6、7 作为电子琴按键,按
下即发出相应的音阶。
1.2 要求:
1.2.1 层以 8255 接八个开关 K1~K8,做电子琴按键输入。
1.2.2 以 8253 控制扬声器,拨动不同的开关,发出相应的音阶。
1.2.3 扩展功能:1、录音:记录所弹奏曲目
2、放录音:任意时刻重放最新记录曲目
2.设计思想
在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和
确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分
为若干模块(子程序,具体可见下)。
2.1、程序设计的思路按以下顺序进行:
2.1.1、 分析与确定程序总体设计目标。
2.1.2、 将总体目标划分为若干模块。
2.1.3、定义每个模块的具体任务,明确它与其他模块间的通信方式
编写源程序,进行调试,包括:
2.1.3.1、简单电子琴主程序
结合实验指导书的两程序,将其分为5个子程序,实现简单的播放和显
示音阶的功能。
2.1.3.2、录音子程序
实现记录弹奏曲目并播放的功能。首先由9触发,将输入的音阶存入缓
存区song中,输入的同时可以发声和显示。当再次按9时录制完成。
2.1.3.3、放音子程序
本子程序实现放音功能。首先从 8279 键盘读出键码,判断,如果键码
不是 1-8 即回到程序开始,如果是,即求出相应的时间常数的序号,取 60