大神们,帮我看看我的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();
}
程序如下
#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;