赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>' W5 ^" d* ]; C, \* i% D
sfr P3M0 = 0xb2;- I+ G U! K, X2 t
sfr P3M1 = 0xb1;" r/ p* J* J5 J H7 d
sbit keyb = P3^1 ; //10
7 p: l4 D# x- a6 K/ Isbit keyC = P3^0; //10
7 M- V0 M/ r' H+ }6 _" J///sbit s_cass = P3^5; //106 _+ q! _- s' c0 q+ F/ N
//sbit comm = P3^4; //102 A# U3 B: ?. ]5 Q) G
//unsigned char loaded; 8 a+ A% U |& k( T
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起: K: a5 W+ R" Z2 s5 u% z$ D
void Delay50us() //@11.0592MHz
. o+ W/ r/ X' F5 {9 ^{$ }( o* V% ^7 X
unsigned char i, j;! C4 a* N! ^! H* ^
i = 1;
0 Y4 i7 h! g6 d5 ? j = 134;
6 z; v/ C" r/ e7 {+ b+ g do2 n4 N# A: \9 x/ S/ }4 }& K
{
: y1 t/ |0 `: J while (--j);% W2 T. R3 h6 R; h3 T7 h3 T
} while (--i);
8 W# ?$ L$ D# T. A+ |' N}
. n" S2 _; f+ v- i, D M' f: w( X5 i0 U( z% ?" F, N0 }8 G
void main(void)' t# i9 }4 Y% B i+ Z& t) ~* o( I( F
{
( m0 }6 q" O h3 e ctrl = 0;
' e6 z% c0 G* G keyb =1;. M( g7 k' F: A/ @7 P# N
keyC =1;
% r2 w7 o7 N$ N( M( A# L( y0 t0 X// comm = 1;7 c+ O* j5 O0 _ T
// s_cass = 1 ;
/ s) ?# M) n4 P& d" w6 ] while(1)
C0 ~* ?; K" r ~, W {
1 N6 S! O3 n. }- R9 `* _ // if (comm==0 && s_cass==1) 3 ^+ E: c, U+ {# x" ]1 h" c9 M6 j
// {
) s! z, Y! f: [( |8 F9 V // loaded = 0;+ `. j6 O- S7 l
// } % i6 p* e- G5 x) \: h$ `
// if (comm==0 && s_cass==0)
! l9 H2 t# d n( n3 G2 H // {8 J+ J. b+ o. z u
// loaded = 1;* Y7 l( B/ \7 B6 B+ Q
// } t$ l, A8 m: l8 f; M! G
9 a. a# q7 Z* s# j3 x2 ~ if (keyb==0 && keyC==0 )
& }. n; b& O$ s/ b, c, ? {9 _/ j9 @& k x: H
P3M1 = 0x37 ; //00110111
. q H$ _' _3 n! W P3M0 = 0x08 ; //000010000 j& ~- ?2 }3 u1 ~$ `
Delay50us();
/ }7 w* y, I J) ]9 Z7 W2 I: j ctrl = 1;
- O- {' O8 w7 O }- k1 u8 @9 l7 u0 ?
8 f8 B- p t1 Q% }5 Q if (keyb==0 && keyC==1 ) # f9 U& I2 q; p. D- t
{' O4 g8 ^, i, q- k% N% }" h, l+ {
ctrl = 0;
: t5 r4 Y2 ~1 [6 [0 E) D P3M1 = 0x3F ; //00111111
" y, k$ T' F, X2 @3 p8 d P3M0 = 0x00 ; //00000000" g7 x$ T: w' D7 J! O
}
7 }$ T$ B. Y$ w- u( n: M }8 z" b5 p O+ K" D9 K0 Z
}
3 g- X' u2 X6 M* n
8 E7 u+ u# v9 ], ~: X4 l
/ |8 e! q* M* V" y- I/ B
6 ^3 j$ ~: I5 ?
% x5 B' A2 P) Q' z
* y6 P# j: c! t+ g' f* D5 W
& s# p0 G6 E9 j9 `$ m0 }7 Y- E) V
; A( v0 p3 s! `7 j6 u5 J; u
6 {3 C8 e7 D6 X8 }& x3 y
5 I' Y1 Q4 s3 [6 I/ I( c8 l3 q" W
T/ N k3 g, @4 s: d* c4 G: T' p9 e) ?7 M8 X
9 q6 w- ]3 Q; Q" J9 |0 n7 y+ ~ R- A0 M. S7 ~
|