赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>2 F/ x Z9 `6 s& a6 f. Z; p
sfr P3M0 = 0xb2;
9 p- g+ S& x' P1 C2 O! z3 a( lsfr P3M1 = 0xb1;) Y% ?( \6 @0 ^ d- x, _
sbit keyb = P3^1 ; //10
# r, N8 e% r$ S4 D. jsbit keyC = P3^0; //100 V0 K1 i* ]+ j; z
///sbit s_cass = P3^5; //10
3 G9 D( _. ^7 w/ `$ x//sbit comm = P3^4; //10
8 M0 V, m3 }, c1 J6 o//unsigned char loaded; 1 g% [1 u$ F$ U: Z& g% X8 s# Y
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起' [5 w7 n! N/ H6 Y) ]9 _6 _
void Delay50us() //@11.0592MHz
% m2 z" q! P* A* W' Z: P1 k{) G N- B/ k. Y, m* V! ?: K
unsigned char i, j;
E1 x! _* b& b8 M3 S8 x. E! T5 \ i = 1;5 o* Q5 R; ^; n0 a. \0 C. P
j = 134;2 [: ~, r4 U- |8 @/ v
do
6 x% @( W1 @/ I/ J {
5 r6 J) L' L# K S- b while (--j);; u& z! w. _0 T- I$ c
} while (--i);
. x. [! p, v: c. k1 l}1 w l8 Z( J8 v/ h% C% g' U
$ E1 L$ u! N. i8 c
void main(void)
2 o) D8 b2 k4 a! K% X; c, H. p{% c7 z+ [. |) `4 D1 v5 o# o
ctrl = 0;7 s! W3 u; h$ z% a" Z4 u+ q
keyb =1;
( U ~; @! E: |1 R6 C" s2 ?! k+ I keyC =1;
; I# Y9 U7 C& V' f: X0 S// comm = 1;
! q; l, m- O( u: r/ j4 n// s_cass = 1 ; - O8 _1 o+ ]! ^9 E- U2 s
while(1)0 u1 g/ M3 }, N" B
{; Y6 w2 r- A9 L5 f( j L! N2 B! I4 D6 m" S
// if (comm==0 && s_cass==1) 9 G" a, c3 \3 l4 ~' M
// {. a5 _" d3 [0 n, G2 \& o2 R7 K8 D
// loaded = 0;
2 I5 [ n) ^5 N* l/ I9 w8 F7 Z8 F- P // } 7 y1 r& w7 W- V
// if (comm==0 && s_cass==0) , i' r. a$ s3 s* R' e" Y
// {, i5 L s: v/ f* ^ G/ p
// loaded = 1;8 o! k$ b% B" r& k
// } 7 S$ ]) o" B( C% Y/ N" Y
: w0 p8 g& A4 S% j: X7 A; a
if (keyb==0 && keyC==0 ) 0 h% r& r. _7 v2 M# F
{: I1 L1 O7 O M; K0 U7 |$ d {
P3M1 = 0x37 ; //00110111
/ {% ]3 W3 `6 t* V8 N8 d P3M0 = 0x08 ; //00001000+ S6 B1 p+ d$ X
Delay50us();/ i) d% j: e* v! k0 m C
ctrl = 1;
6 Z4 {2 w; Q1 U5 H) k }
) E2 l1 W) N) x4 f& L A( ~ l0 U e3 f6 b) v; l0 s
if (keyb==0 && keyC==1 )
& M" G2 ~" r; ?4 F3 [ {, |# h m+ B. G* r* g, v
ctrl = 0;+ w. M" h" n* Z5 q. c5 G! ?
P3M1 = 0x3F ; //00111111 a. t3 G: n/ G, u# F
P3M0 = 0x00 ; //00000000+ h$ y0 T: H. x- ]# X z1 m( x, Q* a/ k
}
: f2 ?' I* z; t6 k }+ I9 w! o$ V0 k, J3 h% g
}2 I# X. M/ M* k
( u7 f. r) W7 A, P. q
5 K8 n/ W$ O" C; N
' a8 l$ `# T! P6 F& m2 S f1 G
8 T) i( Q1 n3 Y6 r. \
0 m$ p# X c1 f; o* i6 M9 t! G6 O
6 K1 C6 N1 G6 a4 `9 |4 c
+ S U( z* a7 `; D w
; `& y7 x/ P/ ^, J1 b/ b X& o
$ L5 L! D! t: W( z/ y9 k- y' J4 c: O: N
, G) |3 \# j9 B7 o1 V/ W1 H# ^/ k: y3 P, ?# L
* b2 n( |: L: i9 `- ~; O* B
|