赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>; j. W: s7 V" K2 B% d, A' D
sfr P3M0 = 0xb2;
7 v, |+ }( l G0 x7 b# Q+ nsfr P3M1 = 0xb1;
! e, [& V$ `; F1 z+ Usbit keyb = P3^1 ; //10# b1 A. {# z2 j9 |
sbit keyC = P3^0; //10
( x- p/ }9 l4 p4 N///sbit s_cass = P3^5; //10/ E7 x& T( p$ ^& L" m4 n
//sbit comm = P3^4; //10
8 u* w0 b/ e+ v1 }0 A//unsigned char loaded; 4 b8 W) F9 ?( D. n- x! c
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
/ G6 k2 Y0 ]9 l6 V9 y3 T( C- Qvoid Delay50us() //@11.0592MHz
$ \# I! l. w/ t7 J$ M' j( Y{$ F$ W+ u! n# c- ?( U) Z( T. l
unsigned char i, j;9 B' [7 W+ s8 W1 m. B, ^- o9 @$ w
i = 1;
$ F# e9 R$ n. m: O/ W& S+ Z j = 134;
" c A; y/ q1 a% s9 u! L! [ do
p& s! f6 M8 T" j( h+ k {* S7 a* T- s9 o& y$ G; g0 U9 }- ~
while (--j);1 U8 g% p! [- C& q8 I* D
} while (--i);
* z6 A3 I* @; W( \+ Q- N/ M" Z Z}
3 q4 `! b F0 B, ?) R, q; W9 _, I& v' D* y& t" s+ C& q$ u' K
void main(void); @0 s& z8 {1 J4 G1 g" \" F
{# j- P8 j8 J( f9 x+ B
ctrl = 0;
5 t* _* R5 D4 }1 p$ p& Y! B' W5 M5 T keyb =1;
! ?# @) l% W) W8 \ keyC =1;
6 k2 e G" `, R9 J0 h$ c// comm = 1;
, d. R7 B. h3 W+ h0 V; F4 Y2 e& N1 B// s_cass = 1 ; 1 E% G+ Q& n' ?4 e6 d* G9 k
while(1)
* B# s' X5 ^8 z {* P. J( T7 J# W. R
// if (comm==0 && s_cass==1)
5 T* b, _* S8 \ // {
+ z: B' a% Z: s I. n // loaded = 0;7 q( u' }% @& `4 e, f: w
// }
, q. P& d% @- r, ] p7 B5 V // if (comm==0 && s_cass==0) / Q2 h( Z% |& J0 F' C# W6 X
// {
# L( n9 a- @0 Z7 p# r // loaded = 1;8 h" G# H3 y' P _' N8 m7 y5 b
// } 2 I% x1 k3 l% D
# x, A: a, X! q& u( R6 w
if (keyb==0 && keyC==0 )
* a& N% W6 P( l* \ F1 n2 t z0 y {
8 e Q/ w9 O/ B$ U0 B) p( i- s P3M1 = 0x37 ; //00110111
5 p! U! |8 [2 }* S P3M0 = 0x08 ; //00001000# A: Y2 i% |$ a2 {0 `5 ]
Delay50us();
+ b' G3 r% u. } ctrl = 1;" r0 C, d- J& E/ o
}0 ~& |8 ? Q+ L9 u
8 G, H3 \- ]# `# G+ Y* V9 z* ~7 a if (keyb==0 && keyC==1 ) # H/ z7 i: ^5 g3 A* d8 }
{+ t0 Z6 C( x" K* N
ctrl = 0;
. K @2 K) g' a2 y5 G& x/ }5 a" W P3M1 = 0x3F ; //00111111
3 b( L* }- y9 F P3M0 = 0x00 ; //00000000- B8 }( ]! W# t p2 g1 G
}4 M6 q: f; v8 p$ }. g
}9 S7 n3 X; n1 I/ o
}
/ S( k0 r) C8 o8 b8 h
& z3 h, j7 X! C# R
n! W/ \+ H1 ], F b3 @- `
. J3 q G+ B; L* e2 S, G7 u5 N) r
$ ~4 O* P# E/ b$ [" P# T5 u1 s9 U" G' h9 J1 Z% \) M" T
7 O& _' T! \9 E( o" f7 F
9 X' z. L& W1 w0 d
9 M8 s2 x+ U2 A Y& |5 Q+ w
" L3 H. k% [/ H: t! Q5 }
- N5 D0 t7 P4 t' `" Y# f
I( D- }% `' V% w
9 a6 |6 y7 B2 z$ H& G
9 M' l5 C/ k5 n |