單片機C語言程序設(shè)計:串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)
/* 名稱:串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)
說明:串行數(shù)據(jù)由 RXD 發(fā)送給串
并轉(zhuǎn)換芯片 74164,TXD 則用于輸出移位時鐘脈沖,74164 將串行輸入的 1 字節(jié)轉(zhuǎn)換為并行數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)通過 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)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
//主程序
void main()
{
uchar c=0x80;
SCON=0x00; //串口模式 0,即移位寄存器輸入/輸出方式
TI=1;
while(1)
{
c=_crol_(c,1);
SBUF=c;
while(TI==0); //等待發(fā)送結(jié)束
TI=0; //TI 軟件置位
DelayMS(400);
}
}
拓展閱讀:報警與旋轉(zhuǎn)燈程序
編輯:admin 最后修改時間:2018-05-19