51单片机学习之74HC595 串转并
#include <>
#include <>
sbit sck=P0^1;
sbit ser=P0^0;
sbit rck=P0^2;
//typedef P1 led;
typedef unsigned char u8;
void _74hc595(u8 a)
{
u8 i;
for(i=0;i<8;i++)
{
ser=a>>7;
a<<=1;
sck=0;
_nop_();
_nop_();
sck=1;
}
rck=0;
_nop_();
_nop_();
rck=1;
}
void delay300ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=123;c>0;c--)
for(b=116;b>0;b--)
for(a=9;a>0;a--);
}
int main()
{
u8 i;
while(1)
{
u8 led=0x01;
for( i=0;i<8;i++)
{
_74hc595(~led);
delay300ms();
led<<=1;
}
}
}