赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>
/ B2 n* N( ~1 e7 {sfr P3M0 = 0xb2;( ~0 k% i$ Q" O9 g- A* o& K: u
sfr P3M1 = 0xb1;
5 Q: `1 ~$ Y/ Y0 v- t; @7 N% ]sbit keyb = P3^1 ; //10
q c# n$ f3 T. Tsbit keyC = P3^0; //107 {; f. R$ ^( m4 {( X
///sbit s_cass = P3^5; //10" a) j9 t1 A/ v7 ], B S2 z; T
//sbit comm = P3^4; //10
( O+ j% `; V0 e( Q//unsigned char loaded;
; y0 i2 H1 b9 h0 Q- o* C: e! I( J; ssbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起# Z+ N& H* j5 ?; ~# [+ \- ]
void Delay50us() //@11.0592MHz
% q0 L9 ]8 G2 F+ S' f! e{
) `( S+ ~1 R# q* U* w unsigned char i, j;) ?' \6 e! Y& b9 |
i = 1;
2 q7 K' }) P2 T) B0 W5 S$ y j = 134;
7 ~9 S: w& p* g( w5 k8 R9 d4 U) b do
" |8 d9 B: ]6 `. F {3 i# l. H0 U1 N# M$ E3 P! o+ t0 e
while (--j);2 s! m; P* G! `) F9 c4 g1 A0 R
} while (--i);2 Y9 v0 I5 k+ g# _
}
0 k6 A4 p4 y' E$ _$ c, v0 P
% M( V% ?, q- D, k6 |! Fvoid main(void)+ a% t6 R0 u1 c6 w& I, z
{" ~1 I: U* k$ E, m# l
ctrl = 0;
* b1 w4 `1 ~- B8 y7 o keyb =1;% _* S: X" @, e7 `$ _) h- C
keyC =1;
; ? E2 j! L0 y- t* }// comm = 1;- X% P. t1 s$ l7 u% U3 {3 W
// s_cass = 1 ;
" C9 F7 u$ K F$ U4 M while(1)4 r4 P, R: ], H1 h! V1 t' T
{+ v$ F- g/ K+ h; w6 ]$ |7 n `9 U" X
// if (comm==0 && s_cass==1)
% @; o, `3 h B( U/ O( b // {
( [1 B4 c6 |/ u, } // loaded = 0;
* u A4 ]& V( ] // }
5 t; X+ o2 X2 \) k) F) @ // if (comm==0 && s_cass==0) 4 ~; q" R4 i) A' l
// {
. a8 T9 s9 G7 C/ Z/ \9 A! e // loaded = 1;7 j P* l8 _ T7 D$ Z1 t/ _6 ?. w" |
// } S8 n& G2 [4 p: ~7 I7 d
# }3 r! n! _* U) S" t3 \+ U
if (keyb==0 && keyC==0 )
" M$ E0 B) L+ j0 ~# K% K X {
9 n: d5 ]6 o9 R, J P3M1 = 0x37 ; //00110111
: y. y: j% \6 o' I5 O1 X P3M0 = 0x08 ; //00001000
; M3 \1 ?% `9 Y3 T9 Z6 m$ n# H Delay50us();
8 }& g1 }% r- a" j" q ctrl = 1;5 |6 Z9 \1 q, r o r8 }6 [
}
- E( Y- u& o) y, T5 P# a- j; q1 Y0 T+ k: ^8 j% \, f" s
if (keyb==0 && keyC==1 ) ; o- R) O8 X7 k: l
{
& q8 g% d6 y0 A: ^0 T# |0 R ctrl = 0;! h* `1 ?2 j1 ^7 K, T/ e
P3M1 = 0x3F ; //00111111# Y) L1 x/ C4 W! N5 `. N( _
P3M0 = 0x00 ; //00000000
. e5 m+ P1 h! q' l" ?* m: J0 s5 u }/ r; }8 P/ @3 e# ?& `
}+ o3 J$ s! f% Z$ {# Z4 _
}. T4 `& ~7 B( r5 p. ]
4 J, G" B+ C9 j
9 B7 ?: `0 U5 x7 D
, ]' N2 ]$ q4 {! \5 o, k1 s- Y) |+ ]
1 j& v2 ?' a! `1 t5 h# t' p, W$ ]8 S" o, \: Z2 v6 B
1 H! x8 T5 k; h) o* X5 P8 N3 I2 S
, }9 b Z' {, V* X
+ c9 u: D, q+ c! O5 d' i/ {& j- E) d8 l$ |. T; Z
: {; w2 w) S5 M- i* m
, O! x6 x, q, t6 _2 k% b8 p
0 H1 F, V( u. B; s$ m4 O) {; `' p. A0 v- v. j
|