您的位置 首页 开关

进制位(CY)与数据左、右移动

1、图2、代码3、小结代码includereg52h>sbitled=P2^0;sbitled2=P2^1;voidDelayUs2x(unsignedchart){while(–t);}vo

1、图

2、代码
3、小结

代 码

#include
sbit led=P2^0;
sbit led2=P2^1;
void DelayUs2x(unsigned char t)
{
while(–t);
}
void DelayMs(unsigned char t)
{

while(t–)
{
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*以下函数便是回转扫描的精华*/
unsigned char jpsm()//矩阵键盘回转扫描
{
unsigned char i=0;//用于接纳按键数值
P0 = 0x0f;//检测低4位
if(0x0f != P0)//检测按键是否按下
{
DelayMs(10);//去抖
if(0x0f != P0)//在次判别按键是否真的按下而不是其他搅扰
{
i = P0;//把低4位赋值给i
P0 = 0xf0;//检测高4位
DelayUs2x(5);//略微延时。。这条句子能够去掉
i = i | P0;//把低4位和高4位组合成完好的按键数值
while( 0xf0 != P0 )//检测按键是否松开
{
;
}
return i;//回来按键数值
}
}
return 0;//按键没有按下回来0
}

void main()
{
unsigned char i=0xaa;
while(1)
{
if(126 ==jpsm())//判别按键1是否按下
{
/*i <<= 1;//注:在Keil编译器中不管是左移仍是右移,移出的数据都是放在CY中
led = CY;*/
i >>=1;
led = CY;
}
}
}

小结
1、什么是进制位
答:便是保存进位的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/317171.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部