单片机的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;
- 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; }
- 程序填空题 在下面 【?】处填入正确语句,去掉 【?】后,调试c程序,调试成功后,将 【?】处的正确语句分别填入答案空格中。 以下程序的功能是建立一个如下的二维数组,并按以下格式输出。请填空。 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 #include void main() { int c[5][5]={0},*p[5],i,j; for(i=0;i<5;i++) /***********SPACE***********/ p[i]=【?】; for(i=0;i<5;i++) { /***********SPACE***********/ *(p[i]+i)=【?】; /***********SPACE***********/ *(p[i]+5-(【?】))=1; } for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%2d",p[i][j]); /***********SPACE***********/ putchar('【?】'); } }