赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
4 A t3 I; m3 |$ K: _: Csfr P3M0 = 0xb2;9 P! |5 }7 s- l8 e1 n' A# t
sfr P3M1 = 0xb1;$ P5 L" ? _7 T; _- J% Q( h
sbit keyb = P3^1 ; //10 W' m1 {# l% [& u4 ?! h% U
sbit keyC = P3^0; //10
5 m$ F7 H0 ?" a- B- o///sbit s_cass = P3^5; //10
+ N; b' _) F- ]( [' S2 G//sbit comm = P3^4; //10% m' ?: \/ p/ @* Z* ~9 }+ G
//unsigned char loaded;
# K1 L4 @$ O4 {2 X" E1 G/ }. @sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起- h9 {1 B: }0 x+ ^8 L4 a
void Delay50us() //@11.0592MHz
/ ]3 Q H9 i- a* [& ^+ N{7 ?2 |" t) h1 a& C& J
unsigned char i, j;) J6 Q" X4 J% C6 ^+ B
i = 1;
9 l* K4 [! a; N& ? j = 134;1 [/ v; p% a2 a7 K) ?/ W
do% a$ q6 c, e. N
{
( [! ?9 s! q% G5 {& X6 N while (--j);
! F* B8 Z8 j5 Q5 f1 W } while (--i);4 \$ d( X3 f2 T }9 _
}/ u/ l4 e, N( @! o1 o7 J3 V
1 k: }7 c/ p) H- j
void main(void)8 z: h* T' _( t. j. N# ]
{
9 ]0 y: G; o7 C8 S f) S& T" g7 [ G ctrl = 0;. d) @1 \0 y6 @8 k+ y0 n
keyb =1;6 N; X2 G, M$ q/ Z5 w; X
keyC =1;
1 f, z/ ^5 }7 t0 U2 h" P// comm = 1;
! y& @; z6 `0 M' i3 F. q+ ]: M// s_cass = 1 ;
, u: J n+ ]3 m O( Z i7 k while(1)
( v- o- n! Z- G+ n2 H! s& F {, Q5 X7 M J8 k2 L
// if (comm==0 && s_cass==1) # `+ A' r5 c( t& C+ k; J8 u
// {+ {/ Y% T8 }3 D; W8 n+ g# t
// loaded = 0;, i5 F# R6 }3 h3 ]% c) V4 b8 B
// }
/ {8 i" [) U- E2 N3 D( a1 O* X // if (comm==0 && s_cass==0)
8 ~7 w9 P7 H! v e, {+ b! X/ A9 g // {
0 h0 A4 }, \$ @6 Y* f; H, F- d3 Z // loaded = 1;
; Y5 p/ e; e2 S- D- D% n: _ // } / c6 q8 |- g- q# c# z( R
. c% j+ u3 n* M' a. y9 j( j R6 r if (keyb==0 && keyC==0 )
2 N0 C7 l/ Z- `+ S+ z1 q, | {
* N% S4 C; S2 U/ f3 r6 L" s$ n i P3M1 = 0x37 ; //00110111( z% \) {% j7 r/ J2 P
P3M0 = 0x08 ; //000010003 M# d4 G) u {, ?* B* f& e
Delay50us();# F2 d1 z' `$ g0 U. Y }$ Y# s. {
ctrl = 1;4 I: V( A7 J, {0 R; g6 j- @
} h. D/ [( o- d8 L8 f! ?
+ Z* b& H, B* \2 W/ p0 z6 M if (keyb==0 && keyC==1 ) 5 r& F1 q' y8 v" C9 N- r
{; z4 W- ?' R9 D" F2 t
ctrl = 0;- |4 j9 M9 g4 x8 @
P3M1 = 0x3F ; //00111111) s3 C" Y- a4 v8 p
P3M0 = 0x00 ; //000000001 A6 }3 K9 y ], r+ ~! }
}% n$ H9 i8 i& N# s; G" {
}
& j$ [. m1 C/ `& M9 s& u- M}! t& j& w; V) E/ |% |; a& z; L
* t. H: W( p) R! h/ F# M3 P& W
2 O) K7 W# C. d( n7 D& Z! T$ I& G0 }
, D! @( ^! o- V' c7 ~ W; C& i( M7 E* G6 R7 i% x
3 ^$ n) L/ }* I! Y9 y' j' m$ n; n4 O+ w% \
7 N) h. R% j2 r' M- U
, @3 `; w: G+ X8 K
2 v: F5 p, i2 r' j6 q% l; k+ X/ F9 v: e/ I3 {
- @$ r* T G) w0 g# e
$ Q2 z7 m& S$ a( y |