赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
* B- e8 o+ Q- n* ]sfr P3M0 = 0xb2;
" K, Z( K/ B) r: t! @' F8 Bsfr P3M1 = 0xb1;! n; n; \) l9 ~
sbit keyb = P3^1 ; //10 k T& i. g& S* ^# `7 Y: h
sbit keyC = P3^0; //10" m; F) U/ C8 l8 ^- u
///sbit s_cass = P3^5; //10- C+ P! |8 E/ I* J& _
//sbit comm = P3^4; //10
, {1 d% Q6 j8 R( b9 y& ]3 P//unsigned char loaded;
+ D5 ~& c7 v- X# E0 `9 csbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
! m* S% j( d" V; i) fvoid Delay50us() //@11.0592MHz
) H1 M- k7 H" _! @, o{0 v' T5 _5 p' y4 ?9 D. a
unsigned char i, j;
( q* m0 z! Q% ]7 U i = 1;$ @6 T# n& ~! @9 W: w1 X
j = 134;' V% S! i) B0 l
do
6 L& m" x$ N i2 y+ ]. U5 Z$ z3 S {
, `! \5 W; l- R% o while (--j);
, @5 o- |8 _& c% k } while (--i);, d4 p2 k. x5 P* @2 n6 ?2 b3 A( ]
}
( j% X: D" \% D4 Z
, C/ i) T5 R, O# nvoid main(void)
3 K( ~& B1 R: N* Y' T{7 P" @5 T- d4 e- d1 z) K% J& y
ctrl = 0;4 n$ _0 I! d! [1 D0 D) r
keyb =1;% G5 g+ Z8 ^: ~) g2 u
keyC =1;% n* d7 H' z+ F; Z* t
// comm = 1;3 J1 F, _1 N5 P7 d3 Y* W
// s_cass = 1 ;
% V9 o/ U p6 N+ D while(1)% B0 @% O% _& G! \, x
{, F6 |7 s; I+ }, [/ k
// if (comm==0 && s_cass==1) 9 J9 O/ T( ^; C1 d! D: R4 f
// {& h2 O# O1 m: h( f3 e3 y
// loaded = 0;/ M2 N3 d/ N- B' _3 h7 r
// }
8 ~. H% d1 k2 I5 ^5 ^; a // if (comm==0 && s_cass==0)
! K+ E ~: `- c; @ // {
9 `6 z; p4 o6 c% V // loaded = 1;
$ x& B' Q- b) ~$ j // }
# ]( B/ g! t. i& ~3 L: f; ^0 [, n$ I( {, Z) c- p
if (keyb==0 && keyC==0 )
$ ^6 Z, G+ t' J4 A& c7 q {. L, n5 W* | c+ H" j- r/ q
P3M1 = 0x37 ; //001101119 l6 r: p& P4 |9 F& B% c. e9 V
P3M0 = 0x08 ; //00001000
: \8 W {" h& O0 S2 \4 v8 \ Delay50us();1 d/ x9 f: {) P3 t5 R$ y
ctrl = 1;
1 X. f+ G: E) { F }
% V6 \, ?. I$ P. @8 J* ]/ x. O3 H- w# g5 L4 s
if (keyb==0 && keyC==1 ) - j- f I8 Z( b( `
{8 O* i$ d6 K4 a$ r
ctrl = 0;
5 v, m" G( s; p# `% e1 T( k P3M1 = 0x3F ; //001111119 F$ S( s8 _; `0 n7 z! b2 d4 x; N9 Z
P3M0 = 0x00 ; //000000002 I @( }6 [' N. `, v6 v
}
1 ` e; p9 ?8 B7 u+ \ }
% ~' r% l3 b# `* r- M. E1 k}
/ \- ~7 `2 H' @$ t% c8 V& z) S; L9 s
3 u Z* r/ ~: j/ ^9 j' |
* g: p4 a. a& z# @
- C1 e& Z1 M" I) H5 Z7 H" C
8 u$ t9 k J2 H: U; }: b0 V( V2 d: B% u- ^5 a
- W0 l. F# s' x2 V3 Y& v; x% z7 \/ ?$ D3 Q6 U: k8 d- W/ S) R" I# O7 e
5 `# @9 Y6 j7 l
$ c+ m, Q: H% @9 _% E3 |0 _( q( K7 h( V% m" O" @/ R, _
6 S) ]8 k) E, q8 f! ?: f
: C. g' }! ?5 U" h
4 Z2 V1 f6 g% j8 ? |