赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
: ^ M$ D7 k' O6 _7 I0 \' Wsfr P3M0 = 0xb2;6 Y1 E9 d2 Q: s
sfr P3M1 = 0xb1;6 z! `& i* _% K( e
sbit keyb = P3^1 ; //10
" [( l* V. m, D& g2 n- Ysbit keyC = P3^0; //101 y ~ K1 @/ ?; N4 V& u3 b1 T
///sbit s_cass = P3^5; //10% F% _$ H, ^5 e' T- ^
//sbit comm = P3^4; //10
* n* r; A3 q4 M$ w//unsigned char loaded; * o# B' i! ?9 L) ~
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起1 [6 v+ c# |; N
void Delay50us() //@11.0592MHz
# C- M O" S* S{
% W3 [' [- [3 p9 A5 J) \ unsigned char i, j;9 M$ x6 P+ v2 f" C6 F# A
i = 1;
0 U6 J, {: o- j! l( F8 E j = 134;
! q) [+ k2 y7 Q7 G do
1 B2 r, r% |' G$ a3 A& S$ z {6 h* c0 B3 U3 }& }8 q
while (--j);
& w. F% e- F9 z5 Y. ? } while (--i);
$ r4 ~! p2 o; `( {. Q}
5 A: s4 d/ s" y4 P0 ?: y6 _1 g& \! g; R5 K' z
void main(void): Q( _, c7 k3 c
{; `/ w. Q. Y# M" y! [. L' s) H( w
ctrl = 0;
! }3 ^4 K/ v3 W+ i/ U9 p+ n3 e keyb =1;( V5 }% f! P9 g8 D/ F
keyC =1;
; j: n( i5 q! I/ D// comm = 1;
: R) {! L2 G8 t! M j// s_cass = 1 ;
: V. a. u) Q: f6 p9 s8 i4 [ while(1)
4 V. [1 a, H2 T3 P {
) Q$ \2 { [' [2 i1 u // if (comm==0 && s_cass==1)
: X$ R, O; M' @9 K7 ^ // {$ e9 S, u8 P. J8 I# a0 O
// loaded = 0;4 R" R8 _& v- L/ R
// }
/ d P) |; Q6 a+ n, G // if (comm==0 && s_cass==0)
3 K# K0 \( \6 ?, {7 ?1 ] // {
8 C( P2 E Q* P2 x. L // loaded = 1;$ e& A' x' s- F5 O
// } ) j5 J! F" j! b% f
7 V+ Z. G2 T: Z* _% n5 l# ` if (keyb==0 && keyC==0 ) 7 _7 g F3 \* Q# L+ Q& a
{
3 J; p& E! W& Z5 q) J$ F P3M1 = 0x37 ; //00110111, {8 P" T6 J. M1 |% ^
P3M0 = 0x08 ; //000010007 M- h: U* i4 x3 k! s/ H, T! Z
Delay50us();( E8 _) t @) j# } l, x9 o
ctrl = 1;
( J8 F7 l, o T- o& G. P) M$ Y }
- d: E" g7 }- c4 K! ^& v- E8 j6 h# n$ y0 E% E- l) V1 ^% [3 M& ]
if (keyb==0 && keyC==1 ) 0 }+ b( C! h5 d& e; ?8 w0 I) z8 ~
{
1 J3 [$ P: R3 E% V v) \9 Z+ A* a ctrl = 0;9 g6 H6 |/ I8 J k5 j( r) N4 P
P3M1 = 0x3F ; //00111111! ?& a; A9 _/ G" N2 q/ B
P3M0 = 0x00 ; //00000000
& O# W$ L4 D& R }, `/ N- s1 {- K$ c: m O
}; y, P# T4 f$ s) S8 A' x
}
) c/ U5 D2 Q3 C/ I2 {* a5 }
5 g: o$ \5 B" N3 A
% H& [% S* `! V* i: u
/ O r* t0 ]7 r2 S0 N& W
7 h; j) O3 o t: P2 _. M- ], {+ M8 j: w) h, S \
) j; G4 V0 e, a3 K2 I& Z5 ]: Z
* v0 m' I3 p3 P N1 \; p P) N
4 C ]6 A& v c) \. | l1 k3 Z8 R& j" l8 c- i) {3 u
% d! d3 D8 e0 @# N4 D8 g( k, E9 E( C7 ~- M: ^
/ p9 [ w2 ~7 j; w
' Y& j+ k' f: K8 U& r- g# [4 V |