单片机的P1^0-P1^7口分别接发光二极管LED0-LED7,单片机输出低电平点亮LED灯,读下列程序:#includevoidDelay1s()//@11.0592MHz{unsignedchari,j,k;for(k=0;k<100;k++){i=18;j=235;do{while(--j);}while(--i);}}voidmain(void){unsignedchari;while(1){P1=0x7f;for(i=1;i<8;i++){P1=P1>>1|0x80;Delay1s();}}}
A: 执行P1=0x7f后,与P1^7连接的LED7被点亮;
B: 执行P1=0x7f后,与P1^0连接的LED0被点亮;
C: P1=P1>>1|0x80执行后使点亮的LED右移一位;
D: 程序功能是实现8个LED循环点亮的流水灯。
A: 执行P1=0x7f后,与P1^7连接的LED7被点亮;
B: 执行P1=0x7f后,与P1^0连接的LED0被点亮;
C: P1=P1>>1|0x80执行后使点亮的LED右移一位;
D: 程序功能是实现8个LED循环点亮的流水灯。
举一反三
- 设P1口连接8个LED,且为高电平点亮, 采用特殊功能位点亮P1.0所对应LED,编程正确的是() A: bit s=P1^0; s=0; B: bit s=P1~0; s=1; C: sbit s=P1~0; s=1; D: sbit s=P1^0; s=1;
- 设P1口连接8个LED,且为高电平点亮,采用特殊功能位点亮P1.0所对应LED,编程正确的是()。 A: bit<br/>s=P1^0; s=0; B: bit<br/>s=P1~0; s=1; C: sbit<br/>s=P1~0; s=1; D: sbit<br/>s=P1^0; s=1;
- CC2530的P1.0通过限流电阻直接驱动LED电路,下列操作不可能点亮LED的是( )。 A: P1DIR|=(1<;<;0); P1|=0x00; B: P1DIR=0x01; P1=0x01; C: P1DIR&=~(1<;<;0); P1=0x01; D: P1DIR|=0x01; P1=0x01
- 接上题,如果要把代码省略处的代码补充完整、正确,应选择( )。 A: mux2_1 U3( .line[0](p0), .line[1](p1), .s[1](s), .f(f)); B: mux2_1 U3( .p0(p[0]), .p1(p[1]), .s(s[1]), .f(f)); C: mux2_1 U3( .p0(line[0]), .p1(line[1]), .s(s[0]), .f(f) ); D: mux2_1 U3( .p0(line[0]), .p1(line[1]), .s(s[1]), .f(f) );
- 以下程序的输出结果是____。 int main(void) { int p[7]={11,13,14,15,16,17,18}; int i=0,j=0; while(i<7&&p[i]%2==1) j+=p[i++]; printf("%d ",j); return 0; }