微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新手请教一下关于单片机代码的问题

新手请教一下关于单片机代码的问题

时间:10-02 整理:3721RD 点击:
unsigned char i = 0;
unsigned char d1 =0xfa;
for(i=0; i<8; i++)
{
p3^5 = d1 >> 7;
d1 = d1 << 1;
}
上面这个代码要求是让单独Io口依次输出d1。
但不明白为什么是先右移七位再左移一位。
麻烦讲的详细点,谢谢了^ω^

uchar i;
uchar d1 = 0xfa;
for (i=o; i<8;i++)
{
p3^5 = d1>>7;
d1 = d1<<1;
}
要求让单独io口依次输出d1,不懂为什么要先右移七位在左移一位麻烦讲详细点,谢谢了*^_^*

p3^5 = d1 >> 7;
是取d1的最高位
d1 = d1 << 1;
将d1左移1位
等价于
if(d1 & (1 << 7))
{
  p3^5 = 1;
}
else
{
  p3^5 = 0;
}
d1 <<= 1;

哦明白了,谢谢

高手能来个最简单的单片机或者C语言的教学帖吗  谢谢

呵呵,我表述能力很差。

没事的  我们看不懂再向你请教呀  不试一下就不会知道的  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top