吉他行者
UID931692
好友
回帖0
主题
精华
积分518
阅读权限255
注册时间2008-12-23
最后登录1970-1-1
在线时间 小时
|
自已用89C52单片机做的MIDI program change控制器
我用来控制yamaha 01V ,01V的场景变换是通过 program change改变的
这个控制器也可以用来控制CUBASE的音源音色变换 达到一键切换的效果 很方便
http://v.youku.com/v_show/id_XNjY0NjQ3Mjcy.html?qq-pf-to=pcqq.c2c
http://v.youku.com/v_show/id_XNjY0NjU1NDQ0.html
89C52单片机使用6M晶振,设置正确的波特率(31250)即可发出MIDI信号
void format()
{
TMOD=0x21; //T/C1工作于8位自动装入状态//
TL1=0xff; TH1=0xff ; // T/C1常数,确定波特率/31250/
SCON=0x50 ; //设串口工作于方式1,//
PCON=0x80 ; //相当于SMOD=1;//
TR1=1; //T/C1开始计数//
}
//=========串口设置函数=========
//=========命令发送函数=======================
void send(uchar cc,kk)
{
TR1=1; //开计数器
SBUF=cc; //写入寄存器
while(TI==0);//等待发送结束
TI=0; //清发送标志//
SBUF=kk; //等待发送结束
while(TI==0);
TI=0;
TR1=0;} //关闭计数器
//=========主函数=======================
void main()
{
format();
send(0xc0,a)//a为program change值
}
//=========END=======================
下一步就是制作外壳 买一个按得更舒服的键盘
[ 本帖最后由 djhuanghao 于 2014-1-22 13:02 编辑 ] |
|