NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

why multisim 10.1 will tell memory unenough when MCU module submit ?

已解決!
前往解決方案

我在用51单片机做DC/AC逆变器时,编写SPWM波形发生程序时,首先是51单片机interrupt函数不能调用;

我就换做延时来产生波形,但编译下来提示我“内存不足”,请帮忙解决!

下面是我的源程序:
#include "8051.h"
#include "math.h"
#include "float.h"
void main()
{
  unsigned char b,c,d,e,f,i,j;
double k,l;
 while (1)
 {
  for (i=0;i<128;i++)
   { k=(3.14159/127)*i;
      l=(3.14159/127)*(i+1);
      b=(10000/255)*sin(k);
      c=(10000/255)*(1-(1/2)*(sin(k)+sin(l)));
      P0=0x05;
      for (d=c;d>0;d--)
     { ; }
      P0=0x0a;
     for (d=b;d>0;d--)
     { ; }
    } 
  }

}

0 積分
1 條訊息(共 2 條)
6,540 檢視
解決方案
由主題作者所接受 夏之雪

Hi 夏之雪

 

關於您的提問,在實際測試後發現於 k=(3.14159/127)*i;
時就會發生內存不足的問題,表示著該段程式並無法順利於Multisim上

模擬執行,您可以嘗試使用Keil uVision去驗證目前您的程式是否能夠於

8051正確執行,若仍無法執行,就要麻煩您減化目前的程式,那再麻煩

您實際測試。

 

Howard

2 條訊息(共 2 條)
6,462 檢視