完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
本帖最后由 music_mc 于 2014-9-14 10:23 编辑
void main() { unsigned char a,b,c; //自己做来记牢的,供大家参考 //按位与“&” 必须都为‘1’ 否则为‘0’ P2 = 0xff; P2 &= 0x80; // 'P2=P2&0X80' 意思相同 //1111 1111 & 1000 000 //结果P2.7=1,其余都为0 “1000 0000” //按位或“|” 必须都为‘0’ 否则为‘1’ P0 = 0x00; //改为P1/P2/P3都可以,就是P0调试会有不同 P0 |= 0x11; //'P0=P0|0x11' 意思相同 //0000 0000 | 0001 0001 //结果是0001 0001 P0.0和P0.4为‘1’ //按位异或“^” 相同为‘0’ 不同为‘1’ //暂无 //按位取反“~” ‘1’为‘0’ ‘0’为‘1’ P1 = 0x7d; //0111,1101 P1 =~ P1; //1000,0010 //左移“>>” 右移"<<" P3 = 0xf0; //1111 0000 未左移前 P3 = P3>>4; //0000 1111 左移后 P3>>=4; 意思相同 P3 = P3<<4; //1111 0000 右移回 P3<<=4; 意思相同 //循环左移_crol_(X,1)、循环右移_cror_(X,1) P2 = 0xfe; //P2.0为‘0’ 1111 1110 P2 = _crol_(P2,1); //左移1位 循环 1111 1101 P2 = _cror_(P2,1); //右移1位 循环 1111 1110 //循环表示当P2.0左移到超过P2.7时,又跳到P2.0 //高四位取反,低四位不变 P2 = 0xfa; //1111 1010 执行前 P2 = ((~P2) & 0xF0) | (P2 & 0x0F); //0000 1010 执行后 //(P2 & 0x0F) 1111 1010 & 0000 1111 = 0000 1010 //((~P2) & 0xF0) 0000 0101 & 1111 0000 = 0000 0000 //0x00|0x0a=0x0a //以下也可以高4位取反,低4位不变 P2 = 0x37; //0011 0111 a = P2>>4; //0000 0011 a =~ a; //1111 1100 a <<= 4; //1100 0000 b = P2<<4; //0111 0000 b >>= 4; //0000 0111 a = a|b; //1100 0111 //取得高4位,或者取得低4位 P2 = 0x3f; a = P2>>4; //得到高4位 b = P2<<4; //得到低4位 //也可以是下面这样 a = P2; b = a/16; //得到高4位 c = a%16; //得到低4位 //在或者 b = (a & 0xF0) >> 4; //得到高四位 c = (a & 0x0F); //得到低四位 } |
|
相关推荐
4个回答
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16901 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:18 , Processed in 0.564934 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1227