赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
' T: S/ ~: a" {% ]9 b7 jsfr P3M0 = 0xb2;
7 @$ S4 p; k8 ]9 U, tsfr P3M1 = 0xb1;
0 a0 w5 I" d/ j& v* M; u1 z: ^sbit keyb = P3^1 ; //107 D$ ~9 n* Q) z3 N
sbit keyC = P3^0; //10
3 q3 ?) O) k' a6 d# a8 F///sbit s_cass = P3^5; //10
5 M0 A3 g ^3 Y3 J% O6 `//sbit comm = P3^4; //10
1 I, X: T& D6 p& p, [/ C: P: s//unsigned char loaded;
/ q+ v: i$ K4 f \3 Gsbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
3 L1 T! [* x2 r3 v$ {6 N; uvoid Delay50us() //@11.0592MHz
+ S& {, C$ i* `7 D' j/ I{% A" ?5 Q+ M( E; }, J
unsigned char i, j;% k7 N9 p: x" P
i = 1;& d/ W' K* [6 x4 X# s; _* `$ r
j = 134;
7 V8 ]1 M6 h+ [+ N, _$ M do, [: D3 {' K% U% t" D$ X( N
{
8 X1 x$ Q8 V! c* b% v while (--j);
% I/ D( D# a! R$ m3 M* X } while (--i);
$ s; i! _. h* j! p; N} I, |7 j; S0 h7 s' j' p$ o
& v2 ~9 U: V, J* j+ }! h, @; U
void main(void)
; |. ~ z2 g8 z' _; m6 P# E{
# P. \7 G2 O) V ctrl = 0;* r. A" Z& I2 S+ R# Z+ c' d ^
keyb =1;
d( l3 K2 u- ]: E9 P7 y- ~ keyC =1;
$ F. A3 N6 J, t# S// comm = 1;
# r7 N1 B$ h/ S+ C! P# `- V8 `, k. W// s_cass = 1 ;
& m5 C6 f A1 Q( s! _* U" p0 i/ P while(1)" t; A S* J3 E* o
{
% e5 T! P4 ]4 Z% Z" \% R' s/ g // if (comm==0 && s_cass==1) + M8 |# q6 F, P& v
// {
8 W C' u/ b- g" q3 R2 @ // loaded = 0;$ h& g8 f7 l. W7 D2 G) A
// }
: T0 R5 R! b( z/ Y6 p // if (comm==0 && s_cass==0) 3 I; }1 `# o C0 S, }" Z
// {
# w8 w3 h5 W4 b" r# m // loaded = 1;- p2 x$ ?, n) f* [- b
// }
$ X# @/ R$ d) _) F& X3 B% Q, e/ L) {* R V9 z
if (keyb==0 && keyC==0 ) - v% r6 q8 ? h4 f+ Z) r+ C. @
{
( ]2 Q$ H. f' ~% Y4 C8 Q" ], m P3M1 = 0x37 ; //00110111! @! M9 Z/ s, N. N% R3 K
P3M0 = 0x08 ; //000010002 f2 x: g' }) u# P
Delay50us();
# x6 j3 l9 i$ ~7 r+ a3 D ctrl = 1;
: f% w$ K! L/ ?) S& @# v( H6 d }
" p% t4 w8 z5 }5 \0 i
D7 Y+ u/ W9 g. z* _* y4 a if (keyb==0 && keyC==1 ) & V% o! D/ H! ~" {( ?, R0 F3 v
{9 F- k0 p7 n! t0 _
ctrl = 0;5 N( y4 }/ a3 h: Z, e) o' u$ V
P3M1 = 0x3F ; //00111111! F1 _# E$ q# Q! n
P3M0 = 0x00 ; //00000000
4 r6 T7 D' Y3 a, `+ p }5 a8 ]: @4 `+ o/ F
}
/ H/ G6 W) R+ x}) }2 [4 ` \, f! g7 a1 `) j
8 o+ |- K8 M3 y: A- F; N) V* ~
1 p, r8 ] Z- K5 Q
- E2 h( u7 H4 z0 c% p
9 E! ^; V& ~% x: `6 h' q9 d+ X/ a0 N2 @' U; ^ p
4 j) \; M ~7 F& P4 W, K* R$ E
# o& _) `! o8 _: f" q) f" B3 } U
. O2 V8 J$ @; v" W! v8 P5 @# u! ?
* X* h1 X6 K d$ o' i3 Y6 w- P& [0 m
7 l9 T5 t4 I: T8 l4 h$ ~6 l! Z/ E- D. `( \
! P# _/ A- J6 r
|