赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
6 b- K2 t' z' a6 w% ~7 A4 psfr P3M0 = 0xb2;9 ]9 o# }+ V1 j. E
sfr P3M1 = 0xb1;# ]8 B4 W$ c$ z' X1 i: N
sbit keyb = P3^1 ; //10
: `/ Y j# M7 \sbit keyC = P3^0; //109 L+ W0 C! }* k+ z& A1 O+ e3 m& ]
///sbit s_cass = P3^5; //10' I! A8 x( J( R2 P9 }9 P! m x
//sbit comm = P3^4; //10
8 a0 u; X, i' ?) W; c& f8 \& i" H/ A//unsigned char loaded; ' v) {" H, x2 F# \, c* i e4 w
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起! C: S% P X0 e. |: R1 A
void Delay50us() //@11.0592MHz
8 W6 R# g* x& x{
' F6 Q/ X* l! X unsigned char i, j;& D0 D W0 K% |
i = 1; ]8 K& z7 ^0 x
j = 134;' ~+ b) _2 R! i( i% e* n( o
do0 f# \5 L& W! _# t9 z `' _
{
# {* K! K% T, R4 |" \ while (--j);
9 a, o/ C: ~ V, c6 e: i2 d9 {, W" G! ` } while (--i);
) r6 ~% e( s# q" z# B}: G' Z/ o5 ^! B, O
4 \" R) ^8 [- j
void main(void)
* S2 B" Z0 f) g7 F! u# Z{! }# e! @' d; @+ o ~0 x& H& Y
ctrl = 0;
5 E+ t3 ~' S6 @8 o5 y& H keyb =1;
/ P: l3 E& G- X! o4 D; B. L keyC =1;+ s/ J/ [& e' Z0 P( I% d
// comm = 1;# W+ ]: x" Z0 H6 z1 i. r/ ~3 w
// s_cass = 1 ;
/ ?, I" T* M# g: I* s7 _% Z while(1)9 a# N0 i- g Z' h9 F( M& g0 U
{
: C8 d$ Y% S) e# r) G' A4 t' [, ^8 ~7 \ // if (comm==0 && s_cass==1) 4 j2 t- a, T# B& z$ ^' Y
// {
0 k. K6 T4 ?" H4 r$ Q9 a // loaded = 0;
# ^$ A! E' Y& v. J // } 8 Q5 w+ Q. j O- }: ?) U
// if (comm==0 && s_cass==0) % t; P$ z4 a: B# x) |
// {9 U0 c7 h! D5 d* d1 ~# Y
// loaded = 1;
6 @4 T2 @3 ^1 x' w* ] // }
) x$ _/ @* ~$ a* B* A9 A
% H0 o$ Z1 V/ { if (keyb==0 && keyC==0 )
: l. g2 \" R K# \ {! a* u. p" m5 t
P3M1 = 0x37 ; //00110111
% ?5 L1 w" b9 ~! ^$ h `! ` P3M0 = 0x08 ; //00001000
2 g6 _" |8 A" i$ z$ v Delay50us();$ u/ W. t; x. z; i
ctrl = 1;- ^( o- I$ e' Q" l
}# o# U, Z2 @& `2 h. Z7 ~/ Q% v
: g$ _2 [8 X. r if (keyb==0 && keyC==1 ) 3 |4 R e5 \' Q7 Z
{- T3 f. e) y: C
ctrl = 0;
; l$ [9 K- I" \7 ] P3M1 = 0x3F ; //00111111) _ O, \, _( b4 i. ?! F
P3M0 = 0x00 ; //000000003 N6 _" W* k) P: y' S& I
}
* B. B( R9 d* D/ A8 X. G% F1 t+ ~ }
! Q" ?9 B7 u7 B$ b4 _1 ?" H0 M}0 W6 u T; }/ A% d8 [0 Y3 y5 w! ~6 \
! x9 K2 [5 B6 T/ g! c' b* O( J/ x
2 K# v8 U" E& }, j, K
1 Y" | s: Z% s1 ?* M$ x
3 a9 A4 Y* U( I) I1 ~% P) _6 d
# i" @" r+ C# W* `! }
0 O8 y; j; f8 S3 t* {1 w
* a7 U6 A& V9 T
. J: W% ~% g6 J
7 I4 G9 d2 V+ v' f
$ t/ b1 @: W- ?) `* _. Z7 \" v1 U3 O0 [
/ J/ j+ r( I; b) v4 X
1 P! I" |% m7 U# K9 E |