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

74hc165求助

时间:10-02 整理:3721RD 点击:
  这段程序是不是74HC165只读取了7次数据?  应该把  i<8  该成  i<=8 吧?
//函数名称:  74HC165
unsigned long ReHC74165(void)
{  
  unsigned char i;
  unsigned int indata;       
   IN_PL=0;
   NOP();    //短暂延时 产生一定宽度的脉冲
   IN_PL=1;         //将外部信号全部读入锁存器中
   NOP();            
   indata=0;   //保存数据的变量清0  
   for(i=0; i<8; i++)
    {
          indata=indata<<1;         //左移一位
      if(IN_Dat==1)indata=indata+1;        //如果IN_Dat检测到高电平 保存数据的变量加1
          CLK=0;   //时钟置0
      NOP();
      CLK=1;   //时钟置1          
        }
   return(~indata);         //将保存数据的变量取反后返回
}
这段程序是不是74HC165只读取了7次数据?  应该把  i<8  该成  i<=8 吧?

这个i是从0开始到7,共8次,没错
看好初值啊以后。

i=0的时候,是第一次进行移位 并读取数据线上的电平, 但是时钟线并没有在读取前产生上升沿啊,,也就是说  没产生上升沿  ,数据没放出来,就进行了一次读取,  所以我认为第一次没有读取出来数据     求指导?@!?!

i=0的时候,是第一次进行移位 并读取数据线上的电平, 但是时钟线并没有在读取前产生上升沿啊,,也就是说  没产生上升沿  ,数据没放出来,就进行了一次读取,  所以我认为第一次没有读取出来数据     求指导?@!?!

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

网站地图

Top