怎么打51单片机中的某一引脚的信号,从另一个引脚读出来。具体如下

先给P0=0x01赋值。然后把它的值从另一引脚输出来,即P1=P0。这样好像不行,求解正确的方法... 先给P0=0x01赋值。然后把它的值从另一引脚输出来,即P1=P0。这样好像不行,求解正确的方法 展开
 我来答
Cindere鞡
2013-08-16 · TA获得超过7254个赞
知道大有可为答主
回答量:1148
采纳率:84%
帮助的人:545万
展开全部
直接赋值不行,那么你可以间接赋值:
unsigned char temp;
temp=P1;
P0=temp;
这样就可以了。
希望我的回答能帮助到你。
追问
知道原因了,我把赋值语句放在while(1)外是就行了,但下面放在while里面就不行了,为什么
void main()
{
init();
P2=0x09;
while(1)
{
m=P2;
P1=m;
}
追答
我想这个也许和51系列单片机的IO引脚有关。
具体你可以不用去管为什么,先知道该怎么用,用好了再倒回来查这时为什么,这样事半功倍。
madaraii
2013-08-16 · TA获得超过668个赞
知道小有建树答主
回答量:842
采纳率:41%
帮助的人:294万
展开全部
用汇编吧,什么变量也不用
PUSH P0
POP P1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叫乌鸦的壹少年
2013-08-16
知道答主
回答量:7
采纳率:0%
帮助的人:8.1万
展开全部
楼上正解,定义中间变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式