找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3119|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

給我有空 可以幫我編譯一下下面的代碼嗎?弄成hex文件 發(fā)給我

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:126072 發(fā)表于 2016-8-14 10:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <stc12c5a60s2.h>//"stc12c5620ad.h"
#include<intrins.h>
#define LongToBin(n) (((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>>6)&0x04)|((n>>3)&0x02)|((n)&0x01))
#define BIN(n) LongToBin(0x##n##)
#define uchar  unsigned char
#define uint  unsigned int
#define SAMPLE_NUM 64
#define NUM_2_LOG 6
#define FFT_OUT_MIN 3
uchar code BRTable[SAMPLE_NUM] ={ 0, 32, 16, 48, 8, 40, 24, 56,4, 36, 20, 52, 12, 44, 28, 60, 2, 34, 18, 50, 10, 42, 26, 58, 6, 38, 22, 54, 14, 46, 30, 62, 1, 33, 17, 49, 9, 41, 25, 57,5, 37, 21, 53, 13, 45, 29, 61,3, 35, 19, 51, 11, 43, 27, 59,7, 39, 23, 55, 15, 47, 31, 63};
char code sin_tabb[SAMPLE_NUM] = { 0 ,12 ,25 ,37 ,49 ,60 ,71 ,81 ,90 ,98 ,106 ,112 ,117 ,122 ,125 ,126 ,127 ,126 ,125 ,122 ,117 ,112 ,106 ,98 ,90 ,81 ,71 ,60 ,49 ,37 ,25 ,12 ,0 ,-12 ,-25 ,-37 ,-49 ,-60 ,-71 ,-81 ,-90 ,-98 ,-106 ,-112 ,-117 ,-122 ,-125 ,-126 ,-127 ,-126 ,-125 ,-122 ,-117 ,-112 ,-106 ,-98 ,-90 ,-81 ,-71 ,-60 ,-49 ,-37 ,-25 ,-12  };

char code cos_tabb[SAMPLE_NUM] = {127 ,126 ,125 ,122 ,117 ,112 ,106 ,98 ,90 ,81 ,71 ,60 ,49 ,37 ,25 ,12 ,0 ,-12 ,-25 ,-37 ,-49 ,-60 ,-71 ,-81 ,-90 ,-98 ,-106 ,-112 ,-117 ,-122 ,-125 ,-126 ,-127 ,-126 ,-125 ,-122 ,-117 ,-112 ,-106 ,-98 ,-90 ,-81 ,-71 ,-60 ,-49 ,-37 ,-25 ,-12 ,0 ,12 ,25 ,37 ,49 ,60 ,71 ,81 ,90 ,98 ,106 ,112 ,117 ,122 ,125 ,126 };
uchar a[21];
uchar keep,keepnum,anum,timernum,timernum2,lednum3,Ltime;//用于分離

