51单片机P1口低4位以低电平驱动方式连接4个LED,高4位连接四个按键,下列程序希望根据按键控制灯的点亮功能,试分析实际应用系统运行状态。#includeunsigned char keyval;sbit S1=P1^0;//将S1位定义为P1.0引脚sbit S2=P1^1;//将S2位定义为P1.1引脚sbit S3=P1^2;//将S3位定义为P1.2引脚sbit S4=P1^3;unsigned char key_scan(){ }void main(void){ keyval=0;while(1){ keyval=key_scan();//确定四个按键中被按下键的编号;switch(keyval){ case 1:S1=0; break;case 2:S2=0; break;case 3:S3=0; break;case 4:S4=0; break;default:P1=0x00;}}}
A. 系统运行状态:四个灯常亮
B. 系统运行状态:四个灯常灭
C. 系统运行状态:有按键按下对应灯点亮,其他熄灭
D. 系统运行状态:有按键按下对应灯熄灭,其他点亮
下面的while循环执行了( )次空语句。While(i=3);
A. 无限次
B. 0次
C. 1次
D. 2次
下列程序段中,当P1=0xfd时,P2=()#includechar state;state=P1; // 读入P1口的状态,送入statestate=state&0x03; // 屏蔽P1口的高6位switch (state) // 判P1口低2位开关状态{ case 0: P2=0x01;// P1.1、P1.0=00,点亮P2.0脚LEDcase 1: P2=0x02;// P1.1、P1.0=01,点亮P2.1脚LEDcase 2: P2=0x04; break;// P1.1、P1.0=10,点亮P2.2脚LEDcase 3: P2=0x08; break;// P1.1、P1.0=11,点亮P2.3脚LED}
A. 0x01
B. 0x02
C. 0x04
D. 0x08
下列使用绝对宏DBYTE访问内存单元,错误的是
A. for(i=0;i<10;i++)DBYTE[0x30+i]=0;
B. for(i=0;i<10;i++)DBYTE[0x30+i]=i;
C. for(i=0;i<10;i++)DBYTE[0x30]+i=0x01;
D. for(i=0;i<10;i++)A[i]=DBYTE[0x30+i];