第一个74595的串行输入端SER与89C52的P0口的P00相接;移位控制SRCLK由89C52的WR与经74138移码产生的Y2控制;而RCLK由P3.5控制。其中74595是两级级连,即第一个74595的QHN与连接到第二个74595的SER端。 #include <reg52.h> #include <intrins.h> #include <absacc.h>
#define uchar unsigned char #define uint unsigned int
#define WR595 XBYTE[0x8200]
sbit T1C = P3^5; uchar code cm[5]={0x31,0x02,0x56,0x45,0x12};
void Write595(uchar val);
void main(void) { uchar j; for (j=0;j<5;j++) { Write595(j); } }
void Write595(uchar val) { uchar i; for (i=0;i<8;i++) { WR595 = (bit)(val&0x01); val = val>>1;
} T1C = 0; _nop_(); T1C = 1; }
|