赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>; w" H& @; R. ^7 C
sfr P3M0 = 0xb2;3 v& [" P9 t& n- g- M8 k
sfr P3M1 = 0xb1;4 H7 L" z+ ^- {- ?9 c" z! M2 y" p
sbit keyb = P3^1 ; //10
8 Q t- x5 X2 W; G8 a0 D esbit keyC = P3^0; //108 j& `9 ~, ]& @8 J0 {6 T+ ~/ Z
///sbit s_cass = P3^5; //10
* l( ?' N" G- B! Y/ J* ^. h! x: S//sbit comm = P3^4; //10
3 V9 X9 M' ?: \; a* Q/ ^" g5 K//unsigned char loaded; ! E- y+ V" D6 Z' g* j W+ p$ f
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
* I( K y% w7 [/ Gvoid Delay50us() //@11.0592MHz' B+ l3 l* }, |- M. W1 m4 X6 w
{
) p) E1 H6 v% \* z0 |$ z' q- M unsigned char i, j;
7 V, h8 ]+ M( t- C9 z* a i = 1;
. C( n# \, @/ F* z. E1 i j = 134;; w7 v4 t+ ?# I0 @/ I: b9 k5 e% p
do
9 W* l. ]' J( ?9 m {
# g1 v5 ?. x6 \) `6 {* D9 n6 ? while (--j);$ |4 p% C; i7 H1 w/ O; h
} while (--i);3 f3 h. a5 \ N3 i1 ^- s
}
& q7 m4 l( O8 _( y j, u4 O( \! @9 S2 ^; u
void main(void)& \7 R6 `7 E0 X V
{
/ Z, G, x/ r" j, k0 T ctrl = 0;
- u* b% x' h9 D6 E8 r( T/ b keyb =1; R" C' j% q% m9 a" A
keyC =1;( G* x1 Z9 J( D% i. S$ l
// comm = 1;
4 u% q( r) B* O) q. r+ I& Z8 l// s_cass = 1 ; $ c& I x6 d& Q8 t! t
while(1)+ V2 P: |) V+ f8 ~
{
5 _" t' E. F% D8 |; V2 a0 u: |8 d // if (comm==0 && s_cass==1) 1 a8 e7 W2 M3 W* Y0 B
// {6 |4 }( V' u* N" y# {& t0 l
// loaded = 0;- Z- S7 }8 B* R: R; E; @/ U& C
// } " K( Y1 n7 t2 r' ]. W# h
// if (comm==0 && s_cass==0) 6 T& q! \1 K6 ?# u- K$ j& ]
// {
3 i$ |4 i% s& s2 T. |4 \" N7 D: k // loaded = 1;" X7 O$ o0 `) w% Y
// }
2 G$ v+ ?- R* S& y3 e- a
% W& y9 K! o. \! J if (keyb==0 && keyC==0 ) ]& B0 j4 W; h, b4 k
{* {) u9 I) E( B9 R+ s% l2 d Z
P3M1 = 0x37 ; //00110111
$ [! N: G- h, k, @ P3M0 = 0x08 ; //000010005 u1 @* m" m$ V8 V
Delay50us();
9 M, L1 c$ I! b4 H ctrl = 1;
0 `! Q# `2 X) g% z }2 o3 E; x+ z: k0 H
# D: E& v& r) q
if (keyb==0 && keyC==1 )
0 }5 H2 u, n S( t* n; ?$ b$ v {
! Q1 Q1 f2 ^5 W% {/ {( O ctrl = 0;
1 S$ z& u4 k" f/ K5 ~ P3M1 = 0x3F ; //00111111
* R& u) ~ d' A% F& ^3 ^+ d* P/ d P3M0 = 0x00 ; //00000000
/ [# o/ B6 D0 g5 J2 } }0 X& O3 T t3 {! f" Z& {& t- A
}2 r, p+ G# c+ c! j0 c7 ~
}
1 I+ H% k' C6 `6 O, G" E! E. I# H$ Z! |( m
7 J9 G; y. Q4 K' E
) K5 l. m% S, c$ T
' K; a; f8 D* W/ q
/ \0 L, }. Q& v/ [6 B
! F7 U6 x/ w# x. {
/ O9 S# ^0 W9 q% `. @) A5 D
" e" ^+ i$ E9 e
- _+ ~# T7 U; l d# \/ G; f0 M6 e* f% k3 W* x3 K$ K% y: R$ u) j' o6 w
) v7 `4 R. D' y5 x* b. y
3 X9 y% J) \4 C0 i' l1 Q
( E: H* S4 }( x4 L9 }
|