|
单片机C语言实例-136-串转并数字芯片测试
内容:通过74hc164串行信号转并行信号依次点亮8个LED灯,
然后依次熄灭8个灯,先下载好该程序,然后用8个杜邦线连接LED排针J9和P1口插针
J22,端子CLK连接P2.0,A或者B连接P2.1,另外悬空的一端A或B连接至VCC,共需要11根杜邦线
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit CLK=P2^0; //串行时钟
sbit INPUT=P2^1; //串行数据
/*------------------------------------------------
延时子程序
------------------------------------------------*/
void delay(unsigned int cnt)
{
while(--cnt);
}
/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{
unsigned char temp; //作为测试数据
unsigned char i;
while(1)
{
temp=0x00; //初始值0
for(i=0;i<8;i++)
{
INPUT=temp&0x01;//取最后一位赋值
temp>>=1; //右移
CLK=0; //上升沿作用
CLK=1;
delay(30000); //演示有助于观察效果
}
temp=0xff;
for(i=0;i<8;i++)
{
INPUT=temp&0x01;
temp>>=1;
CLK=0;
CLK=1;
delay(30000);
}
}
}
更多详情参考附件文档
|
|