C代码:
#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)
{
}
}
仿真原理图: