赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
0 q L4 A+ K7 F fsfr P3M0 = 0xb2;; @) a5 Y) R( M& ~8 x8 F) _+ t$ ]
sfr P3M1 = 0xb1;
- D l6 q6 a" ysbit keyb = P3^1 ; //101 S/ A1 p; N1 a; ]
sbit keyC = P3^0; //10 {1 h1 K0 P$ I. ~- i
///sbit s_cass = P3^5; //10
8 P8 M- d E. c% y. \4 f0 B//sbit comm = P3^4; //10
/ O6 N1 o2 E n; d" x Z//unsigned char loaded;
2 R/ o! @8 ?' M! s# Msbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起7 C: w+ X. p$ P9 U1 Y9 z. N
void Delay50us() //@11.0592MHz4 {! m! c$ P @* \% K5 g4 P8 n
{
$ c I" q$ S% E4 B( [8 [( G unsigned char i, j;
3 Y P' X: Q1 t2 {# ?3 m i = 1;6 ~2 a; E3 ]8 g9 e3 c1 d7 j
j = 134;5 b' U! e# O) P% O
do
- c8 ^0 V4 n- H3 E5 ]3 ~ {5 V3 C X2 y' b+ j4 ]. V) x% f
while (--j);; M3 p# |7 q* W# S# F7 W
} while (--i);
. E( g8 H1 Y- c$ l}
@# T- h7 J: ^# W3 H0 f
! ?5 X3 U D/ n* W% ?void main(void)
1 |, Z& u9 e O3 [* C4 f: s{6 U0 W7 Q5 a4 F, l+ Y) I
ctrl = 0;
# E3 m' @3 T: ` keyb =1;9 E+ J/ C0 T1 {7 V- i' N; `
keyC =1;% B3 W- J k, k9 o- y
// comm = 1;
1 t1 N: @% F C- V2 D3 c' T// s_cass = 1 ; 4 z3 \: w0 r; p- y, Q, m, t- W. q |" b
while(1): V1 K( B. B8 g) m3 T: W
{" R0 L4 z3 a! D! [3 C. z2 |- }" B& ~
// if (comm==0 && s_cass==1) ( c3 z" Q2 n8 L( L6 d3 n7 ?4 V4 }
// {
/ C% b- g& N% x // loaded = 0;
5 `4 h& [0 p* y; h! ^& v7 M8 G' | // } 3 V" t( h5 |5 ?
// if (comm==0 && s_cass==0) 7 g4 k$ n% I& [' M, ?: I1 o& x7 S
// {* t5 O0 _: P, R b- |1 e; z
// loaded = 1;
! L) N) ]+ ]' s q4 o$ g u // }
9 M; C$ }$ Y/ K0 U( P- z3 M3 h+ _2 {/ ?1 f: D3 z o
if (keyb==0 && keyC==0 )
& ~1 f& H) L/ i& k9 R9 l { Y; j; H- G$ E. S( h
P3M1 = 0x37 ; //001101112 E7 {4 `% V/ T) P; j1 }1 C
P3M0 = 0x08 ; //000010000 m" a E3 Z( Y3 ?+ E/ H$ }
Delay50us();& F8 A1 f" e' g0 X% C1 `& _- k& I
ctrl = 1;" k O% y$ R6 t( i6 N% d
}
" A, W {( F' g! A( M# V. d5 |
1 W. n. Y( H7 E. Q) n9 j if (keyb==0 && keyC==1 ) 8 o2 S( p$ _% a* y x
{9 g6 n* B3 D/ L# b6 m; r7 J, l$ }
ctrl = 0;& V7 i; z- R# F I! d- A# [
P3M1 = 0x3F ; //00111111. |( r2 |# m$ m9 n( e* c c$ ]
P3M0 = 0x00 ; //00000000
3 d" f2 w' b) \' M. f2 f( H; g }6 U1 v% X7 l4 `1 W, a7 a
}
( _& _! r! x( X; [/ B8 f}( v/ D1 O) Z/ D; R1 s9 b) d
# N4 Y5 d& [4 m+ D9 R* Z
* B; g# ?6 U' @7 S
2 `/ W. G% S! o
4 M5 U4 X& _. t, M- g
! R% w% s. l; c; B; W
" ~; |( e. T" W; Z- ? Q- U1 Z( N. J; I8 ]0 W" J2 B
4 c+ `3 E# Y* H' k' A+ t) g# u7 t$ d- P- k- j
, |% w0 k1 [; t
0 o( D5 J% |& V1 v6 b
1 n8 u& u/ ~, \8 ?# d
% J3 T$ O5 \$ Z V t$ p |