微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机C语言程序设计:串行数据转换为并行数据

单片机C语言程序设计:串行数据转换为并行数据

时间:09-05 来源:互联网 点击:

/* 名称:串行数据转换为并行数据


说明:串行数据由 RXD 发送给串


并转换芯片 74164,TXD 则用于输出移位时钟脉冲,74164 将串行输入的 1 字节转换为并行数据,并将转换的数据通过 8 只 LED 显示出来。本例串口工作模式 0,即移位寄存器 I/O 模式。


*/


#includereg51.h>

#includeintrins.h>


#define uchar unsigned char


#define uint unsigned int


sbit SPK=P3^7;


uchar FRQ=0x00;


//延时


void DelayMS(uint ms)


{


uchar i;


while(ms--) for(i=0;i120;i++);


}


//主程序


void main()


{


uchar c=0x80;


SCON=0x00; //串口模式 0,即移位寄存器输入/输出方式


TI=1;


while(1)


{


c=_crol_(c,1);


SBUF=c;


while(TI==0); //等待发送结束

TI=0; //TI 软件置位

DelayMS(400);

}


}

/* 名称:串行数据转换为并行数据


说明:串行数据由 RXD 发送给串


并转换芯片 74164,TXD 则用于输出移位时钟脉冲,74164 将串行输入的 1 字节转换为并行数据,并将转换的数据通过 8 只 LED 显示出来。本例串口工作模式 0,即移位寄存器 I/O 模式。


*/


#includereg51.h>

#includeintrins.h>


#define uchar unsigned char


#define uint unsigned int


sbit SPK=P3^7;


uchar FRQ=0x00;


//延时


void DelayMS(uint ms)


{


uchar i;


while(ms--) for(i=0;i120;i++);


}


//主程序


void main()


{


uchar c=0x80;


SCON=0x00; //串口模式 0,即移位寄存器输入/输出方式


TI=1;


while(1)


{


c=_crol_(c,1);


SBUF=c;


while(TI==0); //等待发送结束

TI=0; //TI 软件置位

DelayMS(400);

}


}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top