#include<reg52.h>
#include<intrins.h>
sbit si=P2^2; //数据线 74hc595的14管脚
sbit rck=P2^3; //输出储存器锁存时钟线 74hc595的12管脚
sbit sck=P2^4; //数据输入时钟线 74hc595的11管脚
sbit sclr=P2^5; //移位寄存器清零端 74hc595的10管脚
void delay(unsigned char p)
{
unsigned char i;
while(p--)
{
for(i=110;i>0;i--);
}
}
void write_data(unsigned char pp)
{
unsigned char i;
sclr=1;
for(i=0;i<8;i++)
{ sck=0;
if(pp&0x80)
si=1;
else si=0;
sck=1;
pp<<=1;
}
rck=0;
delay(5000);
rck=1;
delay(5000);
rck=0;
}
void main()
{
unsigned char q=0xfe;
sclr=0;
delay(5000);
sclr=1;
while(1)
{
write_data(q);
delay(1);
q=_crol_(q,1);
delay(25000);
}
}
74HC595驱动程序
最新推荐文章于 2024-08-09 15:29:34 发布