赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>& W! N- T" g' q; g5 b$ J
sfr P3M0 = 0xb2;
. ^& Z. W' D" Q- [- @6 ysfr P3M1 = 0xb1;3 `4 X+ l2 j7 x3 P0 o$ D
sbit keyb = P3^1 ; //10
. T6 E8 ?; u. C+ s% `sbit keyC = P3^0; //10
" [5 v# _ O4 S' N8 k///sbit s_cass = P3^5; //10
7 A* Z! |( i( `- p/ ~ k, o//sbit comm = P3^4; //10
2 O% c) ?. m7 A% ]2 w) K- W//unsigned char loaded;
! X+ J; ~" g2 I6 usbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起; E) Y7 H# U, v4 q& B- h, [
void Delay50us() //@11.0592MHz1 r5 y& d' X" n
{8 { K) f( w* P( d
unsigned char i, j;$ z, j$ \6 }& z" G2 u
i = 1;* F0 f: g" |: X+ x+ U* }3 S
j = 134;& a4 Y7 o+ K& v
do8 C v( Q- q2 L. x# {9 c- A
{
9 ^0 |9 H/ I# h( ?* h while (--j);; ^0 H% R {/ ?) J3 B% |" |
} while (--i);" x1 e8 Z0 h& U' k
}
) x5 e1 T' o3 _( y4 j3 h3 ~
# m" S, u' i4 p/ P- Fvoid main(void)
7 b" D- l5 B7 Z4 p: T5 L{
% L$ a* b, [, r ctrl = 0;9 m& T, |% S. `% `) k k
keyb =1;4 s) g6 y) p, x- e y
keyC =1;
. {: T; H6 A8 P// comm = 1;' U& l2 S n! r5 P8 R" Z: M
// s_cass = 1 ; 3 |* d4 w/ }0 u
while(1)
+ z9 S0 t& E) R% D9 p1 l {
, b, W+ {( h+ l4 m // if (comm==0 && s_cass==1)
. K' E4 B# h4 e( W$ \ // {
, o: B" O5 z2 i" l: r+ i" u // loaded = 0;- C5 J2 H d1 W
// }
' [" W- {; l \+ D% q // if (comm==0 && s_cass==0) + ` z) N9 `" p
// {$ ]4 D5 \( t: x z2 W
// loaded = 1;
# U' _6 h( u) N( ?+ c* d // }
2 s- r8 `: H" W* e5 w3 o
& S4 j3 z" u+ J, o% }6 O/ p$ c if (keyb==0 && keyC==0 )
! b% }& w8 I l# K Z {# s- W; U5 K$ Q
P3M1 = 0x37 ; //00110111
! @$ ~5 j' D( |9 x' c6 D P3M0 = 0x08 ; //00001000! o5 N* h, S0 \. ]6 d0 f Y/ O o
Delay50us();
2 T- m5 S* s7 K9 [# d& r ctrl = 1;
( ^3 u& z2 |7 B0 a' `" T7 @( c2 y }
0 t2 t5 A- I! `0 @! V6 I7 G2 d6 L( L6 m0 B/ Y
if (keyb==0 && keyC==1 )
% v5 Q4 i; @( g: M! e9 F; F8 W {
! F5 ^! C5 \0 k2 l ctrl = 0;
4 ?, |7 |) ^! F4 |' b; h4 u3 Y9 P5 Q P3M1 = 0x3F ; //00111111
8 f! K# ~% B/ U5 C( |8 p5 |, X! k P3M0 = 0x00 ; //00000000+ Z4 K3 K+ v0 P" ], O
}
) k: j6 r8 J0 @. r7 v9 ~! l }
3 `' l) M R4 F& [}: Z( E% r9 D# ?2 L
% W/ E7 d# I" C! [% {
( q! T, v4 [: \2 ]1 u2 D. D' N5 Q) ^9 K- I0 b' I
6 E: W- O* }, F6 @+ A
$ r! F5 H; S' m9 K6 \8 i7 B& ?
: R7 N% N! Q+ r
7 r7 k0 A- J' m. t
7 z% |; ]) U7 B7 _ E$ j1 j1 d W
. G* b% X: U9 m; n; m6 y9 @1 N( I: k* X
F- A; s, k& \' ]& j* V) J3 b2 c& x; x
/ e. p, W7 ^1 `6 Z' _ |