51中如何将几个位并置在一起
比如我想将P1 P2中的一共8个位并置在一起成为一个新的8位IO口,要怎么办呢 1. 割開芯片。2. 重新連線。 端口映射。。。。。 如果想方便读写操作,可以用宏 |和&的应用。
例如,P1=0xAA, P2=0x55, 要合成0x5A .
unsigned char tmp1,tmp2,tmp3;
tmp1=P1&0x0F; //0x0A
tmp2=P2&0xF0; //0x50
tmp3=tmp1|tmp2; //0x5A 你做个函数 把数据拆成位赋值到相应的IO即可 这。。。。后来者继续吧 支持2楼。
不过要是我的话,会写一个宏或者API函数来封装。
这种事芯片设计好了,你无解的,只能软件手段来搞。 bdata unsigned char com;
sbit com_0 = com^0;
.
.
.
com_0 = P1^3;
.
.
.
我现在是这样想的,但是不知怎么就出问题了 自己定义一下,重新排列组合即可。 dushanwu522 发表于 2014-5-20 15:28
自己定义一下,重新排列组合即可。
排列组合,?!板子都固定了 dushanwu522 发表于 2014-5-20 15:28
自己定义一下,重新排列组合即可。
现在需要的是八个口一起操作,成为P1=,,,这种形式,方便编程 AbnerSmith 发表于 2014-5-20 16:52
现在需要的是八个口一起操作,成为P1=,,,这种形式,方便编程
做个宏定义之类的应该可以 AbnerSmith 发表于 2014-5-20 16:52
现在需要的是八个口一起操作,成为P1=,,,这种形式,方便编程
估计不行。
弄个函数或宏等等,可以。 这个很早之前发的帖子了,当时是碰到蓝桥杯比赛时候发的,现在有了办法了,如果哪一天有人碰到类似的问题可以回帖问我。今天就不啰嗦了 AbnerSmith 发表于 2014-10-17 11:51
这个很早之前发的帖子了,当时是碰到蓝桥杯比赛时候发的,现在有了办法了,如果哪一天有人碰到类似的问题可 ...
你直接说出来不就行,还等什么以后呀。
页:
[1]