下载此文档

混响电路设计.doc


文档分类:汽车/机械/制造 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
51单片机的调音台混响控制电路[声明:]  由于本文内容过于简单,因此只供51编程初学者参考,高手请飘过。。。[正文:]上午一个朋友打电话说收了个调音台,数码混响电路坏了,一片M65831数码混响IC和一片89C2051控制电路烧得发黄,更换M65831后混响固定为500mS,无法调节。随后发了个图纸给我,简单分析后发现电路并不复杂,89S2051接受两个按键的控制信号,进行增减计数并显示在数码管上,同时输出控制信号(D1~D4)给M65831以控制混响时间。每次设置值改变后都送入一片24C08保存。网上查到了M65831的手册,D1~D4其实就是对应0~16的二进制步进数值。鉴于该电路比较简单,重新编程的过程比较适合初学者参考,因此挖个坑,把重写过程开源供大家参考。[未完待续][本帖最后由DreamonII于2008-12-114:53编辑]电路虽简单,但需要控制的部件还挺多的。。。  ·控制7段数码管,显示0~9,A~F共16个字符;  ·检测两个键的状态,我理解为一键增,一键减,再加个功能:两键同时按为清0;  ·读写24C01(SDA,SCK);  ·控制M65831混响时间(D1~D4计数输出)。老规矩,逐一解决然后整合。注意:以下代码采用KeilC51编写,直接在贴子里边想边写,未测试,写完后再统一调试。为书写方便****惯性定义两个类型:#defineucharunsignedchar#defineuint  unsignedint复制代码由图中可以看出各控制端口的功能定义:#defineLED  P1  //,输出恒为1;#defineCTRL  P3  //~=P1^0;  //向上键sbitKEY_2=P3^7;  //向下键sbitSCK  =P3^4;  //IIC串行时钟,用于读写24C08sbitSDA  =P3^5;  //IIC串行数据,用于读写24C08ucharvalue;      //定义一个变量,用于保存混响值复制代码还不知道会不会有问题,先写着,出错再改。。。再来看数码管显示控制。一提到51控制数码管,第一反应就是查表。定义显示表并不是容易的事,费时费力,好在我有先见之明,很早前就写了51LED代码生成器。。。对照图中接法逐一设置端口与笔段对应关系,注意,由于采用了共阳接法(所有笔段都是低电平点亮),因此要勾选“反相”复选钮。设置好了,点“常用字符集”按钮,生成了0~F共16个数字和一个“-”,再点一下“生成源码”按钮,码表生成好了。。。ucharcodetable[17]={0x03,        0xcf,0x25,0x85,0xc9,0x91,        0x11,0xc7,0x01,0x81,0x41,        0x19,0x33,0x0d,0x31,0x71,        0xfd};复制代码[待续][本帖最后由DreamonII于2008-12-116:43编辑]()下载次数:52008-12-113:50再看看怎么查表显示。。。//在LED上显示数字voidDisplay(ucharch){  LED=table[ch]|0x01;  //查表显示。,以读取键值}复制代码什么????就这么简单???是的啊。。。不然还能怎么样呢????tid=75943&extra=page%3D4我的程序中写的有错误,不更正了。。。[未完待续]再来看看我们伟大的主要功能:混响时间控制。。。//向M65831发送控制信息voidDelayCtrl(ucharval){  uchartemp;  temp=CTRL&0x0f;  //保存非控制信息,并清除控制位  temp|=(val<<4);  //合并控制数据  CTRL=temp;        //这就完了。。。}复制代码好象还差点什么。。。。哦,对了,键“盘”。。。就两个键,这事好办了。。。放在主函数main()里查询就可以了。。。在写main()之前还有些事不得不做。。。首先,俺家51单片机太“快”了。。。如果让它撒开了跑的话,就算你只用1MHz的晶振,也会在你按下键的一瞬间把整段程序跑上几百个来回。。。咋办捏??答对了。。。延时。。。做个嵌套循环来托延一下时间,让51跑慢点。。。//延时。。。voidDelay(ucharn){  uchari=0xff;  //小样,我就不信累不死你。。。  while(n--)  {      while(i--);      i=0xff;  }}复制代码其次,就算你延时了,按键判断的时间间隔也还是太短了。。。所

混响电路设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人一花一世
  • 文件大小157 KB
  • 时间2019-01-23