微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 大神们,帮我看看我的74hc595程序哪里错了?

大神们,帮我看看我的74hc595程序哪里错了?

时间:10-02 整理:3721RD 点击:
我想用74HC595驱动8个LED小灯,但是一直没变化!
程序如下
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SHCP=P2^0;
sbit DS=P2^1;
sbit STCP=P2^2;
void IN_595(uchar temp)
{   
        uint i;
    for(i=0;i<8;i++)
   {
     SHCP=0;
         temp=0x80;
         DS=temp&0x80;
         temp>>=1;
         _nop_();_nop_();
         SHCP=1;
     }
}
void OUT_595()
{
  STCP=0;
  _nop_();_nop_();
  STCP=1;
  }
main()
{  
      void IN_595();
      void OUT_595();
}

我的的电路图


大神,这是我自己写的,我只是参考别人的程序,不会照抄,不然怎么自学新的知识

你在keil里面调试,更方便一点啊

我从KEIL里调试都憋了一个星期了

TEMP是个啥?

main 函数里面不需要一个大循环“while(1)”吗?我是小白,看视频是需要一个循环条件,否则编译失败。还有,好像你所有的编译都没有delay设置,状态能一直保持吗?      我是小白。

void IN_595(uchar temp)
{   
        uint i;
    for(i=0;i<8;i++)
   {
     SHCP=0;
         temp=0x80;
         DS=temp&0x80;
         temp>>=1;
         _nop_();_nop_();
         SHCP=1;
     }
}
去掉 temp=0x80;
temp>>=1;改为 temp<<=1;

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

网站地图

Top