
74HC595内含8位串入并出移位寄存器和8位三态输出锁存器。寄存器和锁存器分别有各自的时钟输入SCLK(SH_CP),SLCK(ST_CP);都是上升沿有效。当SCLK有低到高电平跳变时,串行输入数据(SDA)移入寄存器,当SLCK有低到高电平跳变时,寄存器的数据置入锁存器。
74HC595程序:
#include #include sbit SCLK=P1^0; sbit DAT=P1^1; sbit SLCK=P1^2; unsigned char code tab[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//0-9,-,全灭 void sendbyte(unsigned char a) {  unsigned char i;    for(i=0;i<8;i++)         {          SCLK=0;          DAT=a&0x80;          a=a<<1;          SCLK=1;          } } void out595(void) {         SLCK=0;         _nop_();         SLCK=1; } main() { unsigned char i ;   unsigned int  f=60000;     while(1)     { for(i=0;i<9;i++)             {         sendbyte(tab[i]);         out595();          while(f--);       }     } }   PROTUES仿真如下:
