资讯详情

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

1、图 2、代码 3、小结

代 码 #include <reg52.h> 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、什么是进制位 答:就是保存进位的。

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台