单片机 想用74HC595控制8位led灯 有数据输入到595中 可是8位led灯一直常亮或不正常显示。 10
这是我写的程序:#include<reg52.h>#include<intrins.h>sbitDATA=P0^0;//串行数据输入sbitSCK=P0^1;//位移锁存...
这是我写的程序:
#include<reg52.h>#include <intrins.h>
sbit DATA = P0^0;//串行数据输入sbit SCK = P0^1;//位移锁存器时钟讯号sbit LCK = P0^2;//平行锁存器时钟讯号
void main(){ unsigned char i = 0,SJ = 0xAA; unsigned int p = 0; while(1) { LCK = 0; for(i=0;i<8;i++) { SCK = 1; if((SJ<<p)&0x80) { DATA = 1; } else { DATA = 0; } SCK = 0; _nop_(); _nop_(); SCK = 1; p++;
} LCK = 1; _nop_(); _nop_(); LCK = 0; p=0; i=0; }} 展开
#include<reg52.h>#include <intrins.h>
sbit DATA = P0^0;//串行数据输入sbit SCK = P0^1;//位移锁存器时钟讯号sbit LCK = P0^2;//平行锁存器时钟讯号
void main(){ unsigned char i = 0,SJ = 0xAA; unsigned int p = 0; while(1) { LCK = 0; for(i=0;i<8;i++) { SCK = 1; if((SJ<<p)&0x80) { DATA = 1; } else { DATA = 0; } SCK = 0; _nop_(); _nop_(); SCK = 1; p++;
} LCK = 1; _nop_(); _nop_(); LCK = 0; p=0; i=0; }} 展开
4个回答
展开全部
参考这个
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit sh_cp=P2^0;
sbit ds=P2^1;
sbit st_cp=P2^2;
void delay()
{
uint a=20000;//慢点可以看清工作过程
while(a--);
}
void main()
{
uchar b,datah,datal;
datah=0xc0;
datal=0xf0;
for(b=0;b<8;b++)
{
sh_cp=0;
st_cp=0;
datah<<=1;
ds=CY;
delay();
sh_cp=1;//sh_cp上升沿 移位
delay();
st_cp=1;//st_cp上升沿 存储
}
for(b=0;b<8;b++)
{
sh_cp=0;
st_cp=0;
datal<<=1;
ds=CY;
delay();
sh_cp=1;//sh_cp上升沿 移位
delay();
st_cp=1;//st_cp上升沿 存储
}
sh_cp=0;
st_cp=0;
//while(16);
}
宿兴电子
2024-11-28 广告
2024-11-28 广告
联系我们一、有无震荡源 无源这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。 二、价格不同 有源蜂鸣器往比无源蜂鸣器贵,就是因为里面多个震荡...
点击进入详情页
本回答由宿兴电子提供
展开全部
#include<reg52.h>#include <intrins.h>
sbit DATA = P0^0;//串行数据输入
sbit SCK = P0^1;//位移锁存器时钟讯号
sbit LCK = P0^2;//平行锁存器时钟讯号
void main()
{
unsigned char i = 0,SJ = 0xAA;
while(1)
{
LCK = 0;
for(i=0;i<8;i++)
{
SCK = 1;
SJ<<1;
DATA=CY;
SCK = 0;
_nop_(); _nop_();
SCK = 1;
}
LCK = 1;
_nop_(); _nop_();
LCK = 0;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看插图,595的输出端,已经都是低电平了,
但是,LED,一个也没有亮。
是楼主的 LED,用的不对。
但是,LED,一个也没有亮。
是楼主的 LED,用的不对。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要么时序问题,要么就是没有延时,闪的过快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询