赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
revox 的b710 卡座,有一个clean键,当没有装磁带时,按下会抬起磁头组件,这样清洗压带轮的时候会比较方便。部分215机型按loop键的时候也有这功能,但有些机器却不行。经对比,发现,如果系统板零件号是1.721.210-11的板不行,1.721.210-22的就有这功能,仔细对照发现前者少部分电路,有一个单片机的零件号也不一样。 要实现这个功能得加装一部分电路,因为215的机器按钮是矩阵式的,所以加装模拟电路不容易实现这个功能,而且前者的单片机直接放到后者的板子上工作不正常, 所以不有直接加原机的电路。 考虑了一下,直接加一个单片机实现可能会比较简单,实际就是检测到键盘按下了loop键,则输出 到Q17来抬起磁头。 使用的是stc15w104相关的图片及代码如下。 装好后的那个图发贴时才发现没拍清楚,懒得重新照了。 #include <reg52.h>5 F/ N* X' ^, w3 |
sfr P3M0 = 0xb2;, i8 \, [$ X! _1 Z9 G: r6 k, K
sfr P3M1 = 0xb1;6 t6 [1 g5 W! w7 o* g. @
sbit keyb = P3^1 ; //10
4 A! F$ i7 `# n7 _- u4 a: ]sbit keyC = P3^0; //106 x/ s9 y) O; T/ Q
///sbit s_cass = P3^5; //10
/ m# ^3 L4 w! [//sbit comm = P3^4; //107 b& f6 P6 a. R" J* l5 w
//unsigned char loaded; % }8 S) a# ~5 k4 h0 p/ k
sbit ctrl = P3^3 ; //01用来控制磁头抬起的,高电位为抬起% z& O2 g) \, S$ _% \3 I. F2 V, K
void Delay50us() //@11.0592MHz
6 j, }* C! t2 [2 c J{$ f( k1 d, k3 X
unsigned char i, j;
! L+ D, V( t3 g! p. v i = 1;
G c3 b6 Y+ m/ O( W" T j = 134;
# K6 a0 S2 W8 g3 f9 A0 s" x do. t% V; \" f4 @0 m6 T- m
{8 R$ i8 p/ C5 t @0 M
while (--j);
6 N3 G) _ L) y5 y } while (--i);3 Z/ V+ Y4 {# n* }1 v* G
}
; x: P6 W# g6 x7 G
9 c/ }5 N1 i4 w% Kvoid main(void)
. {& r1 U0 n$ e) S1 h% W( ?7 ]{
0 a' x' J1 @* p2 H% u$ M ctrl = 0;
+ y4 S# S7 v; G6 p keyb =1;
: C$ J+ Q9 M4 E: r( o2 m keyC =1;
' [3 w8 y8 U! j0 S: D' G* }// comm = 1;
' O9 X+ O9 T* j& ^1 i// s_cass = 1 ;
[: ~0 Z( R0 }7 o$ i2 L5 f* z while(1)
6 j# B0 X3 R& W4 l% U* e* b {
~9 C$ _2 C+ ?# c8 K // if (comm==0 && s_cass==1)
+ C% y5 l9 S7 z# \ // {
& h# d6 H* n0 ?# ` // loaded = 0;* }' ~3 P! v5 b
// }
I3 h3 H4 z7 b3 i2 c // if (comm==0 && s_cass==0) 6 z5 M0 u5 _, M7 p" q
// {
) w2 u! x' i8 _- A; P* o8 g // loaded = 1;
/ T7 S7 e3 _3 q4 _ // }
/ ?, v- i0 e6 l8 c/ Z6 H
" ?% W, T3 Z4 l/ V if (keyb==0 && keyC==0 ) 6 S# y- C1 b0 K
{
) k: p8 O9 `4 C& O4 h$ B/ \ P3M1 = 0x37 ; //00110111
3 Q# M& N1 \4 H" x' ?9 V' [ P3M0 = 0x08 ; //000010008 r5 L r7 k( ^! }$ D ]
Delay50us();* u5 I1 i$ g3 p2 C+ @- r
ctrl = 1;
4 O% j/ {( v& ~ N/ ?: b }% `3 x! O7 y* Y# K7 n
# J& n5 [ c$ Z1 E! _- O) A
if (keyb==0 && keyC==1 ) 0 }0 G. B2 p: ?8 u; R6 ^
{/ j' }3 q) E- F6 X; y% S
ctrl = 0;
3 k5 h/ M6 d4 P2 {- h y, Z+ G P3M1 = 0x3F ; //00111111
( D. t% N6 T* P8 w P3M0 = 0x00 ; //00000000
: l! t, w; O# f }8 I" d+ H8 u% e7 m5 F. i# H
}
9 k' C7 v6 m1 h9 B}
# z; V# c5 y" P+ B0 I) x
, E( [0 N- g" D4 d- V, K
7 I) y( Q9 N5 r" [! G
$ Q# G/ m' ~5 ~ Y9 S. o
* N1 ~6 G! c4 i& v1 ~$ I3 V
1 e" _4 @& S$ w. ~5 u2 m) e
' v( }; e7 \4 [" S0 Y0 q& u2 \7 J4 \6 A* _; s9 X2 @
4 }/ ?4 H9 o2 P) q3 k( Y* U
, D2 y, e" W* q0 b r8 k5 `
' \% Q! n5 N% N. y1 b Y* L- e" W/ O" Y' `4 H9 E5 X l
: u2 }. r! D" S8 U
) B! o. p# z, u9 O0 ~+ j |