/*加入數(shù)組用于顯示相應(yīng)led燈數(shù)目*/
uchar lednum[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//0-7的顯示數(shù)組  P2組控制
int xdata FftReal[SAMPLE_NUM];
int xdata FftImage[SAMPLE_NUM];
sbit p30=P3^0;
sbit p31=P3^1;
sbit p32=P3^2;
sbit p33=P3^3;
sbit p34=P3^4;
sbit p35=P3^5;//9-11的led控制
sbit p36=P3^6;
sbit p37=P3^7;

void timerinit()//定時器 初始化函數(shù)
{
         TMOD=0x01;
         TH0=(65536-6000)/256;
         TL0=(65536-6000)%256;
         EA=1;
         ET0=1;
         TR0=1;
}
void disp()
{
        timernum++;
        if(timernum==6) timernum=1;
        P2=0;//顯示前先關(guān)閉
        P3=P3&0x1f;
        switch(timernum)
        {
                case 1:anum=a[0];p34=0;p33=1;p32=1;p31=1;p30=1;break;
                case 2:anum=a[1];p34=1;p33=0;p32=1;p31=1;p30=1;break;
                case 3:anum=a[2];p34=1;p33=1;p32=0;p31=1;p30=1;break;
                case 4:anum=a[3];p34=1;p33=1;p32=1;p31=0;p30=1;break;
                case 5:anum=a[4];p34=1;p33=1;p32=1;p31=1;p30=0;break;
        }
        //anum=a[10];/*修改可以改變光柱高度 (anum值分開幾個部分用定時器區(qū)分顯示)(a[]內(nèi)逐加) */
        if(anum<=8){P2=lednum[anum];P3=P3&0x1f;}//屏蔽高三位
        //else {P2=0xff;P3=lednum2[anum-9];}
        if(anum==9){P2=0xff;p35=1;p36=0;p37=0;}
        if(anum==10){P2=0xff;p35=1;p36=1;p37=0;}
        if(anum==11){P2=0xff;p35=1;p36=1;p37=1;}

}

uchar STC_ADC()                   //��!根據(jù)數(shù)據(jù)手冊寫一個ad讀取函數(shù)
  {
     uchar i;
        ADC_RES   = 0;
        ADC_RESL  = 0;
  ADC_CONTR = BIN(10001000);
  i=3;
        while(i--);
        while (1)                     
     {
         if (ADC_CONTR & BIN(10000))      
         {
            break;
           }
     }
     ADC_CONTR = BIN(10000000);
  return( ADC_RESL<<2) ;
}
short sqrt_16( unsigned long M)   
{
    unsigned int N, i;
    unsigned long tmp, ttp;
    if( M == 0 )            
        return 0;

    N = 0;

    tmp = ( M >> 30 );        
    M <<= 2;
    if( tmp > 1 )            
    {
        N ++;               
        tmp -= N;
    }

    for( i=15; i>0; i-- )   
    {
        N <<= 1;           

        tmp <<= 2;
        tmp += (M >> 30);  

        ttp = N;
        ttp = (ttp<<1)+1;

        M <<= 2;
        if( tmp >= ttp )   
        {
            tmp -= ttp;
            N ++;
        }      
    }

    return N;
}
void FFT()
{
register    uchar i,bb,j,k,p,max;
register short TR,TI,temp;
    unsigned long ulReal;                             
    unsigned long ulImage;



for(i=0; i<SAMPLE_NUM;i++)          //此處可以加入自動增益
{



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:121156 發(fā)表于 2016-8-14 11:30 | 只看該作者
。。。。代碼都不全
回復(fù)

使用道具 舉報

板凳
ID:126072 發(fā)表于 2016-8-14 15:48 | 只看該作者
沒有吧。。。
回復(fù)

使用道具 舉報

地板
ID:136779 發(fā)表于 2016-8-15 10:06 | 只看該作者
新建個工程編譯下就OK了
回復(fù)

使用道具 舉報

5#
ID:121867 發(fā)表于 2016-8-19 10:46 | 只看該作者
編不過去都
回復(fù)

使用道具 舉報

6#
ID:137736 發(fā)表于 2016-8-29 21:09 | 只看該作者
自己安裝keil編譯,也能發(fā)現(xiàn)錯誤
回復(fù)

使用道具 舉報

7#
ID:111634 發(fā)表于 2016-8-30 13:22 | 只看該作者

人家說“代碼都不全”,你說“沒有吧”。
回復(fù)

使用道具 舉報

8#
ID:137261 發(fā)表于 2016-8-30 14:26 | 只看該作者
txt文本發(fā)出來啊,要求什么型號的芯片啊
回復(fù)

使用道具 舉報

9#
ID:105206 發(fā)表于 2016-8-31 09:21 | 只看該作者
用LEIL建工程編譯產(chǎn)生HEX文件就可以了
回復(fù)

使用道具 舉報

10#
ID:126072 發(fā)表于 2016-8-31 10:08 | 只看該作者
謝謝大家   我搞定了      
  此貼終結(jié)
回復(fù)

使用道具 舉報

11#
ID:1 發(fā)表于 2016-8-31 14:08 | 只看該作者
怎么搞定的?能分享下嗎?
回復(fù)

使用道具 舉報

12#
ID:710246 發(fā)表于 2020-5-16 11:45 來自觸屏版 | 只看該作者
可不可以解釋一下部分語句的意思,有償
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表