关于给P0口赋值的问题
一般给P0口赋值,直接可以写成P0=0x45即P0^0~P0^7=0100 0101可是现在想让P0^7~P0^0=0100 0101,也即是说把0x45倒过来赋给P0,哪位高手有方法,求助!!! 本帖最后由 zjk 于 2013-5-23 21:49 编辑
额,P0=0xA2不行么?悲催的孩子。。。{:sweat:} 有必要这样做,直接倒过来赋值就可以,P0=0x54 就OK了 楼主想让0x45自动转换成0x54。 zjk 发表于 2013-5-23 21:46 static/image/common/back.gif
额,P0=0xA2不行么?悲催的孩子。。。
额,这只是一个例子。没那么简单,程序中要赋值无数次,不可能把每次要赋的值改过来 xslff 发表于 2013-5-23 21:59 static/image/common/back.gif
楼主想让0x45自动转换成0x54。
不是这个意思,应该是想让0x45转换成成0xA2.
或者是对P0口进行转换,可是怎么装换呢? benqme 发表于 2013-5-23 21:50 static/image/common/back.gif
有必要这样做,直接倒过来赋值就可以,P0=0x54 就OK了
我不是这个意思啊 #include <reg52.h>
#include <intrins.h>
unsigned char temp,i;
main()
{
temp=0x45;
P1=temp;
temp=_cror_(temp,1); // 循环右移一位
P1=temp; //P1=0xa2
while(1);
}
#include <reg52.h>
#include <intrins.h>
unsigned char temp,i;
main()
{
temp=0x45;
P1=temp;
for(i=0;i<4;i++)
{
temp=_crol_(temp,1);
}
P1=temp; //p1=0x54;
while(1);
} benqme 发表于 2013-5-23 23:18 static/image/common/back.gif
#include
#include
unsigned char temp,i;
谢谢你了,可是我需要的是针对一类数的算法,不只是针对0x45变成0xA2 本帖最后由 Tliang 于 2013-5-24 10:27 编辑
1、改硬件
2、改数据
3、写个转换函数。
如下
uint8 tranition(uint8 dat)
{
uint8 i, temp = 0;
for(i = 0;i < 8;i++)
{
temp >>= 1;
temp |= (dat & 0x80);
dat<<= 1;
}
return temp;
} Tliang 发表于 2013-5-24 10:22 static/image/common/back.gif
1、改硬件
2、改数据
3、写个转换函数。
感谢高手!改硬件都被你看出来了!
学习了!! Tliang 发表于 2013-5-24 10:22 static/image/common/back.gif
1、改硬件
2、改数据
3、写个转换函数。
这个方法好,学习了。谢谢
页:
[1]