单片机C语言程序设计:并行数据转换为串行数据
扫描二维码
随时随地手机看文章
/* 名称:并行数据转换为串行数据
说 明 : 切 换 连 接 到 并 串 转 换 芯 片
74LS165 的拨码开关,该芯片将并行数据以
串行方式发送到 8051 的 RXD 引脚,移位脉
冲由 TXD 提供,显示在 P0 口。
*/
#include<reg51.h>
#include<intrins.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPL=P2^5; //shift/load
//延时
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
//主程序
void main()
{
SCON=0x10; 串口模式 0,允许串口接收
while(1)
{
SPL=0; //置数(load),读入并行输入口的 8 位数据
SPL=1; //移位(shift),并口输入被封锁,串行转换开始
while(RI==0); //未接收 1 字节时等待
RI=0; //RI 软件置位
P0=SBUF; //接收到的数据显示在 P0 口,显示拨码开关的值
DelayMS(20);