|
#include "reg51.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit SRCLK=P3^6; //移位寄存器时钟输入
sbit RCLK=P3^5; //存储器时钟输入
sbit SER=P3^4; //串行输入
void Hc595(u8 dat1,u8 dat2)
{
u8 a;
SRCLK=1;
RCLK=1;
//第一个
for(a=0;a<8;a++)
{
SER=dat1>>7;
dat1=dat1<<1;
SRCLK=0;
_nop_();
_nop_();
SRCLK=1;
}
//第二个
for(a=0;a<8;a++)
{
SER=dat2>>7;
dat2=dat2<<1;
SRCLK=0;
_nop_();
_nop_();
SRCLK=1;
}
}
void main()
{
Hc595(0xfe,0x01);
while(1)
{
}
} |
|