/* 名称:并行数据转换为串行数据
说明:切换连接到并串转换芯片
74LS165的拨码开关,该芯片将并行数据以
串行方式发送到8051的RXD引脚,移位脉
冲由TXD提供,显示在P0口。
*/
#includereg51.h>
#includeintrins.h>
#includestdio.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitSPL=P2^5; //shift/load
//延时
voidDelayMS(uintms)
{
uchari;
while(ms--)for(i=0;i120;i++);
}
//主程序
voidmain()
{
SCON=0x10; 串口模式0,允许串口接收
while(1)
{
SPL=0;//置数(load),读入并行输入口的8位数据
SPL=1;//移位(shift),并口输入被封锁,串行转换开始
while(RI==0);//未接收1字节时等待
RI=0; //RI软件置位
P0=SBUF;//接收到的数据显示在P0口,显示拨码开关的值
DelayMS(20);
}
}
拓展阅读:串行数据转换为并行数据程序