赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
6 y% c& N+ G I. G. d' s6 G9 Jsfr P3M0 = 0xb2;
% P" V6 ~2 h; ]5 K0 @# ]sfr P3M1 = 0xb1;; N N" G% v" G
sbit keyb = P3^1 ; //10& Z3 F- a# U/ F( k- Q1 S2 Z- i( ?
sbit keyC = P3^0; //10
4 s. A$ ]9 M2 \, s% H/ I0 z///sbit s_cass = P3^5; //10
) w% _. W( ^6 x& \2 J$ D//sbit comm = P3^4; //10
3 S1 T) ]. x0 l4 I$ _- d* U1 z% M//unsigned char loaded;
4 L. ~" x# F( @7 m4 v; A8 _ {* isbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起' M, O* r! V8 E( O8 b
void Delay50us() //@11.0592MHz
]0 V( z, G+ k# W- a7 o7 K{' K: B. q5 h. L; u: c" z6 M
unsigned char i, j;' k& a2 |- V+ y& U
i = 1;* `& x0 Y+ ~! O! B9 A* N! T5 E
j = 134;! \9 X3 j* N h. q% {3 J0 J
do
- f6 s/ P; q: } U- J {
1 @& [/ U4 a; q, e while (--j);
8 J) b: q: Q9 X/ n2 f1 ? } while (--i);; l2 z3 j2 S U0 i
}
: |2 f. t- e: s0 H7 Z3 N
$ _* B+ W$ A& z: {- g$ mvoid main(void)
Q- N& M) Y4 ~' I& x1 E i{8 _' D' ^/ G- A( a; b+ @
ctrl = 0;/ L: n5 B3 J0 j' o
keyb =1;
; o5 q E- P; p- X7 d% w1 J% ^ keyC =1;; P7 f, e7 V8 a: k
// comm = 1;
t9 I; A j+ J/ v2 c$ i7 l3 J// s_cass = 1 ;
/ \$ C; o8 z. D+ l4 I" H while(1)6 o% d7 V7 O4 d% M' d3 K0 p% y% _1 N8 }8 ^
{/ ~% T! X& O+ \( i2 O! L2 g. K4 L
// if (comm==0 && s_cass==1)
`. x8 K/ ^4 | // {
$ M) \" ]+ H# {7 }4 s z // loaded = 0; e1 t5 y6 P! A9 }" a/ |/ U
// } * H/ J3 g1 {$ b% w' r/ D% q7 g7 v
// if (comm==0 && s_cass==0) $ ?. V4 r' y" I# L) m; R, U
// {- V3 r1 c3 L8 H; t: O1 B
// loaded = 1;" ?6 P8 F; E( n- u" a7 f3 G
// } 0 _" X" S( K) T& ~* i! H+ L
% G# Q+ n& o4 L+ A- J( M
if (keyb==0 && keyC==0 )
3 d: [# q+ W; B$ H$ ] {0 f9 @0 g6 h C) u
P3M1 = 0x37 ; //00110111
( j" T! r! K& r' N' b P3M0 = 0x08 ; //00001000' Q6 N2 k, W. Z$ o9 ], q3 ]
Delay50us();$ [3 n$ X! `; y+ c
ctrl = 1;/ I. }6 w: r! a+ s0 o* X
}# L) E! Q) `6 B- }
4 d. q6 x/ j5 j if (keyb==0 && keyC==1 )
* n8 E' W+ E$ c5 K' c. Q { _8 g6 s/ y% u2 _
ctrl = 0;
$ l) X6 r" @1 K" | V1 Q2 ^ P3M1 = 0x3F ; //00111111# O) x6 F% G6 X
P3M0 = 0x00 ; //00000000; g8 |+ M5 X4 C2 o+ B m Q u" s
}
- |( D7 H% Q, ?! U }
, E& h% e. q, B2 P; X3 U/ C; m; G}( S( v1 D% o! w0 d7 Y5 r. r; w
2 G0 u& ?* Q; t1 r* q2 |8 r3 o; b
P' n( W' Q8 a6 N4 k! {. M& d Z! q7 w
9 l: G$ f7 D5 L/ l" b+ b6 i" V7 c4 p D' x: j: X2 x4 P
i- N3 d, }: V
; B5 n" r$ Z) P2 u% I8 s# E
; R# B1 Q: b' w5 ^" P* E# g" x- S. C7 | G; j
+ B2 G# x2 n2 t4 |4 `0 w: e, \1 y
* p" n7 n0 H$ q& Z, A+ s0 _9 o
" U7 {7 \) |) B% v& S; o9 p7 y; Q- x% N
|