當前位置:首頁 » 編程軟體 » keil不能編譯怎麼解決

keil不能編譯怎麼解決

發布時間: 2022-01-08 19:48:12

① 程序在KEIL中不能編譯

1、確定」之前的程序「是能在某個Keil環境中正確編譯的!

2、查看一下編譯錯誤碼,很多情況下是缺少文件。
注意,一般情況下,不要指望在VC中編寫的程序能在Keil中編譯。

② Keil無法編譯

幫你改了下! 自己在改改吧!

#include
#include
#define uint unsigned int
#define uchar unsigned char
#define BLKN 2 /*列存貯器數8*8行數*/
sbit E1 =P3^4; //E1為0開列(col)輸出顯示允許控制信號埠
sbit ST_CP =P3^2; //ST_CP 上升沿--移位寄存器的數據進入數據存儲寄存器 輸出鎖存器的時鍾信號埠
sbit MR =P3^3;//MR 為0將移位寄存器的數據清0
sbit key1 =P0^0;
sbit key2 =P0^1;
sbit soundring=P0^7;
uchar songndring=0;//add by mrli
uchar Soundring=0;//add by mrli

uchar t1;
uint key,spd;
void delay(unsigned int);
uchar data dispram[32];
uchar code table[]={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
uchar code donghua[][1]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F };//change by mrli

void delay(uint dt);

void main( )
{
uchar num,cur,tmp,nums=sizeof(donghua)/32;
SCON = 0x01;
TMOD = 0x01;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR0 = 1;
TR1=1;
EA=1;
ET0=1;
ET1=1;
IT0=1;
P1= 0xc0;
key=1;
songndring=1;
P2=table[1];

while (1)
{
delay(2000);
spd=100-key*10;
for(tmp=0;tmp<1;tmp++)
{
for(num=0;num<nums;num++)
{
for(cur=0;cur<32;cur++) //顯示
{
dispram[cur]=donghua[num][cur];
delay(spd);
}
}
}
}
}

void delay(uint dt)
{
uchar it,jt;
for(it=dt;it>0;it--)
for(jt=110;jt>0;jt--);
}

void leddisplay(void) interrupt 1 using 1
{
static uchar col=0;
TH0 = 0xf8;
TL0 = 0x30;
MR=0; //清理行輸出,將移位寄存器的數據清0
MR=1;
SBUF = dispram[col*2]; //串列發送顯示數據
while(TI==0); //等待發送完畢
T1 = 0;
SBUF = dispram[col*2+1]; //送顯示數據
while(TI==0); //等待發送完畢
T1 = 0;
E1 = 1; //消隱
P1 = 0x00; //行號埠清0
P1 = 0x00; //行號埠清0
E1 = 0; //打開顯示
ST_CP =1; //顯示數據打入輸出鎖存器
ST_CP = 0; //鎖存顯示數據
P1 = col; //寫入行號
col=(col+1)%16;

}

void keys() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t1++;
if(t1==10)
{
t1=0;
if(key1==0)
{
delay(2);
if(key1==0)
key--;
if(key<2)
key=1;
while(!key1);
delay(2);
while(!key1);
soundring=0;
delay(450);
};
if(key2==0)
{
delay(2);
if(key2==0)
key++;
if(key>8)
key=9;
while(!key2);
delay(2);
while(!key2);
soundring=0;
delay(450);
};
Soundring=1;
P2=table[key];

}
}

③ KEIL不能編譯的程序

幫你改了下! 自己在改改吧!

#include <AT89X52.H>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define BLKN 2 /*列存貯器數8*8行數*/
sbit E1 =P3^4; //E1為0開列(col)輸出顯示允許控制信號埠
sbit ST_CP =P3^2; //ST_CP 上升沿--移位寄存器的數據進入數據存儲寄存器 輸出鎖存器的時鍾信號埠
sbit MR =P3^3;//MR 為0將移位寄存器的數據清0
sbit key1 =P0^0;
sbit key2 =P0^1;
sbit soundring=P0^7;
uchar songndring=0;//add by mrli
uchar Soundring=0;//add by mrli

uchar t1;
uint key,spd;
void delay(unsigned int);
uchar data dispram[32];
uchar code table[]={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
uchar code donghua[][1]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F };//change by mrli

void delay(uint dt);

void main( )
{
uchar num,cur,tmp,nums=sizeof(donghua)/32;
SCON = 0x01;
TMOD = 0x01;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR0 = 1;
TR1=1;
EA=1;
ET0=1;
ET1=1;
IT0=1;
P1= 0xc0;
key=1;
songndring=1;
P2=table[1];

while (1)
{
delay(2000);
spd=100-key*10;
for(tmp=0;tmp<1;tmp++)
{
for(num=0;num<nums;num++)
{
for(cur=0;cur<32;cur++) //顯示
{
dispram[cur]=donghua[num][cur];
delay(spd);
}
}
}
}
}

