keil程序出现警告

keil程序出现警告,第1张

while(1)//while(1)后面加了分号表示永远执行不到下面的代码

{

    display(shi,ge)

}

if(num1=4)//少了个等于号 if语句内应该是判断不可能是赋裤租值吧

最后贴上可以编译通过的代码

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

sbit smg_g=P1^0

sbit smg_s=P1^1

sbit led1=P1^4

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}

void delay(uint xms)

void display(uchar shi,uchar ge)

uchar num,num1,num2,shi,ge

void main()

{

    TMOD=0x11

 TH0=(65536-50000)/256

 TL0=(65536-50000)%256

 TH1=(65536-50000)/256

 TL1=(65536-50000)%256

 EA=1

 ET0=1

 ET1=1

 TR0=1

 TR1=1

 while(1)//修改1  删除掉while(1)后面的分号

 {

     display(shi,ge)

 }

}

void display(uchar shi,uchar ge)

{

    smg_s=0

 P0=table[shi]

 delay(5)

 P0=0xff

    smg_s=1

 smg_g=0

 P0=table[ge]

 delay(5)

 P0=0xff

 smg_g=1

}

void delay(uint 胡铅兆xms)

{

 uint i,j

 for(i=xmsi>0i--)

    for(j=110j>0j--)

}

void T0_time() interrupt 1

{

    TH0=(65536-50000)/256

 TL0=(65536-50000)%256

 num1++

 if(num1==4)//修改2 把num1=4 改成 num1==4

 {

      num1=0

   led1=~led1

 } 

}

void T1_time() interrupt 3

{

 TH1=(65536-50000)/256

 TL1=(65536-50000)%256

 num2++

 if(num2==20)

 {

     激乎num2=0

  num++

  if(num==60)

       num=0

  shi=num/10

  ge=num%10

 }

}

这个你看英语就明白了:\x0d\x0a警告:有一个没有调用的函数。\x0d\x0a是告诉你,有一个函数,你定义了,却没有调用,这个函数的宏悉名字叫:Read_RO()\x0d\x0aC51编译器是用于51单片机的,早在C51成立之初,51单片机的ROM是非常小的,只有几K,所以,为了节省ROM空间,C51编译器对于敬哪你定义了,但是没有调用的函数会提出警告,意思是提醒你节蔽稿乎能减排,不要浪费ROM空间。\x0d\x0a这个警告你可以忽略,如果你不想忽略,那么就调用那个函数或者屏蔽掉那个函数就行了。

#define TR 1

这TR定义的是什么?按定义:TR=1,

但是:if(TR==0)

这又是什么意思?怎么老行可御含顷能有镇陆(TR==0成立呢?

矛盾。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8196622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存