串行數據轉換成并行數據
#include
sbit HC164_data = P3^0; // 端口引腳定義。,數據輸出端,
sbit HC164_CLK = P3^1; //時鐘輸出端
// 延時函數
void delay(void)
{
unsigned int i,j;
for(i=0;i<1000;i++)
{
for(j = 0;j < 500;j++);
}
}
// 主函數
void main(void)
{
unsigned char i;
P3 = 0x00;
for(i = 0;i < 8;i++) //
{
HC164_data = 1 << i; // 數據串行輸出,一次移動一位
HC164_CLK = 1; // 數據在上升沿期間輸出
HC164_CLK = 0; //
delay();
}
while(1)
{
}
}
仿真原理圖:

評論