74LS165求助

[复制链接]
9375|26
awey 发表于 2008-4-30 16:48 | 显示全部楼层

请问周公:这里是否有点问题?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DO&nbsp;&nbsp;N&nbsp;=&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;TO&nbsp;&nbsp;7&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;KDAT&nbsp;=&nbsp;0&nbsp;&nbsp;THEN&nbsp;&nbsp;KEY&nbsp;=&nbsp;KEY&nbsp;OR&nbsp;01H&nbsp;&nbsp;;;/*读口状态*/<br />=================================<br />按C的理解,上面的语句连着执行的8次,而没有执行下面的移位操作。<br />这与你只得到H键的输入的结果相吻合。<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;KCLK&nbsp;=&nbsp;1&nbsp;&nbsp;;/*时钟变高*/<br />&nbsp;&nbsp;&nbsp;&nbsp;KEY&nbsp;=&nbsp;ROL&nbsp;(&nbsp;KEY&nbsp;,&nbsp;1&nbsp;)&nbsp;&nbsp;;/*字节左移*/<br />&nbsp;&nbsp;&nbsp;&nbsp;KCLK&nbsp;=&nbsp;0&nbsp;&nbsp;;;/*时钟变低*/<br />=================================<br />上面的语句是在循环体外的,只执行了一次。
hotpower 发表于 2008-5-1 12:20 | 显示全部楼层

时钟的时序不对

&nbsp;&nbsp;&nbsp;&nbsp;KDAT&nbsp;=&nbsp;1&nbsp;&nbsp;;&nbsp;/*释放数据总线*/<br />&nbsp;&nbsp;&nbsp;&nbsp;KEY&nbsp;=&nbsp;0&nbsp;&nbsp;;&nbsp;&nbsp;/*&nbsp;变量赋&nbsp;0,没必要!!!&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;KLOAD&nbsp;=&nbsp;0&nbsp;&nbsp;;/*锁存按键状态*/<br />&nbsp;&nbsp;&nbsp;&nbsp;KLOAD&nbsp;=&nbsp;1&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;DO&nbsp;&nbsp;N&nbsp;=&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;TO&nbsp;&nbsp;7&nbsp;&nbsp;;/*移动8位串行数据*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KEY&nbsp;=&nbsp;ROL&nbsp;(&nbsp;KEY&nbsp;,&nbsp;1&nbsp;)&nbsp;&nbsp;;/*字节左移,应该先移动!!!*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KCLK&nbsp;=&nbsp;0&nbsp;&nbsp;;/*时钟变低,在下降沿要读数据*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;KDAT&nbsp;=&nbsp;0&nbsp;&nbsp;THEN&nbsp;&nbsp;KEY&nbsp;=&nbsp;KEY&nbsp;OR&nbsp;01H&nbsp;&nbsp;;/*此时才能读口状态,有键为1*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KCLK&nbsp;=&nbsp;1&nbsp;&nbsp;;/*时钟变高,此时内部数据才开始移动*/<br />&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;&nbsp;;<br />
 楼主| 西安周公 发表于 2008-5-1 17:20 | 显示全部楼层

去了P2.0(数据接收)的上拉排阻10K好了。讲不通,可是行了

多谢大家费心!近处个别同志可以来喝酒。
hotpower 发表于 2008-5-1 20:53 | 显示全部楼层

建议用22楼的程序~~~楼主的非标呀~~~

  
 楼主| 西安周公 发表于 2008-5-27 10:23 | 显示全部楼层

第二块板子什么问题没有,工作正常。

10K还在,没有影响。怪哉!
ht_chb 发表于 2010-7-23 12:27 | 显示全部楼层
我也遇到同样的情况了,查了2天,郁闷中,
后来还是发现了原因,就是那个时钟线受到了,数据线的干扰,后来把时钟线和数据线分开就解决了
ht_chb 发表于 2010-7-23 12:28 | 显示全部楼层
就是距离加大,解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部