說明:串行數據由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);
}
}
|