1WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
说明:程序中有些函数(或片段)以前(调试过程中)从未被调用过,或者根本没有调用它的语句。
你这个函数LESSON4_1没使用
2WARNING L15: MULTIPLE CALL TO SEGMENT
有冲突 你在主循环里调用了一个函数(如aaa),而在中断服务函数里,你又调用了这个函数(如aaa)。这样当主循环运行到该函数中是,一旦产生中断,则在中断里又再次调用该函数!这时,很可能出错! 避免这种情况的方法很多:如,在进中断的时候置需调用该函数的标志,而在主循环中调用该函数
循环要这样写
while(1)
{
a=0x01 //赋初值00000001
for(i=0i<7i++)
{
P0=a
delay(500)
a=a<<1 //左移
}
for(i=0i<7i++)
{
P0=a
delay(500)
a=a>>1 //右移
}
}
或者
a=0x01 //赋初值00000001
while(1)
{
P0=a //先点亮第1个led
delay(500)
a=_crol_(a,1) //将a循环左移1位后再赋给a
}
或者
void t0() interrupt 1 //中断服务函数
{
TH0=(65536-50000)/256 //计数寄存器高8位重新载入
TL0=(65536-50000)%256//计数寄存器低8位重新载入
num++
if(num>=10) //500ms 调整流水速度
{
num=0
P0=1<<i //进入位移 *** 作,熄灭相对应位的LEDP0=1然后P0右移i位
i++
if(i>7) i=0
}
}
程序中P1要大写字母,修改如下:#include <reg52.h>
sbit led=P1^0//这是大写P
void main()
{
led=0
while(1)//要加一行
}
LED灯,可以使用直流供电、高频率的开关稳压电源供电、专用的恒流驱动器供电、也可以使用50赫兹电感变压器降压整流供电。12v电源接led灯会有电流声的原因是由于你的电源是由50赫兹交流提供的、而且有50赫兹的变压器、并且铁芯松动造成的。如果是高频率的开关电源,或是直流供电,是听不到50赫兹交流声的。1,如果出现这种电流声,则说明你购买的台灯比较次。里面电源模块不是很好。2,好点的台灯都是使用恒流电源供应器,确保台灯使用寿命比较长。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)