说明:串行数据由RXD发送给串并转换芯片74164,TXD则用于输出移位时钟脉冲,
74164将串行输入的1字节转换为并行数据,并将转换的数据通过8只LED显示出来。
本例串口工作模式0,即移位寄存器I/O模式。
单片机源程序如下:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPK=P3^7;
uchar FRQ=0x00;
//延时
void DelayMS(uint ms)
{
uchari;
while(ms--)for(i=0;i<120;i++);
}
//主程序
void main()
{
ucharc=0x80;
SCON=0x00; //串口模式0,即移位寄存器输入/输出方式
TI=1;
while(1)
{
c=_crol_(c,1);
SBUF=c;
while(TI==0); //等待发送结束
TI=0; //TI软件置位
DelayMS(400);
}
}
|