赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
$ c- O3 ?' q/ Z2 ~9 J% b4 G, asfr P3M0 = 0xb2;
2 i% o% G1 l1 `+ s0 Jsfr P3M1 = 0xb1;
/ u0 V4 f; U. y3 i5 h+ h3 fsbit keyb = P3^1 ; //10, E, ^8 [' F, o$ O
sbit keyC = P3^0; //10! M6 m$ c# V; }3 z' [ H* W' p
///sbit s_cass = P3^5; //10
( [! `/ o, e7 ]) h5 R+ P//sbit comm = P3^4; //100 W; h7 p6 l& K, u
//unsigned char loaded;
3 Q1 I X8 Q( F% gsbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
" `4 j4 o/ c. v* @5 t: D% `void Delay50us() //@11.0592MHz: o. x/ E' Q. d% O1 {; t% N0 S+ T/ j, m
{( j0 H* P, w0 n
unsigned char i, j;, t, T9 w, x' W7 n) h
i = 1;2 Z0 o* w; x* p$ Q0 p1 {
j = 134;! h2 y' F$ L6 e0 p9 I# z" m# c/ p! z f
do
+ X5 h' G* m* j6 K! e {$ N' q# f% ^$ O+ M( {' `5 O, `$ U
while (--j);
3 O" X" O* E+ r5 P4 e8 G7 l } while (--i);
! ]: u) z4 x" [% Q' a! j4 h" B$ d}* B& p4 H3 r8 q) e% c
& j; A* M& {) F' ]' Mvoid main(void)
" ?6 J, H- E% k! [2 q, j{
2 |( u7 T8 P9 p9 {3 {9 [ ctrl = 0;
/ Q5 B1 e T9 l( t3 ^. x keyb =1;
$ u' H' c4 d$ d3 r keyC =1;
$ J% A7 s, r4 R. H" ?% p, W3 o+ R3 N// comm = 1;2 Z% l9 F; Z1 U* q' u L# r
// s_cass = 1 ;
! O* F) g' T |# U1 E0 @ while(1)
9 G! f% q2 J( P" y. p ^& J {+ F1 ^# J( a2 J+ F1 [) Z$ \
// if (comm==0 && s_cass==1)
) c) |* n* K/ {0 A/ w // {! N. G8 }) M% ?2 X. ~
// loaded = 0;: k7 O% u; t2 p) i- z* w
// }
1 j$ c4 K# V- W) t8 Z5 K# C# z3 C // if (comm==0 && s_cass==0) 3 T8 O% U* ?! L- x2 j
// {3 V; z0 l; \" J1 C) q3 H7 D
// loaded = 1;. U5 P2 B4 L' r" O! t+ n
// }
( d' e, D- e; k- R4 \7 R8 v& Y/ @3 Q: y: G* A6 f
if (keyb==0 && keyC==0 ) . b' ^0 A1 Y+ C# S, u& R% b7 e
{
) I' G* |( Z' k$ @! S$ v P3M1 = 0x37 ; //00110111! V" v8 L: ?0 \# f7 Z
P3M0 = 0x08 ; //000010001 q" ?) s" ?1 H
Delay50us();3 J" Q. j0 U0 a' P' j
ctrl = 1;5 u) y& g% `0 a7 ~* e
}
4 @4 b& r5 B. J1 f
: j$ }( I, |/ T& N. u7 W6 S if (keyb==0 && keyC==1 ) ) N0 A [* [1 c8 r
{
4 @8 [$ @- v% } ctrl = 0;
. J z% \. \ L7 c4 e8 A2 `2 m P3M1 = 0x3F ; //00111111' k/ f0 C( N5 W& h/ `
P3M0 = 0x00 ; //000000005 W. X9 A& i- h2 ?
}0 O% X( q* U7 M( Q
}
$ U G" S( R* n" H3 c; }) ?, F5 {, n} v4 k% N4 a/ j
: {7 [8 R& C! C, `. c
& z m. R: Z# Y2 ~: Y/ r0 r/ Z7 y% M+ q. K) t$ q
. o- K# ]- ]9 L5 W, J9 M5 n) c( B5 U7 m. Q
, y+ Q( F8 z% b0 \) `# }2 w- o* `/ u* z- \+ i* A1 B/ K
8 x" F9 H1 g5 ~6 o4 T" D2 H9 M% L& D: T
1 c$ P( D( \; t- b" J
) Y1 X' |1 P+ `$ L+ R7 `# G+ p% ]/ @3 q4 J
! P& E0 k4 U- W4 M
|