赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>- w ]1 V4 F& n; N
sfr P3M0 = 0xb2;0 r2 v* U' _/ s; z j4 r. R8 J
sfr P3M1 = 0xb1;0 n; Z( ~. V2 g5 A$ p) u
sbit keyb = P3^1 ; //10/ |& X+ w& _( t# D9 E
sbit keyC = P3^0; //10" f6 }* n; Y% t7 m! s; Z5 _0 F8 ]7 }
///sbit s_cass = P3^5; //108 m* v9 @9 i8 R4 ]; C D8 U
//sbit comm = P3^4; //10/ G$ W' @" e, x
//unsigned char loaded; 1 \% y; }7 x/ [# f" l- y1 j
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起, K9 n0 a( a& r% @
void Delay50us() //@11.0592MHz2 k) Y# I4 j4 Y) z/ g, j5 D
{% D8 N+ U2 n$ d/ `9 l+ \5 K
unsigned char i, j;3 o7 V2 r" d1 D7 k3 h0 g
i = 1;
# [3 K# L# r7 N" | j = 134;# {1 b& L5 @0 R! H5 c
do+ h5 C! J$ N( O& W( D, m. w
{) v' D3 `0 n4 ?% c7 L2 a
while (--j);
2 Z$ P8 v- z1 i1 b+ Y/ r } while (--i);. }% j5 {2 w( ~4 m; @% N. X) J
}$ Y' {' {+ w6 ^( N- w9 c* e |
, p! ?& C& r: m) v6 v- O# a4 u. D
void main(void)4 h9 J. C% I1 c! I% E, s1 u+ n$ j
{
: y! ~6 @4 [2 M2 c. |. k7 Z% @) z& a+ @ ctrl = 0;9 B0 |8 S) m4 M- }
keyb =1;8 x% H% w" P9 E& O" j4 R/ @5 S
keyC =1;' t J/ r2 i- n+ u6 y) B
// comm = 1;2 r& ~/ H( U: w; U
// s_cass = 1 ;
% R( W! w. _! B/ j$ s! v* Q; y while(1)5 ?; W- k! H. y) O. L: ^
{1 T2 t! ~! O+ J: D
// if (comm==0 && s_cass==1) # A" j5 d7 z- G/ a" R% U: s" U. l$ Z
// {
# y" F! f [* ~+ \. v // loaded = 0;
r/ S: Q# f, @3 `' E f // } , ]7 A% F( h- j1 Y! }0 e
// if (comm==0 && s_cass==0)
* A. }4 o1 p& T5 C' b // {" [" d: B( D" T, x
// loaded = 1;' b7 ^% {% |/ ?7 Q% v" X' J
// } * u5 G/ m0 J; F; G8 @
. d& `' i$ e, [7 R; n4 l2 x if (keyb==0 && keyC==0 )
. a9 \! s4 o! L: y- j/ F9 v7 Q* f: C {
/ `+ n% w0 K K& }) q P3M1 = 0x37 ; //00110111+ E) s. d: f$ A
P3M0 = 0x08 ; //00001000
' F/ g6 E; q0 Q. c$ D7 |8 l& ? Delay50us();
~# w: \/ ~- [6 F5 t2 D ctrl = 1;) a4 B3 K, q! q% g* [( b
}
) f# z8 L" l1 l& K* R/ R2 w- u/ @: D; p. |3 k0 |$ S4 n2 g& \# O" Z* ~ v
if (keyb==0 && keyC==1 ) ' @' M" u, _0 e
{8 G% s! P! p" r8 e! i6 Z
ctrl = 0;
2 b5 ]* a w8 m- @2 T; m/ K P3M1 = 0x3F ; //00111111# u; B. H" H5 x1 V+ q* ]3 J5 w
P3M0 = 0x00 ; //00000000
% p( ^" {# r+ S- s }0 ?2 H. P% R; T
}3 m% J. N) D4 W# ]& J$ x
}
, t# j7 c, y- N% t; c2 J* t
; k# z( I; O* X6 o
! j, \' [; C+ j. p" W5 D1 O) u+ E# |6 Q) i
5 V0 b$ M4 `0 ]2 ^4 I6 I. a0 Y+ \/ }
- W4 x3 A7 N$ H! V
' A( h) q1 g6 m' K6 V
2 k; q8 i2 Z% D- e1 g
" d% F& P6 G. O% k) y$ Q! X3 G+ O @& U
# \" @5 y+ }4 t) q* b+ V9 r' M5 X1 h
2 X$ Y" I5 B" c# @
" h0 q5 J$ x/ g% K$ r. Q8 X x) N" p- ~0 S0 S5 D
|