阅读一下程序片段,填空uchar keyscan(){uchar code_h; //行扫描值uchar code_l; //列扫描值P1=0XF0; //P1.0-P1.3发全为0,准备读列状态if((P1&0xF0)!=0XF0) //如果P1.4-P1.7不全为1,可能有键按下{delay_1ms(5);if((P1&0xF0)!=0XF0)//重读高4位,若还是不全为1,定有键按下{code_h=0xfe; //P1.0置为0,开始行扫描while((code_h&0x10)!=0x00){//判断是否为最后一行,若不是,继续扫描P1=code_h; //P1口输出扫描值if((P1&0xF0)!=0XF0) //如果P1.4-P1.7不全为1,该行有键按下{code_l=(P1&0xF0|0x0F);//保留P1口高4位,低4位变为1,作为列值return((~code_h)+(~code_l));//键盘编码=行扫描值+列扫描值}elsecode_h=(code_h<<1)|0x01;} //若该行无键按下,行扫描值左移,扫描下一行}}return(0); //无键按下,返回0}程序语句: delay_1ms(5);是起到键盘()的作用。
阅读一下程序片段,填空uchar keyscan(){uchar code_h; //行扫描值uchar code_l; //列扫描值P1=0XF0; //P1.0-P1.3发全为0,准备读列状态if((P1&0xF0)!=0XF0) //如果P1.4-P1.7不全为1,可能有键按下{delay_1ms(5);if((P1&0xF0)!=0XF0)//重读高4位,若还是不全为1,定有键按下{code_h=0xfe; //P1.0置为0,开始行扫描while((code_h&0x10)!=0x00){P1=code_h; //P1口输出扫描值if((P1&0xF0)!=0XF0) //如果P1.4-P1.7不全为1,该行有键按下{code_l=(P1&0xF0|0x0F);//保留P1口高4位,低4位变为1,作为列值return((~code_h)+(~code_l));//键盘编码=行扫描值+列扫描值}elsecode_h=(code_h<<1)|0x01;} //若该行无键按下,行扫描值左移,扫描下一行}}return(0); //无键按下,返回0}语句: while((code_h&0x10)!=0x00) 判断是否是( )若不是,继续扫描
阅读一下程序片段,填空uchar keyscan(){uchar code_h; //行扫描值uchar code_l; //列扫描值P1=0XF0; //P1.0-P1.3发全为0,准备读列状态if((P1&0xF0)!=0XF0) //如果P1.4-P1.7不全为1,可能有键按下{delay_1ms(5);if((P1&0xF0)!=0XF0)//{code_h=0xfe; //P1.0置为0,开始行扫描while((code_h&0x10)!=0x00){P1=code_h; //P1口输出扫描值if((P1&0xF0)!=0XF0) //如果P1.4-P1.7不全为1,该行有键按下{code_l=(P1&0xF0|0x0F);//保留P1口高4位,低4位变为1,作为列值return((~code_h)+(~code_l));//键盘编码=行扫描值+列扫描值}elsecode_h=(code_h<<1)|0x01;} //若该行无键按下,行扫描值左移,扫描下一行}}return(0); //无键按下,返回0}语句:while((code_h&0x10)!=0x00) 是重读高4位,若还是不全为1,定有键()
下面属于时期指标的是()
A. 商场数量
B. 营业员人数
C. 商品价格
D. 商品销售量