void delay(uint dt)
{
uchar it,jt;
for(it=dt;it>0;it--)
for(jt=110;jt>0;jt--);
}

void leddisplay(void) interrupt 1 using 1
{
static uchar col=0;
TH0 = 0xf8;
TL0 = 0x30;
MR=0; //清理行輸出,將移位寄存器的數據清0
MR=1;
SBUF = dispram[col*2]; //串列發送顯示數據
while(TI==0); //等待發送完畢
T1 = 0;
SBUF = dispram[col*2+1]; //送顯示數據
while(TI==0); //等待發送完畢
T1 = 0;
E1 = 1; //消隱
P1 = 0x00; //行號埠清0
P1 = 0x00; //行號埠清0
E1 = 0; //打開顯示
ST_CP =1; //顯示數據打入輸出鎖存器
ST_CP = 0; //鎖存顯示數據
P1 = col; //寫入行號
col=(col+1)%16;

}

void keys() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t1++;
if(t1==10)
{
t1=0;
if(key1==0)
{
delay(2);
if(key1==0)
key--;
if(key<2)
key=1;
while(!key1);
delay(2);
while(!key1);
soundring=0;
delay(450);
};
if(key2==0)
{
delay(2);
if(key2==0)
key++;
if(key>8)
key=9;
while(!key2);
delay(2);
while(!key2);
soundring=0;
delay(450);
};
Soundring=1;
P2=table[key];

}
}

④ keil軟體安裝後怎麼不能編譯,還有許多功能都不能用急

1>可能是你沒有激活,所以無法編譯,功能也不能全部使用 ,2>是你不會使用,沒有創建好文件工程,所以無法編譯。不過看你這種情況,應該是沒激活,你再看一下

⑤ 我用keil打開現有工程時出現了這個東西,然後工程可以打開,但是編譯不了,怎麼解決

你是不是在安裝KEIL的時候沒有安裝到它的默認目錄啊,建議你裝KEIL的時候就使用默認的C:\Keil。KEIL就這個脾氣,不裝老地方,指不定就會冒出些莫名其妙的問題。

⑥ KEIL 沒法編譯是怎麼回事,按鈕都是灰色的!~

KEIL 要先建立工程,選擇MCU,然後把C源程序(*.C)加入到工程中才能編譯,不能直接對C源程序編譯。

⑦ keil編譯顯示程序太大~編譯不了怎麼辦

這種情況已經有一陣時間了,KEIL顯示破解成功,其實是假的。現在我的做法是拿一個大程序來編譯,如果編譯通過,那就是破解成功,如果還有限制,那就繼續破。我以前的KEIL C251破了半天,算了N個碼,個個都顯示已成功,可實際上直到N+1次才編譯通過,我一同事更倒霉,整整算了3天。所以,破這玩意沒技術,就倆字,堅持。

⑧ keil軟體不能編譯

你下載的keil安裝包里有license嗎,沒有的話你要重下一個再安裝,有的時候360殺毒軟體會誤認為license為病毒,安裝時把殺毒軟體關掉就ok了

⑨ keil 程序過大,無法編譯,怎麼解決

這種情況已經有一陣時間了,keil顯示破解成功,其實是假的。現在我的做法是拿一個大程序來編譯,如果編譯通過,那就是破解成功,如果還有限制,那就繼續破。我以前的keil
c251破了半天,算了n個碼,個個都顯示已成功,可實際上直到n+1次才編譯通過,我一同事更倒霉,整整算了3天。所以,破這玩意沒技術,就倆字,堅持。

⑩ keil無法編譯怎麼回事

你沒有激活這個軟體«keil»
,未注冊的只能編譯2k以內的程序

熱點內容
php字元串引號 發布:2024-09-21 08:17:03 瀏覽:783
androidduration 發布:2024-09-21 08:17:03 瀏覽:402
大話西遊2華山論劍什麼時候開的伺服器 發布:2024-09-21 08:00:15 瀏覽:530
編程馬鞍數 發布:2024-09-21 07:48:32 瀏覽:726
新建文件夾dos命令 發布:2024-09-21 07:44:13 瀏覽:131
舞蹈解壓介紹 發布:2024-09-21 07:40:04 瀏覽:973
qq如何顯示密碼 發布:2024-09-21 07:22:26 瀏覽:566
安卓導航如何調大mlc音量 發布:2024-09-21 06:59:21 瀏覽:34
洛奇解壓中發生錯誤 發布:2024-09-21 06:53:30 瀏覽:293
解壓球是什麼 發布:2024-09-21 06:53:29 瀏覽:539