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

关于程序问题

时间:10-02 整理:3721RD 点击:
void Ds18b20WriteByte(unsigned char dat)
{
        unsigned int i,j;
    EA = 0;
        for(j=0;j<8;j++)
        {
                DSPORT=0;                       
                i++;
                DSPORT=dat&0x01;
                i=6;
                while(i--);
                DSPORT=1;       
                dat>>=1;
        }
    EA = 1;
}
刚刚接触单片机,有点看不懂程序中的这一句DSPORT=dat&0x01;是什么意思? 然后dat>>=1;为什么dat要移一位?

DSPORT=dat&0x01;
把DSPORT的最低位与dat位相同,其他位全置0
dat>>=1
这一句是dat=dat>>1;
相当于dat除2

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

网站地图

Top