请教 74HC165的问题
接独立按键,在动态数码管输出..前略发现读取出来的,只有最高位和最低位是正确的
按最高位的按键时可以识别 0111 1110;
按最低位的按键时可以识别 1111 1110;
但是中间的其他位,按下去也和最低位的情况 一样输出 1111 1110 求解?
不知道为什么没有显示代码,代码如下:
..前略
typedef unsigned char u8;
sbit QH=P0^5; //数据接收
sbit CLK=P0^6; //时钟脉冲
sbit PL=P0^7; //低电平时数据保存到165寄存器中
u8 Read74HC165(){ //调用函数,返回1个字节
u8 i,dt;
PL=0;
_nop_();
PL=1;
_nop_();
dt=0;
for(i=0;i<8;i++){
dt=dt<<1;
dt|=QH; //这个赋值放在CLK=0下面也是一样的情况
CLK=0;
_nop_();
CLK=1;
}
return dt;
}
后略.. 代码请看2楼
页:
[1]