打印

只对一半IO口进行扫描的方法

[复制链接]
1774|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
run_mo|  楼主 | 2009-1-8 19:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2009-1-8 20:39 | 只看该作者

位操作,与,或,异或...

使用特权

评论回复
板凳
run_mo|  楼主 | 2009-1-8 20:44 | 只看该作者

位操作,与,或,异或...

  位操作一个一个赋值太麻烦了,想问一下有没有更好的方法?

使用特权

评论回复
地板
红心j| | 2009-1-8 22:47 | 只看该作者

扫描的含义就是一个一个的进行

使用特权

评论回复
5
zq1987731| | 2009-1-9 08:15 | 只看该作者

一般51中当然是按位操作的

当然也可以借鉴下ARM中常用的编程思路:

X = P0 & 0xF0;    // 读P04~P07,结果在X中

//此处对X的值进行相关操作

P0 &= 0x0F;       // 清除P04~P07
P0 |= X & 0xF0;   // 将修改完的P04~P07"或"进P0中

细节方面就不管了,总之全程中P00~P03的值没变过吧

使用特权

评论回复
6
run_mo|  楼主 | 2009-1-9 19:35 | 只看该作者

5楼

谢谢,有启发

使用特权

评论回复
7
ayb_ice| | 2009-1-9 20:08 | 只看该作者

LZ编程还没有入门

使用特权

评论回复
8
run_mo|  楼主 | 2009-1-9 20:29 | 只看该作者

LZ编程还没有入门

对,刚刚开始学。

使用特权

评论回复
9
hotpower| | 2009-1-9 20:34 | 只看该作者

P0要上拉,orl p0,#0F0H;mov a,P0;swap a;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

44

帖子

0

粉丝