P2 = ((P2&0x1f)|0xa0);是什么含义
voidmain(void){while(1){P2=((P2&0x1f)|0x80);P0=0xff;//LED熄灭P2&=0x1f;delay();P2=((P2&0...
void main(void)
{
while(1)
{
P2 = ((P2&0x1f)|0x80);
P0 = 0xff; //LED熄灭
P2 &= 0x1f;
delay();
P2 = ((P2&0x1f)|0x80);
P0 = 0x00; //LED点亮
P2 &= 0x1f;
delay(); 展开
{
while(1)
{
P2 = ((P2&0x1f)|0x80);
P0 = 0xff; //LED熄灭
P2 &= 0x1f;
delay();
P2 = ((P2&0x1f)|0x80);
P0 = 0x00; //LED点亮
P2 &= 0x1f;
delay(); 展开
3个回答
展开全部
void main(void)
{
while(1)
{
P2 = ((P2&0x1f)|0x80); /*
其中0x1f=0001 1111,P2与0x1f进行虚宏与运算,高三留出宽侍来,接着再或上0x80;容易发现0x80=1000 0000;或运算,与1或结果为1,与0或结果不变,所以或上0x80只需看P2的高三位,则高三位为100,对应3-8译码器的话,P2^7=1;P2^6=0;P2^5=0;所以输出Y4=0;Y4再经过与非运算,则输出Y4C=1;即LED对应的锁存器的片选信号被差巧册选中,锁存器打通,*/
P0 = 0xff; //LED熄灭
P2 &= 0x1f; /*P2=P2&0x1f;P2高三位直接清零,此时Y4C=0,则把锁存器锁上了*/
delay();
这个程序对应CT107D单片机综合训练平台上的电路,你可以看下,里面有锁存器和38译码器等相关知识。
{
while(1)
{
P2 = ((P2&0x1f)|0x80); /*
其中0x1f=0001 1111,P2与0x1f进行虚宏与运算,高三留出宽侍来,接着再或上0x80;容易发现0x80=1000 0000;或运算,与1或结果为1,与0或结果不变,所以或上0x80只需看P2的高三位,则高三位为100,对应3-8译码器的话,P2^7=1;P2^6=0;P2^5=0;所以输出Y4=0;Y4再经过与非运算,则输出Y4C=1;即LED对应的锁存器的片选信号被差巧册选中,锁存器打通,*/
P0 = 0xff; //LED熄灭
P2 &= 0x1f; /*P2=P2&0x1f;P2高三位直接清零,此时Y4C=0,则把锁存器锁上了*/
delay();
这个程序对应CT107D单片机综合训练平台上的电路,你可以看下,里面有锁存器和38译码器等相关知识。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询