1、- 1 - 摘 要 微机原理课程设计设计简易电子琴 本实验是利用微机原理试验箱、8255 芯片、8254 芯片、键盘、扬声器等硬件设备, 设计简易电子琴。 首先利用了编程程序, 编辑了 8255 芯片控制字, 对其进行初始化, 使其工作在方式 0, 即基本输入输出状态,将 8255 的 A 端口设置为输出,C 端口进行,经 CPU 运算后, 输出到 8254 芯片中,由此实现对其的初始化。 将 8254 芯片设置为工作在方式 3,即输出对称方波状态。A 端口为输入, “OUT”指 令可将输出对应一定频率的方波送到扬声器中,由此实现发声。本实验通过频率大小控制 发出声音的高低,通过对延时程序的调
2、用控制发出声音的长短。 并通过所编程序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。 关键词 8254 芯片 8255 芯片 电子发声元件 键盘 - 2 - 目 录 摘要.1 目录 2 1. 实验内容.3 2. 实验要求.3 3. 工作原理工作原理.3 3.1 按键部分按键部分.3 3.2 发声部分.3 4. 程序流程图.4 4.1 按键部分按键部分 .4 4.2 发声部分.5 5. 硬件连接图及音符频率硬件连接图及音符频率.6 6. 芯片简介.7 6.1 8254 芯片简介7 6.2 8255 芯片简介8 7. 程序代码.10 7.1 按键部分代码.10 7.2 发声部分代码.14
3、8. 键盘与数码显示管工作原理键盘与数码显示管工作原理.17 总结.18 致谢.19 参考文献.20 - 3 - 正文正文 1. 实验内容实验内容: 利用定时/计数器 8254 实现音乐演奏。 2 实验实验要求要求:(1)配合延时和控制程序控制扬声器发声(演奏音乐) 。 (2)把键盘当作电子琴按键进行演奏。 3 工作原理工作原理 3.1 按按键部分键部分 本程序是通过并行接口芯片 8255 对键盘进行扫描(对于键盘单元的工作原理见正文 第 9 点) ,将 8255 芯片的 PA0PA4,PC0PC4 它们分别与键盘伤的 X1X4,Y1Y4 相 连, 根据控制字 81H,决定工作在方式 0,A
4、端口和 B 端口输出,C 端口输入,由其 C 口将 按键情况输入到 CPU 中,在 CPU 中进行一系列运算,通过定时器 8254 将不同频率的波形 经 OUTO 输入到扬声器中,从而实现扬声器的发音。 本实验中 8254 的工作方式为方式 3 ,输出的波形为对称方波。由于系统中 8254 的 CLK 端已固定接好频率为 1MHZ 的方波信号,所以要控制其输出端 OUT0 输出不 同的频率只要根据通过写入不同的计数初值就能实现。 公式为: CLK0 端的输入频率/OUT0 端的输出频率=计数初值 N 通过频率的大小控制音阶的不同,通过延时程序控制发音的长短,由此达到实验要求。 3.2 发声部分发声部分: 发生部分由 8254 完成:一个音符对应一个频率,将对应一个音符频率的方波通到 扬声器上,就可以发出这个音符的声音。将一段乐曲的音符对应频率的方波依次送到扬声 器,就可以演奏出这段乐曲。利用 8254 的方式 3“方波发生器”,将相应一种频率的计 数初值写入计数器,就可产生对应频率的方波。计数初值的计算如