赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
. @6 O% P+ w, csfr P3M0 = 0xb2;. [4 ]5 Y0 f& ^. O4 N8 C5 L: p
sfr P3M1 = 0xb1;
- Z9 ^/ F: r; x, i1 m/ }sbit keyb = P3^1 ; //10
( j2 v) F1 R& z7 X7 i2 e9 _sbit keyC = P3^0; //10
0 S0 u, [7 _" j///sbit s_cass = P3^5; //10
9 E1 I* e" x3 d4 u, x//sbit comm = P3^4; //10
8 I1 Q$ c) U1 U' Y, C//unsigned char loaded;
y3 V3 g. x7 v$ usbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起. J# i% x# I! J+ N
void Delay50us() //@11.0592MHz
8 w7 u2 n5 w) h! l5 L9 M{
. y+ i1 r9 n. z5 R0 _ unsigned char i, j;. G: Y+ K5 `( Y( D& Q% o5 }8 e
i = 1;
@. T& \5 a2 ]1 U4 E- M/ n- D j = 134;+ a7 F" Y) D8 ?# f
do
" H8 m( V/ p, D! }' l {
, P( C5 o; w: q6 h7 k. S3 ^# i& l while (--j);3 d0 _! A2 ]4 _
} while (--i);
+ M8 i1 P/ h; p. i) d}& I% C7 @$ b7 k, v) F, i4 m* J" [
6 J: R I9 {/ Wvoid main(void). P% a* V0 i4 t {
{$ |4 x" g* T* d; e( @; {
ctrl = 0;
5 ?5 G' u" V0 ]" Y+ {, a9 M: z8 n keyb =1;
4 k! V. U' K9 O7 v' G: g, y keyC =1;$ R: {; ?; n; e5 I
// comm = 1;5 p1 s: p/ ~- l: Z9 o
// s_cass = 1 ;
3 E! W9 \; t0 @# P L; ^ while(1)* q# ]+ [ ~7 ^$ F: H6 c
{
2 y/ y! }/ W" [ // if (comm==0 && s_cass==1)
& Q. @+ Z/ B0 z' L/ g; k& V( N // {1 f% T r& q9 Y; O
// loaded = 0;0 n$ c) b8 x4 s& S
// } : ]8 e$ |2 V3 D$ v3 g p
// if (comm==0 && s_cass==0)
2 x) J0 V/ J+ X# J: n$ ?# o* \ // {
+ P8 K6 z/ T0 f L, r5 u // loaded = 1;6 R3 B' y. E6 l, h$ s6 ^
// }
+ H/ W$ h) n* C1 w. B
, b# t/ ]0 K$ N; U+ u# c( ? if (keyb==0 && keyC==0 ) * `' d0 q8 c7 v% i8 |% k+ M
{" ~! z6 `4 A9 B
P3M1 = 0x37 ; //00110111& k6 l% m- V# B
P3M0 = 0x08 ; //00001000
+ N4 d. h) L2 l L, c6 ?! _ Delay50us();1 `: c$ k8 E' v- n& F8 r
ctrl = 1;
0 R/ F2 H8 B \0 { }0 c: H1 j9 m( B
# D, Q1 m7 D7 b) K# ^ if (keyb==0 && keyC==1 )
$ ^- f5 X! O6 @6 v* Z {
7 g8 U; ~0 M5 L; ^, S; r. o2 [$ r* ~ ctrl = 0;8 C/ r# {, \- r. _1 M
P3M1 = 0x3F ; //00111111" A! C6 u' i0 ?5 T& h& b- J
P3M0 = 0x00 ; //000000006 i! X+ x) ~2 A8 H
}
+ c7 r3 ?* |( P) G }
: G% }% C- W7 N& c}& m0 d" c7 t2 w$ N, m7 H5 m
' K @0 `' q0 Q5 i% C: J3 A" u
5 w; e8 W; `3 t) I5 Y6 h+ c6 v1 ]. L0 g5 r2 s; {
$ q2 m* h2 _" t! `: N$ V8 z' t! |
2 a' \! M. D& \! _0 Z) e* d
' P, ?/ |( w2 A% _3 t, q* J
7 x; ?- N; c5 v& O/ ?
* O9 I6 w: G7 Y- l5 }
8 m+ i( ?5 O8 H) ?1 W# C) K$ K+ _; V9 Y) n
) M) D* v9 o4 X* g8 S; R
3 q! \6 z+ W$ W- b( }# |% e5 b
# V5 D, T+ L0 D2 L6 k
|