赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
$ Y4 e6 x& U6 e, p5 Esfr P3M0 = 0xb2;$ w5 n2 F0 v7 B; m( e' M0 b+ S
sfr P3M1 = 0xb1;
% o, M$ Z, T$ E7 P& [& \8 d( Osbit keyb = P3^1 ; //10% M- b+ a, J+ a$ z3 s3 q7 I$ u
sbit keyC = P3^0; //10: ]# U4 `% i1 X- x8 l7 l
///sbit s_cass = P3^5; //102 d+ e) e% b; V
//sbit comm = P3^4; //10
! b' J( k# l* W# \$ Q! s5 e//unsigned char loaded; 6 F$ Y: M6 D. U
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起5 S! y# s# h' _/ s. y
void Delay50us() //@11.0592MHz1 _- k8 O$ ~0 }, k$ C0 Q& u u
{$ _3 \) w, e) m+ Z; B( S
unsigned char i, j;
; w: m+ s7 U4 R i = 1;
( ?. @ a; \' f& { q3 S( m# ^ j = 134;6 T! U# y0 @6 X5 S* |. W, p
do( o% T9 S4 k1 r6 ~9 T7 V m
{
* R9 e+ |% v- V/ y" S1 d while (--j);
0 R+ J1 c9 Z, x7 [. c3 l } while (--i);, ~, [8 o7 d% D3 _5 A# K
}
+ s4 G1 N5 v; g4 s0 [4 c1 h. K/ U4 {7 _# G
void main(void)
! B/ a6 N/ |9 W7 m9 w: C{
# o6 \ K5 [- G ctrl = 0;+ @" f/ u' |( c/ G
keyb =1;
! e2 f) w H3 N* G% f keyC =1;7 n+ k: S. t3 g* A& L. k5 @- L
// comm = 1;
# ~, O* k3 x, ]7 x// s_cass = 1 ;
( t2 B' N% e( ~: b) t while(1)
9 p( M2 k- m5 W4 `5 I$ y; Y& u" n {$ W- n$ i1 J4 z' t/ A/ n3 ?
// if (comm==0 && s_cass==1) 8 l. v0 f& t6 @
// {
& _: v! _6 C* Y. _4 F: \ s // loaded = 0;
3 }+ p+ [% _/ D& W // } * g: F0 Q) G; m3 Q; i
// if (comm==0 && s_cass==0) 3 F2 [ Q, h( O* J, e8 O
// {
0 E! D9 G+ s2 i // loaded = 1;
2 }3 p" W. K) W! Z // } 8 Y2 j2 e9 H9 o: {5 z$ h. o5 l" c
1 ]/ Y! a) r& [% C if (keyb==0 && keyC==0 )
9 A' s) a+ |/ z6 W {
" i- b# g& Q- b' ^1 n P3M1 = 0x37 ; //00110111: h. e8 ~& [3 Q7 a
P3M0 = 0x08 ; //00001000# w5 S) D8 E V
Delay50us();5 x% B9 V* ]* Q
ctrl = 1;5 S5 T9 b. N, u' _
}+ }9 x4 `( C3 J: ^' i; V8 i) `
* }5 H& e) J$ T" j8 z# N if (keyb==0 && keyC==1 )
( I% F+ e9 j4 N {
" Z' P _9 G& ]/ [ ctrl = 0;
) z4 _7 }+ @" x P3M1 = 0x3F ; //00111111
3 e- ?+ K" i. Q1 K: i& y P3M0 = 0x00 ; //00000000& e/ Q/ w$ I4 o7 `0 f4 Y
}
$ B2 ]5 o& B' y1 j3 M( U O) I }
( [ @' `! A5 n}0 R7 V D. s! D! F6 N& C* I
i" m! h9 j6 t8 A( {
. a! @/ E0 a, Y+ X+ u
: @1 \( ^5 v. C2 y1 M6 D9 U
' d! t5 q+ h+ A2 i: R4 t" s
% f( G* {' C# M; H
: b, @+ H# s( D- r# M# |8 m6 @1 {2 [% S
' F8 r& z7 @0 S7 a' P
! U5 H0 U7 N9 B, S8 ]5 E5 f
$ e6 e n: p, v
, R9 a# Q3 L9 P5 y: L4 ]9 p
* \5 J! x4 K2 q
- T7 c9 z& \7 |9 Y, ` s |