|
#include<reg52.h>
#include<intrins.h>
sbit si=P2^2; //數(shù)據(jù)線 74hc595的14管腳
sbit rck=P2^3; //輸出儲(chǔ)存器鎖存時(shí)鐘線 74hc595的12管腳
sbit sck=P2^4; //數(shù)據(jù)輸入時(shí)鐘線 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);
}
}
|
|