MIDI命令简表 命令代码 (cc) | 命令说明 | 数据kk含义及说明 | 数据vv含义及说明 | 8+ 通道号 | 关闭音符 | 对应的MIDI音符0-127 | 关闭音符的速度值 | 9+ 通道号 | 开启音符 | 对应的MIDI音符0-127 | 压下琴键的速度值(力度) | A+ 通道号 | 触后压力 | 对应的MIDI音符0-127 | 对应音符的触后压力值 | B+ 通道号 | 控制器 | 控制器号0-77 77-7F为通道模式信息 | 控制器值 | C+ 通道号 | 音色切换 | 音色号0-127 | 无该字节数据 | D+ 通道号 | 通道压力 | 该通道全部键盘的触后压力 | 无该字节数据 | E+ 通道号 | 弯音轮 | 弯音轮低位数据 | 弯音轮高位数据 | F | 系统普通信息、实时信息、及高级信息代码 | 忽略 | 忽略 |
前面已经介绍过,MIDI信号是单向的数据流,输出设备不管接收设备的状态,只是连续发出命令,因此,MIDI键盘作为发送设备,只需输出,对于51单片机,其TXD即可作为MIDI信号的输出口,若不用转发别的MIDI设备信号,RXD实际上就没必要使用了。用51单片机的TXD脚,与声卡的MIDI-IN脚(15脚)相连,就可以很好的产生所需的MIDI信号,驱动声卡。这种连接方式并不是 MIDI协议中规定的标准的驱动方式,在MIDI协议中,采用了隔离传输的方式,两个设备不是共地的,本文介绍的电路,由于要从MIDI接口取电,必然形成共地的连接方式,这样,直接用单片机的高电平输出5mA电流,低电平电流接近0,就能工作,但由于不是隔离传输,传输距离不能太长。
|