标题: 我的目的是为了按钮的时候,灯亮的同时do的发音响起,可是我不知道哪错了 [打印本页]

作者: 萧然    时间: 2017-10-2 21:27
标题: 我的目的是为了按钮的时候,灯亮的同时do的发音响起,可是我不知道哪错了

"..\..\..\..\..\..\..\..\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\MAKE\RunTool.exe" --good-exits=0,1 --executable=C51.exe "..\main.c" ROM(SMALL) BROWSE DEBUG CODE OBJECTEXTEND PREPRINT  OBJECT("main.OBJ")
"..\..\..\..\..\..\..\..\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Tools\MAKE\RunTool.exe" --good-exits=0,1 --executable=BL51.exe "main.OBJ" TO "Debug.OMF"  
这是我错的提示大神们帮帮忙,不知道怎么改
下面是我的编程
#include <reg51.h>
#include <stdio.h>
sbit sound=P3^7;
sbit S1=P1^0;sbit S2=P1^1;sbit S3=P1^2;sbit S4=P1^3;sbit S5=P1^4;sbit S6=P1^5;sbit S7=P1^6;sbit S8=P1^7;
void delay(void)
{
   unsigned char i,j;
   for(i=0;i<250;i++)
      for(j=0;j<250;j++);
}
void main(void)
{
   while(1)
   {
      if(S1==0)//第一个按钮
       {P0=0xfe;delay();}
       {
  void delaydo(void)//do的音调开始
{
   unsigned char n;
   for(n=0;n<300;n++);//do
}
void sounder(void)
{
   unsigned int i;
   while(1)
   {
      for(i=0;i<130;i++)//do音调
      {
  sound=0;
  delaydo();
  sound=1;
  delaydo();
      }
   }
}
       }
       else{P0=0xff;}//do结束结束发音





作者: zl2168    时间: 2017-10-3 15:38
把发音程序编委子函数,在主程序中调用。
作者: imxuheng    时间: 2017-10-3 16:15
delaydo,sounder这两个函数拿到main函数外面成为子函数,另外还要去掉sounder函数里的while(1)这层循环




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1