赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>" b) D; Q, M: w8 {0 A
sfr P3M0 = 0xb2;
+ Z: A+ b. g% N$ Z& T" t) H; Ssfr P3M1 = 0xb1;
9 l' ~0 a% L! P. U3 j1 qsbit keyb = P3^1 ; //10
- z7 z, C: f: T0 q+ g6 Z; ]! K! Esbit keyC = P3^0; //10+ _- Q0 r5 S' b
///sbit s_cass = P3^5; //109 Z" X" Z7 k- B0 K3 M) {+ a
//sbit comm = P3^4; //100 t( b1 F$ i- M$ W8 f
//unsigned char loaded; " d- D2 Y, f% V1 J9 Q( S
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起4 m% ?3 V- y( k. D# [. Y
void Delay50us() //@11.0592MHz
J& {6 E1 ^& w8 V* @% x{4 U; E6 z( q8 L, o, i2 k6 H7 Y, d3 h
unsigned char i, j;
5 k4 i9 v& w- k A( f: O/ y i = 1;
2 \9 ^: |" U$ z7 ?' ` j = 134;
1 Y4 m; T/ Y) U. Z- \& {, ^ do
& ]* b3 U, w& K. {1 O: w8 I% ? {
# k5 P& {/ [- h7 w$ }6 p6 D while (--j);2 W. r& i2 J( }
} while (--i);
( C* N2 y; m4 d8 D! \* c}
8 S. E& E+ W- Y! t2 h8 O; W. ]4 R# x- ~! C
void main(void)
. w/ X+ `1 @( G$ P i( t: q! X{
5 s4 P9 _1 |3 D1 k$ P+ E4 v9 L ctrl = 0;
- N3 Z; ?" U% O3 n3 `+ @ keyb =1;
) a3 r, e# ]8 B! x9 i& d8 S keyC =1;% r" w; C' C' M# F3 m
// comm = 1; _* A2 |0 f! M8 t# E* e
// s_cass = 1 ; 7 j. R, x* H' E( B
while(1)
( p3 X2 Q. W2 V$ q8 z# a; p. g {3 ^$ ~; q7 z" G& ~' C( D
// if (comm==0 && s_cass==1)
" e. O! J! @4 \* y) ]. |4 R/ i) w // {3 m W2 S# L( L7 O& M6 ~
// loaded = 0;
$ z4 w6 N; U( O' n" t5 ] b! ?' S // } 7 H# }! W% c& G6 v# _5 V
// if (comm==0 && s_cass==0)
/ p, O& o6 a- B; l% ] // {
) w8 m* h/ e& E+ H% I' ]$ d, W O // loaded = 1;
# T" e! i4 i! A1 m4 y. ?! P3 ] @ // }
) K+ k: `' u, i0 c! ~% m+ f0 P+ |' q( Z2 z, \2 Y5 U
if (keyb==0 && keyC==0 )
" e; c) m" q2 s1 Z# t; L' z8 V {
2 t/ }) Y# [9 G, _ D P3M1 = 0x37 ; //001101111 @6 i' r& N; a7 }
P3M0 = 0x08 ; //00001000
) D4 [. O' z; _ Delay50us();
6 w' ~/ o7 \7 s/ L% E4 k ctrl = 1;
, [' x8 I) O5 _6 @. M }8 p @7 s) I2 Z5 G4 |
6 e. j! p/ L. o: _8 L# A
if (keyb==0 && keyC==1 ) & R4 L: ]; l% a# N8 b$ H! o/ B
{
2 o! L! Z5 B! ]7 W ctrl = 0;
9 c Q# @4 R0 Y3 o1 S9 B P3M1 = 0x3F ; //00111111
" T) X. n7 C- p: o P3M0 = 0x00 ; //00000000
/ U; d6 ` U% r }
3 e$ ^( W" ]) ]# z8 n$ O% l: c }- x# O3 k9 h1 Q& `4 ]0 P) v! m9 D
}' w9 c" U( C9 D1 b% g
9 Y: N- O3 [1 s H( P- ~9 Q
9 U. W7 Y% h6 t
# {9 ]+ q, M4 s& A# ^
& L* Q. z- i) F% q* Y* w( s- M' y9 \& |
7 I3 ?, M' Q: S: O
: `8 X I, n. }6 {
7 _: @/ n2 A& W; i5 S2 E I( y& O6 \: u( w! M
# D G7 Q% G" x: x
$ q8 s0 L4 l: i8 y, |# u2 \9 i. N9 R3 s0 p, c0 a: f; V b' M
* A$ g3 V8 D2 v/ N
|