LED=LED++,怎么不能用呢?

2019-07-16 03:10发布

#include<reg51.h>
#define LED P2
int th_0=(65536-50000)/256;
int tl_0=(65536-50000)%256;
int i;
main( )
{
LED=0x00;          //全亮
IE=0x82;
TMOD=0x01;
TH0=th_0;
TL0=tl_0;
TR0=1;
while(1);  
}
void MY() interrupt 1
{
TH0=th_0;
TL0=tl_0;
i++;
if(i==5)
{
  i=0;
  LED=LED++;    //当LED++是LED全亮,当LED=LED+1时,开始闪烁,为什么呢?
  if(LED==0xff)
   LED=0;
};
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
小芸芸
1楼-- · 2019-07-16 07:40
 精彩回答 2  元偷偷看……
JGH547497
2楼-- · 2019-07-16 11:49
LED是定义的P2口,怎么给++?修改下方法
shisigang
3楼-- · 2019-07-16 11:53
JGH547497 发表于 2012-12-15 22:54
LED是定义的P2口,怎么给++?修改下方法

呵呵,谢谢!
yintianye
4楼-- · 2019-07-16 14:59
肯定要闪烁了,led直接对应的是P2端口;led = led ++,这条语句如果端口起始为0x00;led++先是全亮,然后就加1-->0000 0001,有一个灭掉;紧接着又加1-->0000 0010,第二个led灯灭,;依次循环,像流水灯一样,只不过那个跑动着的灯是灭的!
3htech
5楼-- · 2019-07-16 17:22
JGH547497 发表于 2012-12-15 22:54
LED是定义的P2口,怎么给++?修改下方法

我们实际操作的是P2口寄存器,所以是可以使用++操作的。

3htech
6楼-- · 2019-07-16 21:47
 精彩回答 2  元偷偷看……

一周热门 更多>