赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
; f* ]( d, _: ^- m! b0 C+ xsfr P3M0 = 0xb2;
; q" a/ T2 P5 Asfr P3M1 = 0xb1;
& E( l0 P, H2 k9 E1 Csbit keyb = P3^1 ; //10) z" y% O* U, |! I: D% A* m1 B
sbit keyC = P3^0; //10% d ?6 M U0 w' y3 t4 e( ~5 `
///sbit s_cass = P3^5; //100 }8 x8 `1 v' P' F
//sbit comm = P3^4; //10' y/ G/ t5 U6 u, `
//unsigned char loaded; - V/ t0 |: D2 U( j" |- [
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
8 u& Q$ _0 T) ] `void Delay50us() //@11.0592MHz: g* O/ z! c; [5 U
{6 R2 Q2 k& H+ C+ t6 I5 p: p
unsigned char i, j;
5 `9 b m1 \& n3 x' f( Z i = 1;4 D; k1 B2 S+ y/ n9 Q+ e
j = 134;! w8 ?& ?5 y" M6 F9 q+ q
do- q. u: i8 j1 j6 ]. L* l
{( b! S; G' X6 g t
while (--j);
. M! _6 i$ z/ r9 A. ^ } while (--i); I K1 }0 k( p4 S) `; X
}
# {# c8 ]5 U- l4 U- G& L: D2 p* h$ `- m+ R5 {1 I
void main(void)! M# p: N1 T r: s& x& B, N
{
" D: i' Q# i2 d" i! d. h0 y ctrl = 0;0 _$ r2 L# v+ f( G$ Y8 s; ~& v
keyb =1;
. ?, w/ o6 n7 L4 E' v9 \6 M keyC =1;, Y& T' S- e9 C0 x9 V5 @% ?
// comm = 1;
. `" `& d* V/ U) S* }' ~3 \// s_cass = 1 ;
. Z4 [$ G u. E while(1)- u. }+ Z) A5 E9 s; i- w6 V* h
{
* G9 @9 c$ p: Z6 }6 G // if (comm==0 && s_cass==1)
% y% ^& L6 r0 Q7 R, G1 ? // {8 u/ g0 L: L' v3 b8 z7 G* A
// loaded = 0;* c) k' k0 Z; @# \5 [
// }
, |( z4 {$ R$ \1 I/ [* r4 Z // if (comm==0 && s_cass==0)
7 U7 I6 G9 u* G4 y" s6 A // {: f) e8 i6 ^ ~( E7 N r
// loaded = 1;
2 o8 _7 c0 ~3 v o* Q: a // } ; S$ _$ I0 W; s. _
! O' e: D: b- I if (keyb==0 && keyC==0 )
# t' W. W$ L& A! r: {) N! q3 T {
4 u! `3 c9 c2 n) L8 x9 e P3M1 = 0x37 ; //00110111
5 Q+ S% u6 a; x9 e# A( { P3M0 = 0x08 ; //00001000
4 \ |4 C# y2 Q$ u A8 z Delay50us();6 y' |& ^+ U: {3 w: \# w- C
ctrl = 1;# F0 L$ H! ~+ ^" n9 P! n+ G2 S5 A
}; Z- h. Y- U6 f( z
9 B' }7 d9 d* T3 i if (keyb==0 && keyC==1 ) 4 Q$ Z' C& N4 y# `# \
{
, F: K# L) \7 P% ]0 D$ D0 R8 @" q ctrl = 0;$ [7 L% T8 B% J& \ {+ g
P3M1 = 0x3F ; //00111111
1 W' v& d8 I- A5 H1 j" t P3M0 = 0x00 ; //00000000
2 J' d3 E/ {* ]% x6 Z }
3 K) {; S4 T: `' L2 u% } }
. Q& @* D8 \# T' u}. B# O$ ^" d& }: z! ^, r% c# z
( r! M M7 H) v4 c# o
: q- K0 x9 G1 w( {8 L- Q
6 M. l9 h0 M; E2 A
4 X# z# S( |: F0 E6 p. `: q
2 y) _- H$ m$ ~* X
u' X) o, i1 _- ]+ L: t* z5 _& M A y! f+ `8 ?3 |
2 W/ ~2 n7 u4 i4 V) |4 T) g* D" b9 G% z8 o8 h
6 J R* W3 m e9 Z8 l/ b6 s: t. |- o3 q
+ ~+ e* T, M$ u1 d2 R( V: Z
; B4 e. Z& k; l |