赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
6 c) g( y: l- Z: C9 z# y: Gsfr P3M0 = 0xb2;! K- W* w5 V! H8 E7 L
sfr P3M1 = 0xb1;- A5 [! S7 N. q8 J2 T. H$ d' u
sbit keyb = P3^1 ; //10
3 ^3 |- q2 [% i- z! _2 d8 z. Isbit keyC = P3^0; //10
; B* E8 c9 j: R( I. C" a1 V///sbit s_cass = P3^5; //10
E: Z2 h4 X8 p( w/ n& n7 z//sbit comm = P3^4; //10( |. f- g7 n8 b% S# b; i
//unsigned char loaded; ; I& g% x w# x- [) z4 n% Y6 q: N2 ?
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
( A' ^; h u _1 _, uvoid Delay50us() //@11.0592MHz
3 e- A* R; d6 F% c' k* ?& \+ }{
6 `: N/ H' F9 p% l0 k5 U unsigned char i, j;
9 T) h# k' f( O9 E/ c5 J i = 1;
" b) a; c1 X) L4 d j = 134;$ F- k1 v5 C1 X+ T; a
do
2 q- Q' p# S7 ?. I+ F {( v. ?. d' ~6 f$ ^7 J
while (--j);" M% [$ D6 a( Y2 D' }
} while (--i);
" Z+ M6 c& i0 y2 B, Q2 [4 {1 C' v* j}
2 ]+ `% F& \0 P$ r! t
+ @: x9 \9 u5 G% kvoid main(void)
% d, B# |4 f2 \+ g{- p5 h# c8 Z( _9 N$ s3 m' ^
ctrl = 0;
2 ?' t& K# g- i+ S/ g keyb =1;
3 [* \3 Y3 O4 P& _ p/ M keyC =1;. |, u( E2 j( ^/ p C7 C1 T: J' R! a
// comm = 1;
$ r; w. N# x2 D0 N" i* A S! H9 }/ X// s_cass = 1 ; - c) f; J1 Q, [( [; m# l, M
while(1)5 K8 v' W* p' C, j
{5 U1 [( f4 g" h f, m }
// if (comm==0 && s_cass==1) 9 j$ @9 Z' w5 J8 S0 y
// {' q/ ^% f' T' T5 C
// loaded = 0;; U& x! p! R$ M, o- y h5 L) ^
// } . G: i) Z* C, E: J
// if (comm==0 && s_cass==0) $ E3 z0 H& y9 i* }/ Y1 ~ L* T
// {
% }/ q, w. |6 X! f" | // loaded = 1;
. b5 D, s; \- b1 ` // } & V% ]6 g3 _* { I; o
. o( G7 T B1 ^& d) I( q! I/ U8 x+ j
if (keyb==0 && keyC==0 )
7 n+ u6 t6 E6 {! D9 r {% H% @0 `5 [6 k' K# `* O
P3M1 = 0x37 ; //00110111; v1 v4 |% G, o# H' @
P3M0 = 0x08 ; //00001000! g/ t& `3 i, i/ ~# Q
Delay50us();
H. ^0 |- m1 v! r9 h3 M1 u ctrl = 1;
, p4 A% w/ I. [- F }1 `: I0 x0 ~2 K6 i& K# H3 H( Z% F/ `
- \3 K, X# L( `+ ~( G: d/ N
if (keyb==0 && keyC==1 ) % Q! @% D" G0 f& q! @7 J1 j7 W
{$ {5 I9 ?' @4 Z( g8 Q6 n# M ^5 {
ctrl = 0;' B% Z3 j7 B2 X/ f$ E' o
P3M1 = 0x3F ; //00111111
o2 X7 V y; C P3M0 = 0x00 ; //00000000
- H( n* ^$ Q: b3 p }
2 J" b) F0 ^4 A: D; d }
3 w) e7 i q6 h) Z}
/ `# G+ c2 ]6 X N& X- R8 ~+ R/ f
B4 e$ l, T+ i: r* }& y) ^ l) r" S; g7 K1 J
( U) p. k; W, r* D: H3 T
0 X7 Y0 ~: I# i. j; A) C; s
- F9 k$ i. n. M8 e9 U& s: L& W
+ ?, F# {$ ]+ B& p) G
5 D7 v3 ?# a, c7 T" w
Z& h% g7 {. |( l4 @* v* t! O8 i
5 H% f9 ?- r, S& ?' p8 t1 P1 p% m: ^& _% v! P& [* _' P$ O
( N8 Q$ ^% u: e" q! K
, r$ b2 O q/ d4 ?# x |