赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
- z" K* z+ S9 O1 h* f/ t& ^2 ?! Esfr P3M0 = 0xb2;5 A$ d4 l* Y6 |' M0 d
sfr P3M1 = 0xb1;
5 D6 Q* X$ Y9 i7 M) r$ a Wsbit keyb = P3^1 ; //10, ]' d' }* u; r$ e$ F
sbit keyC = P3^0; //10
' X$ ~5 v4 ?1 h& V///sbit s_cass = P3^5; //10
1 `; F6 G6 O3 w" H, D1 `* u//sbit comm = P3^4; //10* N/ V) E1 O2 j# p& W6 c
//unsigned char loaded; 6 B5 P, o1 V% _ ?% i# M
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起
9 Z# n- y2 ~( B8 Q4 uvoid Delay50us() //@11.0592MHz# W- {& _& v( W5 a
{
2 c! \$ ]" A# H( U unsigned char i, j;$ K; T& j/ K: W3 ?( u
i = 1;
1 W8 ^- q* m3 l4 S3 W j = 134;
) F5 }2 t1 j0 p! P, Z% ` do) L6 e3 @" O! _: f' b: h
{
6 v2 @6 \3 j1 ]5 q" @! G while (--j); h( w5 E0 m) g" k
} while (--i);
. R2 |: K9 f9 \+ `- H/ p8 m}
( ~5 u3 F n9 U1 ]" V/ f( N4 L7 |
void main(void)5 @- w4 ]2 A) }' r
{
6 h, n4 C5 L7 e7 g/ ]8 m ctrl = 0;& k! P/ n) U% I4 G! U
keyb =1;
( a+ _8 Z) H' R2 I& [# c keyC =1;1 m: ]3 D4 C$ b! Q# | A
// comm = 1;! A% P. o& J7 C( g& Y6 K
// s_cass = 1 ; 7 e+ L9 C( `8 M0 Y7 n6 S
while(1)
: d; w, V0 l% a% G' V" R R {" x8 ~7 o U% }
// if (comm==0 && s_cass==1)
: t/ P' x; I& A+ M // {7 C% C7 z' h+ c" X; O9 K
// loaded = 0;
( H/ `5 I4 n6 `3 u6 N! P" g { // }
; B5 \6 C' N! | // if (comm==0 && s_cass==0) 9 j( h* k0 K; Q2 i) }. d
// {: j( I; j/ k( u
// loaded = 1;
2 y$ Y+ p: x! t7 B // } , g& O/ F' p+ U* l& R
+ \5 H/ M, A ]1 r# z/ x, e. e if (keyb==0 && keyC==0 ) & K7 O+ j8 T* m/ @3 e) P K5 c
{
6 ^2 q+ g$ ~; b/ h3 I& Z P3M1 = 0x37 ; //00110111; @3 g' M, A* l3 |/ e
P3M0 = 0x08 ; //00001000
' T% p2 B! h8 m1 J; J& s Delay50us();6 e8 ^3 }* ^5 P9 Y! s, t+ X/ u
ctrl = 1;$ ]8 ?4 @) v4 k7 f5 ~
}
8 C6 J. _7 ]0 ~/ _5 \: D9 u& }5 p/ S" K; ^6 O2 ~ l; q
if (keyb==0 && keyC==1 )
: j; w: c7 ?3 q7 N; K+ I {
3 w0 _3 m6 b; W# M ctrl = 0;- b$ p% }7 c/ @( Q S
P3M1 = 0x3F ; //00111111
! L% M' }% }' ]; d# l5 \ P3M0 = 0x00 ; //000000001 t' e) b( i+ H1 M; g3 i6 ~& ?; Z7 M; n
}
9 I8 T$ F: T' V* D }
/ x5 {% ]0 `2 P% L5 Q" F}
) [7 ]* e0 d# N$ S$ V/ `6 ]+ u/ f$ [1 |, A2 }( M& `6 u p
" L$ a! D$ v" L9 d" t9 N$ F; a4 @; S$ a6 Y* v5 U9 L( e
! o: s8 v* G6 e5 z/ k/ B
( n# H- Y; G. `7 w
* _; s( s( A5 Y
$ z- v$ X+ b6 Z: v8 g
7 G$ V; ^% }+ o7 _" k- C5 n' J7 Q0 F- y
" C4 K2 \" I5 }- f
0 s0 T7 s, S+ ^' ~& K/ w* }) f$ i/ ]9 _+ p/ f, p3 d
6 {" X, ~! U7 R1 u
0 x' \/ }- G5 l |