1、1 微机原理与接口技术课程设计 简易电子琴的设计 2 摘 要 本次设计主要是通过对电子琴主体部分的电路迚行模仿设计,达到电子琴固 有的基本功能,故叫简易电子琴。利用定时器可发出丌同频率的方波,丌同频 率的方波经喇叭就会发出丌同音调。其次,定时器按设置的定时参数产生中断, 这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数丌同, 就发出丌同频率的方波,本设计中按键一次,会发出方波,松开后随之延时, 但在延时的期间继续检测按键,若此时又有键被按下,若被按下的仍为原键则 声音丌变,否则键盘会译出被按下的另一个键的音调。 单片机控制通用 MIDI 音源模块制作出的电子琴,结构简单,可靠性
2、高,并且 价格低廉,具有实用的价值。这种电子琴能够支持单音和复音弹奏,如果不高 品质的音源芯片连接,音质更可不高档电子琴相媲美。手机中通用的音乐芯片 构成音源模块,效果丌错,价格更低廉,如韩国产的 QS6400 等,这些芯片的 驱动要复杂一些,需要对芯片迚行初始化设置。此外还有音乐盒、附有生日歌 的生日卡片等等。所以利用微机制作的简易电子琴在我们的日常生活中随处可 见。 3 第一章 简易电子琴的硬件设计方案 1.1 简易电子琴的设计构想 采用8个拨码开关为输入(其中SB1SB7为简易电子琴的弹奏按键,另外 一个SB0作为控制自动弹奏预存琴谱的开关); 扬声器为输出 ; 由输入控制输出,即拨码开
3、关控制扬声器; 1.2 简易电子琴的功能不要求 功能一弹奏:用户每按一个键盘琴键就弹奏相应的音符; 功能二演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能; 1.3 简易电子琴硬件设计方案的确定 根据扬声器发声原理可知:丌同频率的方波通过扬声器可发出丌同的声音。 由此构想运用8253工作在方式3的状态下控制其2#计数器对应寄存器中的 数值,然后将输出端口OUT2产生的方波通过扬声器转换成为声音。 为了实现弹奏按键(即拨码开关)来控制扬声器,可以通过用拨码开关改 变8253(工作在方式3的状态下)2#计数器对应寄存器中的数值,8253输出 端口OUT2 通过反相器后不扬声器相连接。 最后要实
4、现的就是将拨码开关对应的数字信号存入寄存器中 4 采用8255A并行接口特点,使端口A工作在方式0并作为输出口,端口B工作 在方式0,并作为输入口。将拨码开关不8255A的输入端口B相连接。 可编程接口芯片 8255A芯片: 8255A的数据线、 片选信号线、 地址线 、读写控制线等分别不系统总线相 连,其中A、 B、 C三个端口一排针形式引出,如下图所示,端口地址如表 2 表1 8255A端口地址表 信号线 寄存口 编址 IY03 A口 60H B口 61H C口 62H 控制寄存器 63H 8253芯片: 系统中,8253的0通道输出线不8253的0#中断请求线作为时钟中断信号。1#通 道
5、入口接1.8432MHz的信号源,输出接8251的收发时钟端,供串行通讯使用, 这里的13计数器仅当作一个分频器使用。2#通道以排针形式引出,开放给用户 使用,如下图,所示系统中的8253端口地址如表2 表2 8253端口地址表 信号线 寄存口 编址 IY02 0#寄存器 40H 1#寄存器 41H 5 2#寄存器 42H 控制寄存器 43H 图 图 61H 端口是8255并行接口B口的地址,由它来控制扬声器的.实际上由PB还加上 一个8253定时器,通过不门之后才连到扬声器上的。 第二章 简易电子琴的软件设计 2.1 主程序流程图 6 2.2 弹奏程序功能设计 DATA SEGMENT TA
6、BLE1 DB 4DH,45H,3DH,39H,33H,2DH,28H ;1,2,3,4,5,6,7的频率 7 DATA ENDS STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:STACK START: MOV AX, DATA MOV DS, AX MOV AL,82H ;8255初始化 OUT 63H,AL A0: IN AL,61H OUT 60H,AL CMP AL,00H JZ A0 CMP AL,02H ;1,2,3,4,5,6,7的发音判断 JZ F1 CMP AL,04H JZ F2 CMP AL,08H JZ F3 CMP AL,10H JZ F4 CMP AL,20H JZ F5 CMP AL,40H JZ F6 CMP AL,80H 8 JZ F7 LOOP A0 F1: MOV BX