上升沿问题

2019-07-15 19:59发布

在这里上升沿为什么不是由0到1,而是由1到0,而且调试的时候前面的没有问题,后面的就会乱闪??求教!!!!!在这里上升沿为什么不是由0到1,而是由1到0,而且调试的时候前面的没有问题,后面的就会乱闪??求教!!!!!
上升沿.jpg
上升沿1.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
依然落叶飘零
2019-07-17 02:55
楼主程序自己写的,还是别人的?别人的程序不一定是对的。还得自己亲身去试验过才知道。
上升沿触发肯定是先电平再变高电平。发我的程序给你参考一下。要想知道你的驱动程序正不正确发送一个字节测试一下595的输出管脚正不正确就知道了。
  1. /*******************************************************************************
  2. * 函数名称       : HC595SendData
  3. * 函数功能                 : 595驱动函数,向SPI总线发送数据
  4. * 输入           : 传送数值
  5. * 输出                  : 无
  6. *******************************************************************************/
  7. void HC595SendData(unsigned char dat)
  8. {  
  9.         unsigned char i;
  10.                
  11.           for(i=0;i<8;i++)
  12.            {
  13.                 SER=dat>>7;
  14.                 dat<<=1;
  15.                 SCLK = 0;                    //产生上升沿,移位
  16.                 _nop_();                //产生方形波
  17.                 _nop_();
  18.                 SCLK = 1;       
  19.            }
  20.    
  21.         RCLK = 0;              //产生上升沿,锁存
  22.           _nop_();               //产生方形波
  23.           _nop_();
  24.           RCLK = 1;              

  25. }
复制代码

一周热门 更多>