赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
* Y' E' M$ Q8 P( q* }: msfr P3M0 = 0xb2;
$ w- h& R/ p+ J, m2 ? Isfr P3M1 = 0xb1;0 r7 R8 g& l( ~( q) g) Y
sbit keyb = P3^1 ; //10. f' B% }) L" k _
sbit keyC = P3^0; //10
6 t7 B6 Q, \# D# O///sbit s_cass = P3^5; //10 x+ s; P1 G6 \/ N; A& V0 ~) |
//sbit comm = P3^4; //10
1 n* K. Z; F8 D4 p' W//unsigned char loaded; 1 _0 h( |! B [# p$ d( \! T, S2 \
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
" t/ s4 b% |4 x, Lvoid Delay50us() //@11.0592MHz
7 A! u' X+ r R4 }$ T$ M{! `+ H, d! c% u
unsigned char i, j;# M( }' p( ]0 t6 ?
i = 1;
$ ^- U7 A# _& Y9 s/ q9 j A j = 134;
2 g8 c8 \* E! a Y) y6 u do
0 A4 s2 X2 L" s5 d2 X: @# o {/ Q: `- A, V; F. g4 j. E
while (--j);( }2 g4 a ~, O( }3 Z9 E4 T( Y+ L
} while (--i);
3 n3 u, T5 ^1 r2 ?: r4 B0 d; H}3 N0 I: G2 O* D/ d! X8 `
6 a. T5 p5 T7 E o# B: \void main(void)
. E& k; i' r1 [: b) ~& x, B{
- _+ {, X. C) ~( J+ [1 l ctrl = 0;
C5 {/ V) d% ^2 x- a0 W keyb =1;& R0 Y: _+ F5 z% V) z$ G
keyC =1;
1 ^% D* j c8 h8 D L// comm = 1;# i" L! h/ x; M3 H& }0 I; @
// s_cass = 1 ;
# L1 X6 M" g/ c7 F$ a4 v( D" G while(1): |9 J' Z O* J7 B+ S2 T& T
{
& i* y2 P9 J" L! D* @ // if (comm==0 && s_cass==1) % E7 \: _" D# ]8 r0 x: ^# ?
// {
- [+ [$ I0 W) {: n; w // loaded = 0;
. Y, y4 ?# f4 H" A7 l // }
& P* f i5 h7 s. b: J1 s // if (comm==0 && s_cass==0)
% Z1 ]" m1 X. C1 W* d // {
1 M" s! [+ x( t, _5 Q c; m/ E$ I // loaded = 1;2 G) h& { G( m7 P5 O
// }
: |" y) Y B5 e$ [* c, w! w$ h' o) z* f5 j
if (keyb==0 && keyC==0 ) 5 S2 \. `" C Y+ ?) i
{7 q2 B( M1 N! r7 E( I
P3M1 = 0x37 ; //00110111
+ [5 S) c, ]) J$ W2 V0 } P3M0 = 0x08 ; //00001000; B$ g Q( E% s' v- S
Delay50us();
# E! ]: D" e' U) t# F3 @ ctrl = 1;3 j& Q. p+ \5 @
}
& Q3 b G' [3 J" g' n1 n/ S+ C
+ P3 B s |9 D% U* T7 V if (keyb==0 && keyC==1 ) , ?$ \7 k9 ~4 [# i6 i, s. x0 V: K
{, J* S% P2 @- y
ctrl = 0;
2 F$ W* A& ]; }* X, D1 O; ~ P3M1 = 0x3F ; //00111111( V4 \$ i8 y/ n* J
P3M0 = 0x00 ; //000000000 k9 S1 }# M+ s, t7 }
}
- z# j6 }* o5 N7 d; A4 k }
. ?# e6 F: b) b$ F8 p$ X} c% b0 G% h+ k9 ^( t& k7 D
$ ]7 U# G0 y8 B
* [. g9 F7 S3 O& }3 e& |8 e5 z: G+ c6 R! h" T6 N
: h3 J# q0 i) T8 u+ i4 [ v1 P" O+ m6 Y( i9 f
$ j8 @+ v O' v, Q6 y3 c. }% |3 l8 W
. m8 o) C' A" U. p
0 @7 W% m5 Q1 {& u( }. J
) r% O; J8 ^* k6 A" @( w) C% Y- E5 G
% \3 u6 T/ q8 N4 H9 H
( j- [) Q" i+ x, f g/ o v) H3 G, F7 j* I! c* n
|