temp+temp&0xf0
@俞隶4074:TR0=1; temp=temp & 0x0f; while(temp!=0x0f) { temp=P3; temp=temp & 0x0f; } TR0=0;
邰育13434679077…… TR0 = 1; temp = temp & 0x0f;//0x0f是掩码,作用是取temp的低四位,比如temp=0xfff1;和0x0f取掩码之后就变成了0x01 while (temp != 0x0f) //循环里面貌似没什么值得解释的吧 { temp = P3; temp = temp & 0x0f; } TR0 = 0;
@俞隶4074:单片机c语言编程语句temp=temp<<1和temp=temp<<1+1怎么理解 ,他们有什么区别? -
邰育13434679077…… temp=temp<<1表示将temp左移一位;temp=temp<<1+1则是将temp左移一位后加1.左移的含义:比如temp=00001111B(二进制),那么temp<<1的结果是00011110,也就是temp的数据位依次向左移动一位,最高位可以认为被舍弃,最低位由0补齐.这是基本的位运算,可以参考相关的C语法书目.
@俞隶4074:求助单片机C语言大神!!!uchar temp; temp=0; P1=temp;temp++;这怎么理解? -
邰育13434679077…… 74HC154 的输出 从 Y0——Y15 对应的输入是 0000——1111 ,即从 0——15,所以 当 P1 = temp;...... temp++; if(temp==16) temp=0;就是环输入 0——15 输出就是 Y0——Y15 不断循环 实际上计算机里面的都是二进制码,只不过我们表示成十进制的而已 在计算机内存中任然以二进制存储,只是显示给我们的是十进制数 XXXX0000——XXXX1111,X 表示无关位,左边高位,右边低位
@俞隶4074:C语言if语句if((temp7*4+temp6*2+temp4*1<=5)&&(temp1+temp2+temp3>=1))怎么不对 -
邰育13434679077…… temp7*4+temp6*2+temp4*1<=5 和 temp1+temp2+temp3>=1 这样是不对的 要加括号;先计算几个temp相乘相加的值,在把这个值去跟后面的值比较. 如下面: if( ( (temp7*4+temp6*2+temp4*1) <= 5 ) && ( (temp1+temp2+temp3) >= 1) )
@俞隶4074:关于编程的键扫描该什么来理解temp,谢谢
邰育13434679077…… 能否尽量详细地说一下: P1=0x0F; //低四位输入 delay(1); //稍稍延时 temp=P1; //读P1口 temp=temp&0x0F; //取低四位 temp=~(temp|0xF0); if(temp==1) //检测按下的键所在的列号,在第一列 key=0; else if(temp==2) //在第二列 key=1; ...
@俞隶4074:单片机4*4矩阵键盘
邰育13434679077…… #include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit key1=P3^4; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0}; uchar ...
@俞隶4074:&在单片机中是什么意思 例如temp=P3&0xf0 temp为变量 -
邰育13434679077…… &是按位与的意思,就是说只将P3口的高四位读入,低四位为0,放到 temp里面
@俞隶4074:*(int*)&temp和(int)temp的区别
邰育13434679077…… int i = *(int*)&temp和int i = (int)temp是对的 int i = (int)temp是把temp的值取出来转化成int型的,而temp的值还有temp的值的地址不改变 int i = *(int*)&temp是把temp的值的地址取出来,转化成int *的,然后在取值,而temp的值的地址不...
@俞隶4074:temp=&temp2*100.0 这句话什么意思 -
邰育13434679077…… temp是一个变量,他的作用是作为num1和num2两个变量互换值的中间变量,先将num1的数存到temp中,然后在把num2的数赋给num1,这样就不至于在num2赋值给num1时将num1的数覆盖而使之消失,最后将temp的值赋给num2变量,这样就很准确的将两个变量值进行交换.
@俞隶4074:单片机C中的temp=temp&1什么意思? -
邰育13434679077…… 取temp最后一位的值
邰育13434679077…… TR0 = 1; temp = temp & 0x0f;//0x0f是掩码,作用是取temp的低四位,比如temp=0xfff1;和0x0f取掩码之后就变成了0x01 while (temp != 0x0f) //循环里面貌似没什么值得解释的吧 { temp = P3; temp = temp & 0x0f; } TR0 = 0;
@俞隶4074:单片机c语言编程语句temp=temp<<1和temp=temp<<1+1怎么理解 ,他们有什么区别? -
邰育13434679077…… temp=temp<<1表示将temp左移一位;temp=temp<<1+1则是将temp左移一位后加1.左移的含义:比如temp=00001111B(二进制),那么temp<<1的结果是00011110,也就是temp的数据位依次向左移动一位,最高位可以认为被舍弃,最低位由0补齐.这是基本的位运算,可以参考相关的C语法书目.
@俞隶4074:求助单片机C语言大神!!!uchar temp; temp=0; P1=temp;temp++;这怎么理解? -
邰育13434679077…… 74HC154 的输出 从 Y0——Y15 对应的输入是 0000——1111 ,即从 0——15,所以 当 P1 = temp;...... temp++; if(temp==16) temp=0;就是环输入 0——15 输出就是 Y0——Y15 不断循环 实际上计算机里面的都是二进制码,只不过我们表示成十进制的而已 在计算机内存中任然以二进制存储,只是显示给我们的是十进制数 XXXX0000——XXXX1111,X 表示无关位,左边高位,右边低位
@俞隶4074:C语言if语句if((temp7*4+temp6*2+temp4*1<=5)&&(temp1+temp2+temp3>=1))怎么不对 -
邰育13434679077…… temp7*4+temp6*2+temp4*1<=5 和 temp1+temp2+temp3>=1 这样是不对的 要加括号;先计算几个temp相乘相加的值,在把这个值去跟后面的值比较. 如下面: if( ( (temp7*4+temp6*2+temp4*1) <= 5 ) && ( (temp1+temp2+temp3) >= 1) )
@俞隶4074:关于编程的键扫描该什么来理解temp,谢谢
邰育13434679077…… 能否尽量详细地说一下: P1=0x0F; //低四位输入 delay(1); //稍稍延时 temp=P1; //读P1口 temp=temp&0x0F; //取低四位 temp=~(temp|0xF0); if(temp==1) //检测按下的键所在的列号,在第一列 key=0; else if(temp==2) //在第二列 key=1; ...
@俞隶4074:单片机4*4矩阵键盘
邰育13434679077…… #include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit key1=P3^4; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0}; uchar ...
@俞隶4074:&在单片机中是什么意思 例如temp=P3&0xf0 temp为变量 -
邰育13434679077…… &是按位与的意思,就是说只将P3口的高四位读入,低四位为0,放到 temp里面
@俞隶4074:*(int*)&temp和(int)temp的区别
邰育13434679077…… int i = *(int*)&temp和int i = (int)temp是对的 int i = (int)temp是把temp的值取出来转化成int型的,而temp的值还有temp的值的地址不改变 int i = *(int*)&temp是把temp的值的地址取出来,转化成int *的,然后在取值,而temp的值的地址不...
@俞隶4074:temp=&temp2*100.0 这句话什么意思 -
邰育13434679077…… temp是一个变量,他的作用是作为num1和num2两个变量互换值的中间变量,先将num1的数存到temp中,然后在把num2的数赋给num1,这样就不至于在num2赋值给num1时将num1的数覆盖而使之消失,最后将temp的值赋给num2变量,这样就很准确的将两个变量值进行交换.
@俞隶4074:单片机C中的temp=temp&1什么意思? -
邰育13434679077…… 取temp最后一位的值