赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>% z. c% u [/ h& y8 e7 E* `2 h
sfr P3M0 = 0xb2;: i5 O( z1 N5 m2 j
sfr P3M1 = 0xb1;
( A4 O! [. ~3 Z' usbit keyb = P3^1 ; //10
- u0 V2 M9 s( @# A( D1 I5 \sbit keyC = P3^0; //10
: M2 M, ?! X% b" U# q0 O- a///sbit s_cass = P3^5; //10" I4 f6 u6 J% G. e7 M: c4 d
//sbit comm = P3^4; //10
/ ]; L" Y3 e. ?* c O5 X2 k//unsigned char loaded;
2 D3 G$ j ~4 y! d# A6 ?sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起: [1 I+ y* y% U+ F" o6 u
void Delay50us() //@11.0592MHz: v4 E" C! \. ^6 m1 _& a
{
# {9 _* b# v* ]& e- j unsigned char i, j;9 p) z& F' j6 N
i = 1;
* E t/ E" q! F j = 134;
8 n2 S6 E6 d5 v) X5 _# n0 k6 _ do( J. l y0 K3 o% j1 A
{
" i3 \# H6 g/ V$ |/ d/ C while (--j);7 U1 ?: Z) b, f5 I- S, v
} while (--i);& J: y* Z7 S, j* {7 v/ z2 E! }
}6 Z+ ^( y, r) D6 L" k1 O& S: M
\6 |* S- p* [+ X) A; B+ e1 X* E
void main(void)
# q4 u0 U7 o$ L{
9 h h- c3 ^0 m ctrl = 0;% Z, i' ~. a7 C' T* Z
keyb =1;" e0 A' S6 W/ U( f; v8 }
keyC =1; ]( k/ G; E7 q0 F% ^, q
// comm = 1;( }; U% c+ V6 Q+ f0 B8 B7 j
// s_cass = 1 ;
8 [( R' X0 G8 R& D, w0 ? while(1)6 T7 D" w+ O7 {, Z- D
{3 J1 p ]5 z- v! @8 r3 a
// if (comm==0 && s_cass==1)
- n; Q8 ^( W9 y // {
/ `, a p6 R9 D# ^' h // loaded = 0;
! S& j5 X+ H# q( I' Y4 j7 F // } ; g- H* R) o. n( u% ~5 E- M. R8 s$ q
// if (comm==0 && s_cass==0) 8 k8 A8 [. g' `- v5 R* i( G2 r2 S. f* }
// {4 ?9 t, M# y' h
// loaded = 1;9 f* n0 E) p" O O
// }
. `( I$ ?! h& z" T- u2 W
! E6 n/ f# O6 a6 o3 E4 T+ z: d- d if (keyb==0 && keyC==0 ) 5 W# @9 v5 c: d. f4 q2 z
{
' N8 A& c A& X1 l$ u: u3 y; O2 p P3M1 = 0x37 ; //00110111
, ]% f( Y2 v; v( @2 U P3M0 = 0x08 ; //000010003 A% \2 U& S |4 w/ j
Delay50us();9 g4 f3 F3 G: a# R5 o
ctrl = 1;/ w* Z, [4 k: e/ }
}& R1 b' u' l0 N" C E6 Z$ R' u
. U1 C; T+ ]6 Z% k. I3 `! g if (keyb==0 && keyC==1 )
4 l4 f5 a# N) X {
+ ?. e2 V: R* z ctrl = 0;
6 L/ l1 W# R+ t9 ` P3M1 = 0x3F ; //00111111
9 N& o1 P$ A) q% o P3M0 = 0x00 ; //00000000, f W0 |7 j7 Q- m' u9 |0 E
}0 A+ B3 x4 c6 ]2 b. j' E
}4 Y' J7 l/ K2 G( ^2 a8 A
}* \+ H x9 I) h& ?9 a) {( @5 o& H3 N# W
! W' C) w$ d) C F& s
; [4 C8 B- i0 @
2 W9 y' a+ A V: Z
N8 e1 z) D1 N' A
3 a% g1 L& g! A: Z; _( v2 A
" N1 K& |7 ^; ^* o% e; d
* u. r9 s F$ v6 ~2 F
3 o- i+ Z# x+ O0 j( G
3 R Y a9 p+ s* v, y- w, r- o
( e1 F, X, v8 a, _; O% }5 a4 U1 {5 X3 |
7 r1 f1 R% `8 h8 @8 {
. ?& d4 I b7 W
|