赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
0 T. _. T! C1 W" msfr P3M0 = 0xb2;/ u* M) S+ ?4 m- E- T& F3 J- e$ b
sfr P3M1 = 0xb1;/ l' q1 b! U7 W/ i
sbit keyb = P3^1 ; //10
1 g5 a3 l$ v/ P3 ], e9 rsbit keyC = P3^0; //10
, u: t6 Y% D* @* h# J5 |///sbit s_cass = P3^5; //10
( O3 R0 G( P7 k. b//sbit comm = P3^4; //10' ?- Q! p9 Y) N" |6 g \
//unsigned char loaded;
6 \7 p9 t+ |/ J: Z: r z! N6 Bsbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
# M4 d3 P$ X; n: v* e/ _7 Y$ evoid Delay50us() //@11.0592MHz! g- _2 @, \+ p
{+ [6 a9 y" C6 {) @, ?' ^" {! ^
unsigned char i, j;/ P8 ?6 ~" Y7 l4 Q% J* U
i = 1;
: E, L# A1 u+ I9 |" G h j = 134;9 I$ F, m+ `, J+ D. P" @
do. K/ \2 W% B9 q9 {6 ^1 ~0 N
{9 {, \: d+ G( I9 G8 c. S- f
while (--j);
5 e2 n& S$ g8 _& v2 M. s } while (--i);8 N) w- k& X- f
}
/ W# h" ?( x/ c
- h8 K6 |* B: W: A/ E: i$ _- Gvoid main(void)
9 R+ S/ G5 m$ G3 q+ S' u* y{
8 L0 [+ C. C! o( J7 e" X# ]3 ] ctrl = 0;& o4 R8 k9 J+ x8 F9 I2 q& Z
keyb =1;( m/ f5 M' x! C- I1 S5 T: Y
keyC =1;
$ t0 h( H, Q0 r5 D// comm = 1;
! k* R- K2 P: G7 Q5 r& G0 h+ L// s_cass = 1 ;
) T6 r3 o; z7 j while(1)
4 O7 `5 M0 {% m+ c" T7 f" x. u {3 ~9 E) h' l6 T8 K: T% s
// if (comm==0 && s_cass==1)
" v, U7 _0 t: x; H' P; u1 Y. [ // {
# q6 B6 m- G! Q& [% N! h // loaded = 0;
! P! ]6 \; L/ X3 h; @" @ // } * g r( v7 B4 h7 G% |; @6 e! Y6 Q
// if (comm==0 && s_cass==0) 6 s- P, b8 q! R, f$ l
// {
& c+ o8 i6 U3 {8 l( `9 x3 ` // loaded = 1;
$ n6 q. k+ c4 q" o9 C6 H0 Y // }
7 b4 Z; M" Q) _* U2 [. ]* G; B% _1 z% `! N9 ^. E0 h1 z
if (keyb==0 && keyC==0 ) # l! G/ h+ E) w& u6 v
{
" ]$ `5 z) N( B/ a( Q5 q! q' A P3M1 = 0x37 ; //00110111, ~! \' `" \# W) P
P3M0 = 0x08 ; //00001000( w/ ?+ a, X# t, F h& P0 y
Delay50us();
! d" ^( u% J6 n4 [4 _ ctrl = 1;, J" A9 E+ g( P J. j I7 e: J
}
! E0 j }/ P! k2 `, |5 Z1 M% f4 S- ?# g+ ?& V i
if (keyb==0 && keyC==1 )
9 K/ o3 z0 E5 u! p0 P* V$ b {) ]! T0 I c) T& g& N
ctrl = 0;% h3 A+ c m$ @4 p
P3M1 = 0x3F ; //00111111
1 x2 Q+ o" Y2 A. G( A& @ P3M0 = 0x00 ; //00000000$ j' x# u! O G+ Q) f" [8 r" D
}
) v+ B+ f; y1 O( S8 f7 T; E }
$ G! o; Q2 N/ P6 F0 C}+ n" ~! m, o* q3 j- u4 L) x
% v4 E' ?5 } `& r% ]" b+ W
: K& \, U0 i, W* T7 s6 q
2 p3 P0 J1 k* w4 u/ w5 d: m
3 V$ ~2 ]; I1 ]/ j- ~; S, R! T1 {
" {/ B8 ?+ k {
2 m4 M; _ I" s8 V& ?/ j. b
1 h2 @7 N! X& ^: N# L7 ^
8 z N/ R, Q, a4 D4 \; m- z; l
+ o/ `# F' \6 c" I9 {; @! K
5 b8 e A) ^* v' B
. Z4 D- H# ]( u; }8 W; o- `( D$ e( F% F; [8 ]. N( p
% R& x7 j% i1 ~
|