久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3568|回復: 4
打印 上一主題 下一主題
收起左側

WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS這個警告怎么消除?

[復制鏈接]
跳轉到指定樓層
樓主
ID:786547 發表于 2020-7-3 14:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
keil 編譯的時候出現這個警告*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS 要怎么消除??沒有任何錯誤

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit S1=P3^5;   //定義"啟動"按鈕
sbit S2=P3^4;   //定義"停止"按鈕
sbit S3=P3^3;   //定義"清零"按鈕
sbit P2_0 = P2^0;
sbit P2_1 = P2^1;
sbit P2_2 = P2^2;
sbit P2_3 = P2^3;
uchar p,q,a,s,g,hms,hmg;
unsigned char disp[4];
uchar code table[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80,0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};  //共陽極數碼管編碼
void display(uchar s,uchar g,uchar hms,uchar hmg); //聲明顯示函數
void delay(uint z);   //聲明延時函數
void init();    //聲明初始化函數
void main()
{
init();   //調用初始化程序
while(1)
{
if(S1==0) //檢測"啟動"按鈕是否按下
{
delay(10); //延時去抖動
if(S1==0)  //再次檢測"啟動"按鈕是否按下
{
while(!S1);//松開手檢測,若按鍵沒有釋放,S1始終為0,那么!S1始終為1,程序就一直停在此
TR0=1;     //啟動定時器
}
}
if(S2==0)  //檢測"停止"按鈕是否按下
{
delay(10); //延時去抖動
if(S2==0)  //再次檢測"停止"按鈕是否按下
{
while(!S2);//松手檢測
TR0=0;     //關閉定時器
}
}
if(S3==0)  //檢測"清零"按鈕是否按下
{
delay(10); //延時去抖動
if(S3==0)  //再次檢測"清零"按鈕是否按下
{
while(!S3);//松手檢測
p=0;     //將變量p的值清零
q=0;    //將變量q的值清零
s=0;    //將秒的十位清零
g=0;     //將秒的個位清零
hms=0;     //將毫秒的十位清零
hmg=0;     //將毫秒的個位清零
TR0=0;     //關閉定時器
}
}
display(s, g, hms, hmg);  //調用顯示函數
}
}
void delay(uint z)   //延時函數
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uchar s,uchar g,uchar hms,uchar hmg) //顯示程序
{
P2=0x7f;
s=disp[0];
delay(10);
P2=0xbf;
g=disp[1];
delay(10);
P2=0xdf;
hms=disp[2];
delay(10);
P2=0xef;
hmg=disp[3];
delay(10); //使用動態掃描的方法實現數碼管顯示
}
void init() //初始化程序
{
p=0;
TMOD=0x01;  //使用定時器T0的方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;  //定時5ms中斷一次
EA=1; //中斷總允許
ET0=1; //允許定時器T0中斷
}
void timer0() interrupt 1
{
TH0=(65536-5000)/256; //重新賦初值
TL0=(65536-5000)%256;
a++;  //中斷一次變量a加一
if(a==20)
{
a=0;
p++; if(p>99)  //當秒表中毫秒的值大于99時回零
{
p=0;
q++;      //秒表中秒的值加一
if (q==60)    //當秒表中秒的值等于60時回零
{
q=0;
}
}
s=q/10; g=q%10; hms=p/10; hmg=p%10; //分離秒的個位和十位,分離毫秒的個位和十位
}
}

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

使用道具 舉報

沙發
ID:213173 發表于 2020-7-3 14:59 | 只看該作者
樓主定義的數組沒有被引用。
uchar code table[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80,0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};  //共陽極數碼管編碼

void display(uchar s,uchar g,uchar hms,uchar hmg) //顯示程序
{
        P2=0x7f;
        P0=table[s];
        delay(10);
        P2=0xbf;
        P0=table[g];
        delay(10);
        P2=0xdf;
        P0=table[hms];
        delay(10);
        P2=0xef;
        P0=table[hmg];
        delay(10); //使用動態掃描的方法實現數碼管顯示
}
回復

使用道具 舉報

板凳
ID:786547 發表于 2020-7-3 15:07 | 只看該作者
wulin 發表于 2020-7-3 14:59
樓主定義的數組沒有被引用。
uchar code table[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x8 ...

改進了后,放在燒寫板中數碼顯示管還是不能顯示,請問這需要怎么改
回復

使用道具 舉報

地板
ID:213173 發表于 2020-7-3 15:32 | 只看該作者
非塵 發表于 2020-7-3 15:07
改進了后,放在燒寫板中數碼顯示管還是不能顯示,請問這需要怎么改

軟件是依據硬件編寫的,要把電路圖發上來才能判斷。
回復

使用道具 舉報

5#
ID:796980 發表于 2020-7-4 10:40 | 只看該作者
在Keil C中,如果沒有顯式調用到定義過的函數,就會出現這樣的的警告。當出現這樣的警告時,可以不用管,因為不影響其它部分。但是,我們知道,即使沒有調用這個函數,Keil仍然把它編譯連接進整個程序,不過浪費點ROM倒是不心疼。最主要的是,在這個函數中的變量,不會被列入覆蓋分析范圍內,也就是說這些變量占的空間不能被回收,這對于為數不多的RAM資源可是巨大的浪費啊。。。
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久毛片av大全日韩 | 成人免费观看视频 | 亚洲手机视频在线 | 免费黄视频网站 | 啪啪av | 久久精品国产一区二区三区 | 国产精品毛片无码 | 久久国产精品久久国产精品 | 亚洲精品电影在线观看 | 亚洲成人日韩 | 国产日韩欧美一区二区 | 黄色av一区| 亚洲成人免费av | 99国内精品久久久久久久 | 欧美精品久久 | 亚洲日本国产 | 国产一区二区精品在线 | 亚洲天堂久久新 | 中文成人无字幕乱码精品 | 超碰在线人人 | 黄色一级毛片 | 久久99久久98精品免观看软件 | 日本精品久久久一区二区三区 | 色综合久 | 伊人狼人影院 | av免费网址 | 日韩在线欧美 | 九九国产| 99re视频在线 | 91精品观看| 中文字幕 国产 | 成人黄色在线 | 国产激情在线 | 免费在线观看一区二区 | 日日夜夜天天 | 日本大片在线播放 | 日韩精品成人网 | 国产精品伦一区二区三级视频 | 91视频电影 | 夜夜爽夜夜操 | 亚洲高清视频在线 |