赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
9 X' ^; ~7 E' o* ]8 vsfr P3M0 = 0xb2;
: z* i `: r/ g( Z7 U3 ysfr P3M1 = 0xb1;
5 G, U& m+ b1 S! s* }3 r wsbit keyb = P3^1 ; //10$ ~. l) l( F% E9 w, N
sbit keyC = P3^0; //10
, t# T6 \, Q' @# M# D7 k8 F///sbit s_cass = P3^5; //10 {. u" ~1 \* {! m& i8 F& e
//sbit comm = P3^4; //10
$ F+ P+ G! K; A! f4 O//unsigned char loaded;
) ^7 p7 h) K1 A: C4 c$ P# ksbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起+ e7 ~+ ?3 y! g V
void Delay50us() //@11.0592MHz
0 c! f w( k5 e. u. m1 O{
" n/ e L* t$ N7 z5 p+ [ unsigned char i, j;
6 `2 g9 y% E# H4 I+ P( J- a+ S* P i = 1; U+ |# Q- F! B
j = 134;( _0 W; z0 j) }- L7 w
do
) Q# f0 y9 q7 Y5 Z) o+ j6 u {' e0 o" q |1 R, C! y& w, w
while (--j);
0 k% e1 l5 D M( r: Z4 o } while (--i);
$ B% p1 s5 u1 y; K: u}
0 `) L' \/ h2 n' L# ?1 R0 ]* I' t9 V3 b9 V
void main(void)3 H$ [+ C- P9 O. p K H
{
# r" o/ ~/ H0 B ctrl = 0;
( B) `% Z% U! R. I% ` keyb =1;3 E( o. J& v$ X1 L9 J
keyC =1;
5 r. j$ _; C) f* H// comm = 1;/ C2 c. |- ^4 b" \# V: m; k5 [
// s_cass = 1 ; 2 P7 v9 W9 \* b, ?: V2 o4 N
while(1)
; v) ~! H! F) d, G {! Z A4 I& w$ O8 E! _4 J
// if (comm==0 && s_cass==1)
) O) |( `3 s ^0 m5 f& ?, b // {. F+ a! X* Z; H) ^& z
// loaded = 0;
' t* {& e- a1 X, h9 @5 o // }
3 t% G. O2 R6 p$ D" u0 H! e: C // if (comm==0 && s_cass==0) 8 f* F) O1 I5 j2 @
// {
- h' P4 j& ]% B% B& M; D // loaded = 1;: Z" g P9 T* |1 e7 Z4 U* K
// } 7 _. \. L& A4 h4 {* }+ D* l) h% O
5 g$ l: ~. h2 b if (keyb==0 && keyC==0 ) ( w! y4 s' @+ Q4 u2 w/ i3 Z
{% g! P% C0 \' a8 r
P3M1 = 0x37 ; //00110111; ]8 A( ^! y7 J/ D4 a& V" z
P3M0 = 0x08 ; //00001000
1 q7 q8 O7 V$ x Delay50us();
% Y3 R s. Z4 d ctrl = 1;& U7 [4 M$ Y; ]: g+ I& k
}! t6 R. e- s' a2 ^) j
9 L) n0 J8 W, a2 }3 p. @
if (keyb==0 && keyC==1 ) 6 H+ p8 C8 q# b; d! R$ u! S1 x
{( h1 c3 \+ e+ s' ?: ~
ctrl = 0;
* p/ k5 A* c# U" S/ F. o' n/ O P3M1 = 0x3F ; //00111111
6 e) f/ I7 C6 q P3M0 = 0x00 ; //00000000" I( e; a5 X- U* T& k/ @
}
2 E! l1 h+ v A( A; _$ _( J3 X) X }
! j" ^0 l1 H6 f}
/ z2 l3 ~1 o* t N4 _. n" E4 ^, B! W _- D# U S0 g) ^ E
& l: z; c3 l; E U. M
$ \1 q3 Y9 t3 S& s# n9 B* t" x/ Y6 i
( W2 T( D2 b: t' V, b6 w
* {4 b) H# {7 m% P2 q# O
7 P- F: J# S6 c& B7 X9 [
3 ~4 Q, V2 C2 s9 m+ b/ a
! T$ M t* L9 h) f. ]
8 V2 k" v) p% l
2 t0 u. ] f0 U# A( L5 t" Z- Y' T3 O+ Q W
5 A; O8 I: a6 h4 R1 f- i) [
+ L/ v5 c' \1 W' H z8 ? |