51单片机初学,流水灯左移问题
#include<reg51.h>typedefunsignedcharuint8;typedefunsignedintuint16;voidmain(){uint8j=...
#include <reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
void main()
{
uint8 j = 0;
uint16 i;
while(1)
{
P3 = ~(0x01 << j++);
for(i = 0;i< 20000;i++);
if(8 == j)
{
j = 0;
}
}
}
其中“P3 = ~(0x01 << j++);” 这一行为什么要用~ 用了的话不是应该亮的灯反而灭了,其他灯全亮了吗?? 比如左移一位时:P3=11111101 展开
typedef unsigned char uint8;
typedef unsigned int uint16;
void main()
{
uint8 j = 0;
uint16 i;
while(1)
{
P3 = ~(0x01 << j++);
for(i = 0;i< 20000;i++);
if(8 == j)
{
j = 0;
}
}
}
其中“P3 = ~(0x01 << j++);” 这一行为什么要用~ 用了的话不是应该亮的灯反而灭了,其他灯全亮了吗?? 比如左移一位时:P3=11111101 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询