74HC165 的联级编程实例#include 〈reg51.h〉#include 〈intrins.h>sbit CLK=P2^5; //时钟sbit LD=P2^6; //移位,置位sbit SO=P2^7; //输出#define LED1 P0#define LED2 P1int hc165(){ int i=0; char dat1=0,dat2=0; int dat=0; LD=0;//允许数据数据进入 165 _nop_(); LD=1;// for(i=0;i<8;i++) { dat1〈〈=1; CLK=0; if(SO==1) dat1|=0x01; CLK=1; } for(i=0;i〈8;i++) { dat2〈<=1; CLK=0;if(SO==1) dat2|=0x01; CLK=1; } LD=0; dat=dat1; dat〈〈=8; dat|=dat2; return dat;}void main(){ while(1) { LED1=(hc165()&0XFF); LED2=((hc165()>>8)&0XFF); }}