功能:常用于拓展IO口,简单地说是一个串行输入并行输出的芯片,即数据从输入端每次串行输入(数据一位一位地从一个端口输出),等到8位时并行输出(数据从8个引脚同时输出)。
引脚功能: 
/*
*--------------------------------------------------------------------------*
*st_cp(12号引脚),上升沿时将数据移位
*sh_cp(11号引脚),上升沿时将数据输出
*OE(13号引脚),高电平时禁止输出,用一个引脚控制它可达到闪烁效果
*ds(14号引脚),数据串行输入口
*--------------------------------------------------------------------------*
*/
uchar send_byte(uchar n,uchar ds, bit st_cp, bit sh_cp)
{
uchar i=0;
ds=n;//串行数据输入
st_cp=0;//输入存储器锁存时钟
sh_cp=0;//数据输入时钟
for(i=0;i<8;i++)
{
if(ds&0x01)
ds=1;
else
ds=0;
ds = ds >>1;
st_cp=1;//上升沿,数据移位
st_cp=0;//拉低,等待下次上升沿使用
}
sh_cp=1;//上升沿8位数据并行输出
return ds;
}