本帖最后由 n805 于 2015-12-19 22:36 编辑
2 ?! K1 e+ s, g2 H2 V
6 F! o8 R8 K7 E6 J手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。7 u3 L) ?- \/ C% G- q, H0 F3 q
FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。
- _% J) z2 ^- {) _而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,: x7 {" q$ S, b# J& [6 R2 Z
8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的
: A! T' K" w; D- ~/ m5 v由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位
( X; S. S d8 i: C所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以
/ l! R# ~* e/ H+ x) M想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右
! t3 [; p- U) Q7 R- `0 a+ o不定,而游戏也不断暂停和解锁。。。。。。。。。, Z8 s% [8 L c" g" Q6 g# t, D" k
解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P H, \6 @! k q& ^) ]# [! M7 }- k
和2P的CLK端。附上图片,自己查看。。。。
" e, |' n L) G9 U
) Q) b/ E, f7 T7 o+ l K[url] е е |